머티리얼에 모션을 추가하는 기능은 불, 물, 연기와 같은 이펙트를 재현할 때 없어서는 안 되는 필수 기능입니다. Panner 머티리얼 표현식 노드를 사용하면 매우 저렴하고 효과적인 방식으로 모션을 추가할 수 있습니다. Panner 노드는 텍스처를 U나 V 또는 둘을 조합한 방향으로 이동하여 시간이 지남에 따라 변경되는 UV 좌표를 생성합니다.
UV 좌표 애니메이팅이란
UV 좌표 애니메이팅 또는 UV 패닝은 텍스처의 UV 좌표를 수평(U 방향) 또는 수직(V 방향)으로 이동하여 복잡한 애니메이션이 일어나고 있는 것처럼 연출합니다. 아래의 예시에서는 시작용 콘텐츠의 T_Fire_Tiled_D 텍스처가 U 방향(수평)으로 패닝되어 불이 움직이는 것처럼 보입니다.
Panner 노드 살펴보기
팔레트 또는 우클릭 컨텍스트 메뉴에서 Panner 를 검색하여 머티리얼 그래프에 Panner 머티리얼 표현식 을 추가할 수 있습니다. P 를 누른 채 머티리얼 그래프를 아무 데나 클릭하여 마우스 포인터 위치에 Panner를 삽입할 수도 있습니다. Panner 머티리얼 표현식은 좌표(Coordinates) 와 시간(Time) 이라는 2가지 입력을 받습니다.

프로퍼티 | 설명 |
---|---|
좌표(Coordinate) | 이후에 표현식으로 수정할 수 있는 베이스 UV 텍스처 좌표를 받습니다. |
시간(Time) | 현재 패닝 위치를 결정하는 데 사용되는 값을 받습니다. 보통 지속적인 패닝 이펙트를 제공하기 위해 Time 표현식이 사용되지만, 특정 오프셋을 설정하거나 블루프린트를 통해 패닝을 제어하기 위해 Constant 또는 Scalar Parameter도 사용할 수 있습니다. |

프로퍼티 | 설명 |
---|---|
속도 X(Speed X) | 수평 또는 X 방향으로 텍스처 좌표를 이동하는 속도입니다. |
속도 Y(Speed Y) | 수직 또는 Y 방향으로 텍스처 좌표를 이동하는 속도입니다. |
상수 좌표(Const Coordinate) | 좌표에 연결이 없는 경우에만 사용됩니다. |
소수 부분(Fractional Part) | 더 높은 정밀도를 위해 패닝 계산 결과의 소수 부분만 출력합니다. 출력 값은 0 이상, 1 미만입니다. |
머티리얼에서 UV 좌표를 애니메이팅하는 방법
다음 단계를 따라 UV 패닝으로 텍스처를 애니메이팅하는 머티리얼을 생성합니다.
이 튜토리얼에서는 언리얼 엔진 시작용 콘텐츠 에 포함된 텍스처를 사용합니다. 프로젝트에 시작용 콘텐츠가 포함되어 있지 않은 경우 콘텐츠 이주하기 페이지에서 프로젝트 간에 콘텐츠를 이동하는 방법을 살펴보세요. 이 방법으로 새 프로젝트를 만들지 않고도 프로젝트에 시작용 콘텐츠를 추가할 수 있습니다.
-
먼저, 새 머티리얼을 생성합니다. 콘텐츠 브라우저에서 우클릭 하고 컨텍스트 메뉴의 기본 에셋 생성(Create Basic Asset) 섹션에서 머티리얼(Material) 을 선택합니다.
-
콘텐츠 브라우저에서 머티리얼 섬네일을 더블클릭 하여 머티리얼 에디터에서 머티리얼을 엽니다.
-
StarterContent 폴더에서 T_Fire 를 검색합니다. 콘텐츠 브라우저에서 T_Fire_Tiled_D 텍스처를 클릭하여 머티리얼 그래프로 바로 드래그합니다.
-
그래프에 Panner 머티리얼 표현식을 추가합니다. 단축키( P )를 누른 채 머티리얼 그래프에서 클릭하거나, 팔레트에서 'panner'를 검색하면 됩니다. 그래프의 모습은 아래와 같습니다.
-
Panner의 출력을 텍스처 샘플의 UVs 입력에 연결합니다. 텍스처의 RGB 출력을 메인 머티리얼 노드의 Base Color 입력에 전달합니다.
-
텍스처를 패닝하려면 먼저 Panner 머티리얼 표현식을 선택한 다음 디테일(Details) 패널에서 속도 X 파라미터를 0.1 로 설정합니다.
-
속도 X 를 0.1 로 변경하자마자 프리뷰 창에 있는 불 텍스처가 수평으로 움직이기 시작하는 것을 볼 수 있습니다.
-
머티리얼을 레벨의 오브젝트에 적용할 수 있도록 컴파일(Compile) 및 저장(Save) 합니다.
팁 & 트릭
패닝을 다른 머티리얼 표현식과 조합하여 사용하는 것은 패닝 작동 방식을 추가적으로 제어하기에 좋은 방법입니다. 아래 예시에서는 3개의 스칼라 파라미터가 머티리얼에 추가되어 텍스처 타일링(Tiling), 속도 X(Speed X), 속도 Y(Speed Y) 를 제어합니다. 모두 파라미터이기 때문에 아티스트는 머티리얼 인스턴스에서 해당 값을 오버라이드하여 머티리얼의 외관을 커스터마이징할 수 있습니다.
Panner 머티리얼 표현식을 중첩하여 훨씬 더 복잡한 이동 착시 효과를 연출할 수도 있습니다. 다수의 텍스처를 레이어링하고 서로 다른 속도로 패닝하거나 마스크를 통해 블렌딩하면 연기, 물, 비주얼 이펙트에 유용한 정교한 결과물을 만들어 낼 수 있습니다.
이 예시에서 모든 원본 머티리얼 표현식 노드의 사본은 먼저 모든 머티리얼 표현식 노드를 선택하고 키보드에서 CTRL + D 를 누르는 방식으로 생성되었습니다. 새로 생성된 노드의 스케일, 패닝 방향, 속도는 레이어링된 모션의 느낌을 주기 위해 변경했습니다. 새로운 노드 클러스터는 베이스 컬러 대신 이미시브 컬러(Emissive Color) 로 전달되어 머티리얼의 외관을 보다 화염에 가깝게 만듭니다.
결론
UV 좌표 애니메이팅은 머티리얼에 모션을 넣을 수 있는 좋은 방법입니다. 또한 연기나 불처럼 복잡한 모션이 필요한 비주얼 이펙트에도 매우 유용합니다. 하지만 UV 좌표 애니메이팅은 근접 UV 구성이 있는 오브젝트에서 가장 잘 작동한다는 점을 염두에 두세요. 메시의 UV 좌표에 틈이나 이음새가 있으면 UV 좌표 애니메이팅 시 나타나게 됩니다.