엔진에서 텍스처가 정상적으로 표현되지 않을 떄 (UV Channel 관련)


블랜더에서 정상으로 텍스처가 출력되는 오브젝트를 언리얼 엔진으로 옮겼더니 텍스쳐가 출력 되지 않는 문제가 있어 살펴보았습니다.

약간은 신기해 보이는 현상이지만 거의 UV문제일 것으로 예상하고 해당 부분을 확인해 봅니다. 


문제 상황

블랜더에서의 모습


언리얼에서의 모습


확인해보니 문의 주신대로 블랜더에서는 정상, 언리얼에서는 텍스쳐가 출력되지 않고 있습니다. UV채널 문제로 예상했으니 UV 정보를 살펴봅니다.


원인 파악

언리얼 엔진에서 스타틱 매쉬 에디터를 열고(메쉬에 UV 정보가 있으니) UV정보를 살펴봅니다. 엔진에서 기본적으로 텍스쳐 표현에 쓰이는 UV0 채널이 비어 있습니다.

스타틱 매쉬 에디터, UV 0


 UV1정보를 살펴보니 이쪽에 언랩 작업된 정보가 있는 것을 볼 수 있었습니다.
 모델링시 UV 채널을 추가로 하나 더 생성된것으로 유추해봅니다.

스타틱 매쉬 에디터,UV 1



  블랜더 에서도  확인해보면 UV Channel_1 이 추가 되어 있는 것을 볼 수 있습니다.

 Blender-UV Editing-Data

 Blender-UV Editing-Data


해결 방안

단순히 UV 채널이 추가 되어 있는 문제로,  FBX의 사용하지 않는 UV채널을 정리해주면 간단하게 해결 할 수 있습니다.

블랜더에서 UV channel1을 삭제



FBX를 다시 익스포트하여 Unreal Engine으로 Import.


추가 정보

혹시 어떠한 이유로 강제로 UV채널을 추가하여 사용했다면 아래 그림처럼 Texture Sample에 TexCoord노드를 연결 시킨 다음 좌표 인덱스를 UV 정보가 있는 인덱스 번호로 지정해 주면 됩니다.

Unreal Engine - Material Editor -TexCoord 





*. 해당 문제 해결을 통해 UV Channel이 추가적으로 이용될 수 있다는 부분에 대해서도 알고 가면 좋을 것 같습니다~  





댓글

이 블로그의 인기 게시물

Making Dice (Blender, Quixel Mixer)

Bake Normal map & ID map (With Blender, Substance)

게임을 만드는 것에 대하여 (1)