A categoria WorldPositionOffset contém funções especiais para aplicar vértices de manipulação de uma malha usando a entrada de deslocamento de posição no mundo. Essas funções podem ser unidas por encadeamento para efeitos aditivos.
SimpleGrassWind
A função SimpleGrassWind aplica um operador de vento básico à folhagem, permitindo especificar um mapa de pesos e a força do vento. Este é um vento não direcional que dá apenas um movimento muito geral à folhagem. Este deve ser o último nó WPO que você adiciona.
| Entradas | Descrição |
|---|---|
| WindIntensity (Scalar) | Controla quanto o vento afeta a malha. |
| WindWeight (Scalar) | Este é um mapa de escala de cinza que controla quanto os vértices da malha responderão ao vento. |
| WindSpeed (Scalar) | Controla a velocidade do vento. |
| AdditionalWPO (Vector3) | Aceita quaisquer funções ou redes de deslocamento de posição no mundo. |
Essa é a aparência do efeito em movimento.
SplineThicken
A função SplineThicken serve como uma forma de fazer com que polígonos muito finos pareçam mais grossos no tempo da renderização. É perfeito para cabos, cabelo, grama e outros objetos semelhantes.
Objetos que usam essa função devem ser extremamente finos e ter um layout UV normalizado. Objetos devem ser importados com "Remove Degenerate Triangles" (Remover triângulos degenerados) desabilitado.
| Entradas | Descrição |
|---|---|
| WidthBase (Scalar) | Define a largura de um único objeto de polígono em sua base. |
| WidthTip (Scalar) | Define a largura de um objeto de polígono em sua ponta. |
| WorldPosition (Vector3) | A posição no mundo aceita quaisquer funções de deslocamento de posição no mundo existente e adiciona essa função a eles. |
| UVs for Projection (Vector2) | Essa é a coordenada de textura usada na expansão da spline. |
| UVs for Thickness (Vector2) | Essa é a coordenada de textura usada para o mapeador de espessura, se estiver sendo projetado de U, será o componente Y do índice de UV especificado para a mesclagem de espessura. |
| UV para textura (Vector2)** | Este é o canal UV da textura. Esse deve ser o mesmo canal UV que você deseja que tenha a correção de paralaxe 3D. |
| Expand U or V UV Channel (StaticBool) | Defina se deve expandir a malha em U ou V. O padrão é true (verdadeiro), que é U. |
| DriveNormalZ (Boolean) | Usará DeriveNormalZ para criar um mapa de normais perfeitamente redondo. |
| AngleCorrectedNormal (Boolean) | Usa DerivedNormalZ para criar um mapa de normais perfeitamente redondo. Exige um vértice de tesselação central, caso contrário, o valor de Z será 0 para toda a face, causando uma iluminação forte. |
| AdditionalNormal (Vector3) | Adicionará uma normal de textura à transformação do mapa de normais. |
| FlattenPixelNormal (Booleano) | |
| UVs For NormalShading (Vector2) | |
| Saídas | |
| Normal | A normal de saída da geometria ajustada. |
| WorldPositionOffset | Esta é a saída que você pode adicionar a outros cálculos de deslocamento de posição no mundo. |
| UVs with Parallax |
CameraOffset
A função CameraOffset é ótima para auxiliar na classificação de profundidade, pois permite mover um objeto no espaço da câmera, aproximando-o ou afastando-o da câmera.
| Entradas | Descrição |
|---|---|
| OffsetAmount (Scalar) | Insira um número negativo ou positivo para deslocar seu modelo na direção da câmera. Observe que valores positivos aproximarão o modelo da câmera e causará erros de renderização se a malha ultrapassar muito a caixa delimitadora dos modelos. |
| Clamp Padding (Scalar) | A quantidade de preenchimento para evitar que a versão fixada do valor de deslocamento fique recortada na câmera. |
| WorldPosition (Vector3) | Insira a posição do vértice do modelo no mundo. O valor padrão é igual a posição no mundo. |
| Saídas | |
| Clamped Camera Offset | O deslocamento da câmera é fixado para evitar interseções iniciais da câmera. Ajuste o preenchimento para alterar a quantidade de espaço reservado para evitar a interseção da câmera. |
| Camera Offset | Adicione este valor a outro código de deslocamento de posição no mundo ou insira-o diretamente no material principal do deslocamento de posição no mundo para deslocar sua malha. |
Quando o parâmetro de deslocamento neste gráfico for substituído no Editor de Instância de Material, a esfera é aproximada ou afastada da câmera.
ObjectPivotPoint
A função ObjectPivotPoint retorna o ponto de pivô do objeto no espaço do mundo. Não é compatível com o shader de pixel.
| Saídas | Descrição |
|---|---|
| Object Pivot Location | Retorna o ponto de pivô do objeto no espaço do mundo. Funciona apenas com o shader de vértice e é incompatível com o shader de pixel. |
Este gráfico usa a função Object Pivot Point com alguma lógica mínima para dimensionar um objeto de seu ponto de pivô usando um parâmetro escalar no Editor de Instância de Material. Você pode ver o resultado na demonstração abaixo:
ObjectScale
A função ObjectScale retorna a escala XYZ do objeto junta e separadamente. Não é compatível com o shader de pixel.
| Saídas | Descrição |
|---|---|
| Scale XYZ | Retorna um valor de float3 igual à escala XYZ do objeto. Não é compatível com o shader de pixel. |
| Scale X | Retorna um valor escalar igual à escala X do objeto. Não é compatível com o shader de pixel. |
| Scale Y | Retorna um valor escalar igual à escala Y do objeto. Não é compatível com o shader de pixel. |
| Scale Z | Retorna um valor escalar igual à escala Z do objeto. Não é compatível com o shader de pixel. |
No vídeo abaixo, a saída ScaleXYZ é usada como multiplicador para a entrada "Emissive" (Emissivo). Quando o tamanho da esfera é aumentado, o valor emissivo também é aumentado e o brilho da esfera se intensifica.
PivotAxis
A função PivotAxis cria uma posição de pivô comum em eixos arbitrários. Isso é útil para criar movimento de bandeira. Em vez de usar um único ponto de pivô próximo do topo da bandeira, use um ponto Z compartilhado e dados de posição X e Y únicos para criar uma conexão mais realista ao longo da largura do objeto.
Esse nó de shader é compatível apenas com dimensionamento uniforme. Além disso, o eixo de rotação sobre o eixo e o eixo/posição de pivô não devem coincidir.
| Entradas | Descrição |
|---|---|
| Pivot Axis/Pos (Vector3) | Insira um número para usar como eixo de linha de eixo local e posição. Se quiser bloquear seu modelo, insira em seu eixo Z local próximo ao seu pivô (0,0,1). Se quiser bloquear o topo do modelo, insira a altura do seu modelo como (0,0,altura do modelo). |
| Saídas | |
| Pivot | Pode ser usado como ponto de pivô no nó do eixo de rotação. |
RotateAboutWorldAxis_cheap
A função RotateAboutWorldAxis_cheap gira o objeto de maneira menos custosa em torno dos eixos do mundo. Insira o ângulo que você gostaria de usar e com o qual gostaria de anexar a saída ao deslocamento de posição no mundo.
| Entradas | Descrição |
|---|---|
| Rotation Amount (Scalar) | O valor de um é igual a uma rotação completa. |
| PivotPoint (Vector3) | A posição do espaço no mundo do ponto de pivô ao redor da qual girar. O valor padrão é o ponto de pivô do modelo. |
| WorldPosition (Vector3) | A posição do espaço no mundo de vértices individuais. O nó WorldPosition normalmente é usado. |
| Saídas | |
| X-Axis | Gira de forma menos custosa o objeto em torno do eixo X do mundo. |
| Y-Axis | Gira de forma menos custosa o objeto em torno do eixo Y do mundo. |
| Z-Axis | Gira de forma menos custosa o objeto em torno do eixo Z do mundo. |
O vídeo abaixo mostra um material de exemplo que gira um cubo em torno seu próprio ponto de pivô. Observe como o eixo de rotação se altera quando cada um dos três pins de saída é usado.
StaticMeshMorphTargets
A função StaticMeshMorphTargets descompacta os dados do alvo de transformação adicionados a um MAXScript do empacador de transformação do 3ds Max.
| Saídas | Descrição |
|---|---|
| Morph Target 1 Normals | As normais da superfície associadas ao alvo de transformação 1. |
| Morph Target 1 WPO | O deslocamento de posição no mundo para o alvo de transformação 1. |
| Morph Target 2 WPO | O deslocamento de posição no mundo para o alvo de transformação 2. |
Vento
A função Wind fornece saídas separadas para a força do vento, velocidade multiplicada pelo tempo e um vetor de vento normalizado.
| Entradas | Descrição |
|---|---|
| WindActor (Vector4) | Usará um ator de vento (em desenvolvimento). No momento, você pode usar um Vector4 para atribuir a direção e a força do vento. |
| Saídas | |
| Normalized Wind Vector | O vetor do vento, normalizado para o espaço de 0-1. |
| WindStrength | Retorna a força do vento. A magnitude do vetor do vento encontrada calculando-se a distância do vetor do vento com 0. |
| WindSpeed | A velocidade do vento multiplicada pelo tempo. |
| WindActor | O nó WindActor padrão. |
