Destinos de metamorfose são uma maneira de deformar a malha de sua forma-base para uma forma de destino. Em geral, eles são usados com malhas esqueléticas como parte do sistema de animação, mas usando o maxscript "StaticMeshMorpher.ms" e a variável StaticMeshMorphTarget Função de material, As malhas estáticas também podem ser configuradas para deformação usando destinos de metamorfose.
Esse método realiza a deformação usando vários canais UV, cores de vértice e WorldPositionOffset. Os deslocamentos dos vértices para cada destino de metamorfose são armazenados como cores do vértice em um canal de UV. A função de material StaticMeshMorphTarget os extrai e os disponibiliza dentro do material. Ao passá-los para a entrada do WorldPositionOffset do material, os vértices da malha podem ser transformados nas posições dos vértices no destino de metamorfose.
Configuração e instalação de código
Na compilação, o maxscript "StaticMeshMorpher.ms" está localizado em "UE4/Engine/Extras/FX_tools/3DSMax2012_x64/".
**Para executar o maxscript "StaticMeshMorpher.ms":
-
No 3dsMax, no menu MAXScript, selecione Run Script....
-
Vá até o local do maxscript "StaticMeshMorpher.ms" na sua compilação e abra-o.
-
A interface do script é exibida e está pronta para uso.
O código também pode ser vinculado a uma combinação específica ou adicionado a um menu personalizado para tornar a execução mais rápida e fácil.
Como criar destinos de metamorfose
Os destinos de metamorfose exigem várias instâncias da mesma malha com os vértices transformados. Por exemplo, uma bola de gelo derretida pode ter três formas:
![]() |
![]() |
![]() |
|---|---|---|
| Modelo de jogo | Destino de metamorfose 1 | Destino de metamorfose 2 |
Os destinos de metamorfose são empacotados nos canais UV 2 e 3 (supondo que dois destinos de metamorfose estejam sendo empacotados) e as normais para o destino de metamorfose 1 também podem ser armazenadas nas cores do vértice da malha, se desejado.
Para empacotar destinos de metamorfose:
-
Pressione o botão
e selecione a malha do modelo de jogo na cena.
-
Pressione o botão
e selecione a malha para o primeiro destino de metamorfose na cena.
-
Repita o processo acima para o segundo destino de metamorfose na cena, se houver um.
!Destino de metamorfose 2 selecionado](morph_2_selected.png)
-
Se quiser, marque a caixa de seleção Store Morph 1 Normals.
-
Pressione o botão
para iniciar o processo de empacotamento dos destinos de metamorfose nos canais UV.
-
A malha pode ser exportada do 3dsMax e importada para a Unreal normalmente. Confira Pipeline de malha estática FBX para saber mais detalhes sobre esse processo.
Configuração do material
A função StaticMeshMorphTargets fornece acesso aos destinos de metamorfose e às normais dentro do material aplicado à malha estática. Essa função tem duas saídas correspondentes aos dois destinos de metamorfose e uma saída para as normais. As saídas do destino de metamorfose fornecem valores que podem ser conectados ao canal de entrada WorldPositionOffset do nó Material, já a saída da normal, como seria de esperar, pode ser conectada ao canal de entrada Normal do nó Material.
Para permitir a metamorfose entre a malha-base e os destinos de metamorfose, uma ou mais expressões LinearInterpolate são usadas com um único ScalarParameter controlando a entrada alfa. Isso permite que os destinos de metamorfose sejam acionados no tempo de execução por código de jogabilidade ou Matinee.
Este é um exemplo de configuração (apenas a rede de metamorfose):
Veja abaixo o resultado quando o parâmetro Time na rede acima vai de 0 a 1:



