언어:
페이지 정보
태그:
수준별:
엔진 버전:
언리얼 엔진

3. 블루프린트 구성

언리얼 엔진

렌더 타겟과 필수 머티리얼 구성을 마쳤으면, 그 전부를 블루프린트로 모을 차례입니다. 여기서는 하이트 필드 페인터 블루프린트의 다양한 부분을 구성하는 법에 대해 다루겠습니다.

블루프린트 생성 & 변수 구성

  1. 콘텐츠 브라우저의 우클릭 메뉴에서 기본 애셋 생성 부분의 블루프린트 클래스 옵션을 선택합니다.

    HFP_BP_Setup_00.png

  2. 부모 클래스 선택 창에서 Actor 를 선택하고 이름을 HeightFieldPainter 라 합니다.

    HFP_BP_Setup_01.png

  3. HeightFieldPainter 블루프린트를 더블클릭하여 열고 이벤트 그래프 탭을 선택합니다. 이벤트 그래프가 열리면, 다음과 같은 변수를 추가합니다.

    HFP_BP_Setup_02.png

    변수 이름

    변수 유형

    기본 값

    HeightfieldRT

    Texture Render Target 2D

    없음

    PainterMaterialInstance

    Material Instance Dynamic

    없음

    MouseDown

    Bool

    없음

    ForceSplatMID

    Material Instance Dynamic

    없음

    InteractionDistance

    Float

    1000.0

    BrushSize

    Float

    0.04

    BrushStrength

    Float

    1.0

컴포넌트 구성

컴포넌트 탭에서 컴포넌트 추가 버튼을 누르고 Static Mesh (스태틱 메시) 컴포넌트를 블루프린트에 추가합니다. 스태틱 메시 컴포넌트가 추가되고나면, 스태틱 메시 컴포넌트를 선택하고 다음과 같이 옵션을 구성해 줍니다.

HFP_BP_Setup_06.png

섹션

프로퍼티

필수 애셋

트랜스폼

모빌리티

없음

무버블

스태틱 메시

스태틱 메시

SM_Plane1000_512

없음

머티리얼

머티리얼

HeightfieldPainterMaterial

없음

콜리전

Generate Overlap Events

없음

체크됨

콜리전

콜리전 프리셋

없음

OverlapOnlyPawn

컨스트럭션 스크립트 구성

컨스트럭션 스크립트는 2D 렌더 타겟 생성 및 할당과 아울러 필수 다이내믹 머티리얼 인스턴스를 생성 및 할당하는 데도 사용됩니다. 이미 없는 경우, 컨스트럭션 스크립트 탭을 클릭하고 다음 코드를 블루프린트 컨스트럭션 스크립트에 복사해 넣으면 됩니다.

Copy Node Graph

HFP_BP_Setup_03.png

Trace from Camera 함수 구성

이 함수 구현 방법은 두 가지 있습니다. 첫 번째는 주로 평면이나 기타 평평한 표면에 약간의 수학 및 작업이 필요합니다. 두 번째는 Find Collisoin UV 노드를 사용하는 것으로, 메모리는 더욱 많이 사용하지만 모양에 상관 없이 어떤 스태틱 메시 컴포넌트 에서도 작업 가능할 것입니다 (UV 이음새는 여전히 부작용을 유발합니다). 구현 메서드는 아래에서 선택할 수 있습니다.

구현 메서드 선택

Method 1

Method 2

Trace from Camera (카메라에서 트레이스) 함수는 하이트 값을 올려야 하는 스태틱 메시상의 위치를 결정하는 데 사용될 것입니다. 그 위치는 플레이어 카메라 중앙에서 월드로 광선을 쏘아 알아냅니다. 그 광선이 스태틱 메시와 교차되면, 그 교차 위치를 올리게 됩니다. Trace from Camera 함수 구성 방법은 다음과 같습니다.

  1. 함수 탭의 작은 (흰색) 더하기 부호를 클릭하여 새 함수를 만들고 이름을 TraceFromCamera 라 합니다.

    HFP_BP_Setup_04.png

  2. TraceFromCamera 함수를 열고, 다음 블루프린트 코드를 블루프린트에 복사합니다. 아래 그림에 커서를 올린 뒤 Copy Expression Graph (표현식 그래프 복사) 옵션을 선택한 뒤, 코드를 선택하고 복사, TraceFromCamera 함수에 붙여넣으면 됩니다.

    Copy Node Graph

    HFP_BP_Setup_05.png

    블루프린트를 컴파일하고 저장해야 사용할 수 있다는 점, 잊지 마세요.

이벤트 그래프 구성

모든 필수 부품 생성 및 구성이 완료되었으니, 이벤트 그래프에서 그 모든 부분을 서로 연결할 차례입니다. 완성된 블루프린트 코드를 블루프린트에 복사할 수 있는데, 아래 그림에 커서를 올리고 Copy Node Graph (노드 그래프 복사) 옵션을 선택한 뒤, 제공된 블루프린트 코드를 하이트 필드 페인터 블루프린트에 복사해 넣으면 됩니다.

Copy Node Graph

HFP_BP_Setup_07.png

블루프린트 코드를 복사하여 붙여넣을 때, Event Begin Play 노드가 그래프에 추가되지 않습니다. Event Begin Play 노드를 추가하고 Enable Input 입력에 연결해 주시기 바랍니다.

HFP_BP_Setup_08.png

필수 블루프린트 구성이 완료되었으니, 다음에는 UE4 안에서 하이트 맵 페인터를 사용하는 법을 알아보겠습니다.

이 메서드 사용을 위해서는 에디터에서 Support UV from Hit Result (히트 결과에서 UV 지원) 기능을 켜야 합니다. 자세한 방법 관련 정보는 트레이스에서 UV 좌표 구하기 문서를 참고하세요.

  1. 함수 탭의 작은 (흰색) 더하기 부호를 클릭하여 새 함수를 만들고 이름을 TraceFromCamera 라 합니다.

    HFP_BP_Setup_04.png

  2. TraceFromCamera 함수를 열고 다음 블루프린트 코드를 자신의 블루프린트에 복사합니다. 아래 그림에 커서를 울론 뒤 Copy Expression Graph (표현식 그래프 복사) 옵션을 선택하고, 코드를 선택한 뒤 복사 후 TraceFromCamera 함수에 붙여넣으면 됩니다.

    Copy Node Graph

    HFP_BP_Setup_01.png

    블루프린트를 컴파일하고 저장해야 사용할 수 있다는 점 잊지 마세요.

이벤트 그래프 구성

모든 필수 부분 생성 및 구성이 완료되었으니, 여러가지 다양한 부분을 이벤트 그래프에 모아 놓고 연결해 줄 차례입니다. 완성된 블루프린트 코드를 블루프린트에 복사해 넣는 법은, 아래 그림에 커서를 올리고 Copy Node Graph (노드 그래프 복사) 옵션을 클릭한 뒤, 제공된 블루프린트 코드를 자신의 하이트 필드 페인터 블루프린트에 복사해 넣으면 됩니다.

Copy Node Graph

HFP_BP_Setup_02.png

블루프린트를 복사 붙여넣기할 때, Event Begin Play 노드는 그래프에 추가되지 않습니다. Event Begin Play 노드를 추가하고 Enable Input 입력에 연결했는지 확인하세요.

HFP_BP_Setup_08.png

이제 필수 블루프린트 구성이 완료되었으니, 다음에는 UE4 의 하이트 맵 페인터 사용법을 알아보겠습니다.