블루프린트와 렌더 타깃을 사용하여 텍스처 만들기

Windows
MacOS
Linux

Creating_Textures_Header_00.png

언리얼 엔진 4 (UE4) 프로젝트에 쓸 텍스처를 만들 때, 일반적으로 Adobe Photoshop 이나 GIMP 같은 외부 2D 프로그램을 사용해야 할 것입니다. 이런 방식의 콘텐츠 저작이 뛰어난 결과물을 내기에는 좋지만, UE4 안에서 이와 같은 콘텐츠를 만들 수 있다면 도움이 될 수 있는 경우도 있습니다. 여기서는 블루프린트와 렌더 타깃을 사용하여 UE4 프로젝트에 사용할 텍스처를 만드는 방법을 살펴보겠습니다. 먼저 UE4 프로젝트에서 새 기본 레벨을 만든 뒤, 사용할 렌더 타깃을 생성하고 구성하는 것입니다.

1 - 프로젝트 구성

여기서는 프로젝트에서 사용할 레벨을 새로 만드는 법을 알아보겠습니다.

새 기본 레벨 생성

텍스처 생성 블루프린트를 넣을 기본 레벨 을 새로 만들어 두면, 다른 것이 텍스처 생성 프로세스에 영향을 주지 않도록 하여 관리가 쉬워집니다. UE4 에서 기본 레벨을 새로 생성하는 방법은 다음과 같습니다:

  1. 메인 툴바 에서 파일 > 새 레벨 로 이동합니다.

    New_Level_01.png

  2. 표시되는 새 레벨 창에서, 기본 레벨 옵션을 선택합니다.

    New_Level_02.png

  3. 기본 레벨 옵션을 클릭하고나면, UE4 는 아무것도 들어있지 않은 새 레벨을 로드합니다. 그 작업이 완료되면, 메인 툴바의 저장 버튼을 클릭하여 레벨을 저장하고, 이름을 BlueprintTextureCreation 라 합니다.

    New_Level_03.png

레벨을 생성하고 저장했으니, 다음에는 필수 애셋 생성 및 구성에 대해 알아보겠습니다.

2 - 필수 애셋 생성 & 구성

여기서는 블루프린트와 렌더 타깃을 사용하여 텍스처를 생성하는 데 필요한 애셋을 생성하고 구성하는 방법을 알아보겠습니다.

머티리얼 생성 & 구성

  1. 콘텐츠 브라우저에 우클릭한 뒤 기본 애셋 생성 부분에서 머티리얼 옵션을 선택하여 새 머티리얼을 만듭니다.

    Create_RTT_Material_01.jpg

  2. 머티리얼 이름을 RT_Material_00 로 하고 머티리얼에 더블클릭하여 머티리얼 에디터 에서 엽니다.

    Create_RTT_Material_02.jpg

  3. 머티리얼 에디터에서 RT_Material_00 을 연 채로, 다음 머티리얼 표현식 노드를 머티리얼 그래프 에 추가합니다.

    • Texture Coordinate

    • Constant

    • Append

    • Noise
      Create_RTT_Material_03.jpg

  4. 필수 머티리얼 표현식 노드를 머티리얼 그래프에 추가했으면, 아래 그림처럼 노드를 연결하고, 적용 버튼을 눌러 머티리얼 컴파일을 완료합니다.
    Create_RTT_Material_05.jpg

3 - 렌더 타깃 생성 & 구성

  1. UE4 에디터를 열고 콘텐츠 브라우저 안에 우클릭합니다. 표시되는 컨텍스트 메뉴에서 고급 애셋 생성 섹션을 찾습니다.

    Create_RTT_01.jpg

  2. 고급 애셋 생성 메뉴에서 머티리얼 & 텍스처 섹션에 커서를 올리고 표시되는 애셋 목록에서 렌더 타깃 옵션을 선택합니다.

    Create_RTT_02.jpg

  3. 새로 생성되는 렌더 타깃 이름을 RT_00 라 합니다. 콘텐츠 브라우저가 다음 그림과 같아 보일 것입니다:

    Create_RTT_03.jpg

4 - 블루프린트 구성

렌더 타깃과 필수 머티리얼 구성을 마치고 사용할 준비가 되었으면, 모든 것을 블루프린트에 모을 차례입니다. 여기서는 하이트 필드 페인터 블루프린트의 다양한 부분을 구성해 보도록 하겠습니다.

블루프린트 생성 & 구성

렌더 타깃과 머티리얼 작업이 가능한 블루프린트를 생성하는 방법은 다음과 같습니다.

  1. 콘텐츠 브라우저 의 우클릭 컨텍스트 메뉴에서 기본 애셋 생성 부분의 블루프린트 옵션을 선택하여 블루프린트를 새로 만듭니다.

    Create_Blueprint_01.png

  2. 부모 클래스 선택 창에서 Actor 클래스를 선택한 뒤 블루프린트 이름을 BP_Texture_Creator 로 설정합니다.

    Create_Blueprint_02.png

  3. BP_Texture_Creator 블루프린트를 더블클릭하고 열리면, 이벤트 그래프 탭을 클릭하여 이벤트 그래프를 엽니다.

    Create_Blueprint_03.png

  4. 이벤트 그래프에 다음 블루프린트 노드를 추가합니다:

    • Custom Event

    • Draw Material to Render Target

    Create_Blueprint_04.png

  5. Custom Event 노드를 선택하고 F2 키를 눌러 Custom Event 노드 이름을 Bake 로 변경합니다. 그런 다음 그 출력을 Draw Material to Render Target 노드 입력에 연결합니다.

    Create_Blueprint_05.png

  6. 다음 Draw Material to Render Target 노드에서 이전에 생성한 렌더 타깃을 Texture Render Target 슬롯에 로드합니다. Select Asset (애셋 선택) 옆의 작은 흰색 삼각형을 클릭한 뒤 목록에서 RT_00 렌더 타깃을 찾아 클릭하여 선택하면 됩니다. 완료되면 Material 섹션에 대해서도 RT_Material_00 를 선택하여 같은 작업을 해 줍니다.

    Create_Blueprint_06.png

  7. 이제 컨스트럭션 스크립트 탭을 클릭하고 컨스트럭션 스크립트 노드를 끌어 놓아 Executable actions (실행가능 액션) 메뉴를 띄웁니다.

    Create_Blueprint_09.png

    참고로 DrawMaterialToRenderTarget 는 UE4 에디터 외부의 컨스트럭션 스크립트에서는 작동하지 않습니다. 즉 실행시간에 이 작업을 해도 작동하지 않는다는 뜻입니다.

  8. 이 메뉴에서 검색창에 Bake 라 입력하여 기존 생성한 Bake 이벤트를 찾은 후, 클릭하여 그래프에 추가한 뒤, 컨스트럭션 스크립트의 출력을 Bake 노드의 입력에 연결합니다.

    Create_Blueprint_07.png

  9. 마지막으로 컴파일, 저장 버튼을 눌러 블루프린트를 컴파일하고 저장합니다.

    Create_Blueprint_08.png

블루프린트 구성이 완료되었으니, 다음 단계에서는 텍스처를 캡처하고 저장하여 머티리얼에서 무엇이 생성되었는지 표시하도록 하는 방법을 살펴보겠습니다.

5 - 텍스처 생성 & 최종 결과

여기서는 지금까지의 모든 부속을 한 데 모아 생성된 머티리얼에 따라 텍스처 애셋을 생성하고 저장하는 법을 살펴보겠습니다.

텍스처 생성

필수 부속에 대한 생성 및 구성 작업이 완료되었으니, 만들어진 텍스처를 생성하고 저장하는 방법을 살펴보겠습니다.

  1. 콘텐츠 브라우저에서 BP_Texture_Creator 블루프린트를 찾아, 레벨에 끌어 놓습니다.

    Create_Textures_01.png

  2. 콘텐츠 브라우저에서 RT_Material_00 머티리얼을 찾아 더블클릭하여 엽니다. 열리면 Noise 머티리얼 표현식 노드를 선택합니다.

    Create_Textures_02.png

  3. Noise 머티리얼 표현식을 선택한 채 디테일 패널로 이동하여 다음 각 파라미터에 다음과 같은 값을 입력합니다. 완료되면 적용 버튼을 눌러 머티리얼을 컴파일합니다.

    Create_Textures_03.png

    • Scale: 2.0

    • Levels: 8.0

    • Output Min: -0.01

    • Level Scale: 3.0

  1. 레벨에 배치된 BP_Texture_Creator 블루프린트를 선택하고 아무 방향으로나 살짝 움직여 콘텐츠 브라우저에 있는 RT_00 렌더 타깃을 업데이트합니다. 이 작업을 하면, RT_00 렌더 타깃이 업데이트되어 RT_Material_00 에 정확히 무엇이 있는지 표시됩니다.

    Create_Textures_04.png

    머티리얼에 가해진 변경사항을 확인하거나 업데이트할 필요가 있을 때마다, 블루프린트를 살짝 움직여 줘야 합니다.

  1. 콘텐츠 브라우저에서 RT_00 렌더 타깃에 우클릭하고 메뉴의 렌더 타깃 액션 부분에서 Create Static Texture (스태틱 텍스처 생성) 옵션을 선택하여 RT_Material_00 출력을 표시하는 텍스처 애셋을 새로 만듭니다.

    Create_Textures_05.png

최종 결과

완료되면 RT_Material_00 콘텐츠를 표시하는 2D 텍스처가 새로 생길 것입니다. 이제 이것을 원하는 다른 머티리얼 어디서나 사용할 수 있습니다.

Create_Textures_06.png

변경사항을 확인하기 위해서는 머티리얼을 컴파일하고 블루프린트를 살짝 움직여 줘야 변경사항이 렌더 타깃에 전파된다는 점, 기억해 주시기 바랍니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback