모프 타깃(Morph Target) 을 사용하면 메시를 베이스 폼에서 타깃 폼으로 디폼할 수 있습니다.
일반적으로 모프 타깃은 애니메이션 시스템의 일부로 스켈레탈 메시와 함께 사용됩니다.
하지만 StaticMeshMorpher.ms
MAXScript와 StaticMeshMorphTarget
머티리얼 함수를 사용하면
스태틱 메시 또한 모프 타깃을 사용하여 디포메이션을 구성할 수 있습니다.
이 메서드는 다수의 UV 채널, 버텍스 컬러, WorldPositionOffset을 사용하여 디포메이션을 수행합니다. 각 모프 타깃의 버텍스 오프셋은 UV 채널에 버텍스 컬러로 저장되어 있습니다. 그런 다음 StaticMeshMorphTarget 머티리얼 함수는 이러한 오프셋을 추출하여 머티리얼 내에서 사용할 수 있게 만듭니다. 이러한 오프셋을 머티리얼의 WorldPositionOffset 입력으로 전달하여 메시의 버텍스가 모프 타깃에서 버텍스의 위치로 트랜스폼될 수 있습니다.
스크립트 구성 및 설치
StaticMeshMorpher.ms
MAXScript는 UE4/Engine/Extras/FX_tools/3DSMax2012_x64/
에 위치한 빌드에서 찾을 수 있습니다.
StaticMeshMorpher.ms
MAXScript를 실행하려면 다음 단계를 따릅니다.
-
3ds Max의 MAXScript 메뉴에서 Run Script... 를 선택합니다.
-
빌드에서
StaticMeshMorpher.ms
MAXScript를 찾아서 엽니다. -
해당 스크립트의 인터페이스가 표시되며 이제 사용할 수 있습니다.
스크립트를 더 빠르고 쉽게 실행하기 위해 스크립트를 키 조합에 바인딩하거나 커스텀 메뉴에 추가할 수도 있습니다.
모프 타깃 생성하기
모프 타깃에는 버텍스가 트랜스폼된 동일한 메시의 여러 인스턴스가 필요합니다. 예를 들어 녹아 내리는 아이스 볼은 다음과 같은 세 가지 형태를 가질 수 있습니다.
![]() |
![]() |
![]() |
---|---|---|
게임 모델 | 모프 타깃 1 | 모프 타깃 2 |
두 모프 타깃이 패킹되어 있다고 가정할 때 모프 타깃은 UV 채널 2와 3에 패킹되어 있으며, 모프 타깃 1의 노멀은 원하는 경우 메시의 버텍스 컬러에 저장할 수 있습니다.
모프 타깃을 패킹하려면 다음 단계를 따릅니다.
-
버튼을 누른 다음 씬에서 게임 모델 메시를 선택합니다.
-
버튼을 누른 다음 씬에서 첫 번째 모프 타깃에 사용할 메시를 선택합니다.
-
두 번째 모프 타깃이 있는 경우 씬에서 위의 프로세스를 반복합니다.
-
필요에 따라 Store Morph 1 Normals 체크박스를 선택합니다.
-
버튼을 눌러 모프 타깃을 UV 채널로 패킹하는 프로세스를 시작합니다.
-
메시는 3ds Max에서 익스포트하여 언리얼 엔진으로 임포트할 수 있습니다. 이 프로세스에 대한 자세한 내용은 FBX 스태틱 메시 파이프라인 페이지를 참고하세요.
머티리얼 구성
StaticMeshMorphTargets 함수는 모프 타깃에 대한 액세스와 스태틱 메시 에 적용된 머티리얼 내 노멀에 대한 액세스를 제공합니다. 이 함수는 두 개의 모프 타깃과 하나의 노멀 출력과 관련된 두 개의 출력을 가지고 있습니다. 모프 타깃 출력은 Material 노드의 WorldPositionOffset 입력 채널로 연결할 수 있는 값을 제공하며, 노멀 출력은 Material 노드의 노멀 입력 채널에 연결할 수 있습니다.
베이스 메시와 모프 타깃 사이에서 모핑 하기 위해 알파 입력을 구동하는 단일 ScalarParameter 를 가진 하나 이상의 LinearInterpolate 표현식이 사용됩니다. 이렇게 하면 게임플레이 코드 또는 마티네를 통해 런타임에서 모프 타깃을 구동할 수 있습니다.
아래 이미지는 모프 네트워크만 있는 예시 구성입니다.

위 네트워크에서 Time 파라미터인 결과는 아래 이미지와 같이 0과 1 사이를 오갑니다.
