La categoría WorldPositionOffset contiene una función especial para aplicar los vértices de manipulación de una malla mediante la entrada de desfase de la posición en el mundo. Estas funciones pueden encadenarse para obtener un efecto aditivo.
SimpleGrassWind
La función SimpleGrassWind aplica un operador de viento básico al follaje, lo que permite especificar un mapa de pesos y la fuerza del viento. Se trata de un viento no direccional que solo da un movimiento muy general al follaje. Este debe ser el último nodo de WPO que añadir.
| Entradas | Descripción |
|---|---|
| WindIntensity (Scalar) | Controla cuánto afecta el viento a la malla. |
| WindWeight (Scalar) | Es un mapa de escala de grises que controla cómo responderán los vértices de la malla al viento. |
| WindSpeed (Scalar) | Esto controla la velocidad del viento. |
| AdditionalWPO (Vector3) | Toma cualquier función o red adicional del desfase de la posición en el mundo. |
Este es el aspecto del efecto en movimiento.
SplineThicken
La función SplineThicken sirve para hacer que un polígono muy fino parezca más grueso a la hora de renderizar. Es perfecto para cables, pelo, hierba y otros objetos similares.
Los objetos que utilicen esta función deben ser extremadamente finos y tener una disposición de UV normalizada. Los objetos deben importarse con la opción «Quitar triángulos degenerados» deshabilitada.
| Entradas | Descripción |
|---|---|
| WidthBase (Scalar) | Permite establecer la anchura de un único objeto poligonal en su base. |
| WidthTip (Scalar) | Establece la anchura de un objeto poligonal en su extremo. |
| WorldPosition (Vector3) | La posición en el mundo toma cualquier función existente de desfase de la posición en el mundo y añade esta función. |
| UV de proyección (Vector2) | Estas son las coordenadas de textura que se utilizarán en la expansión de la spline. |
| UV de grosor (Vector2) | Estas son las coordenadas de textura que se utilizarán para el mapeador de grosor si se proyecta desde U. Será el componente Y del índice de UV especificado para la mezcla de grosor. |
| UV de texturizado (Vector2) | Es el canal de UV para el texturizado. Debe ser el mismo canal de UV en el que quieres tener la corrección de paralaje 3D. |
| Expandir canal U o V (StaticBool) | Establece si se expande la malla en U o en V. De forma predeterminada toma el valor U (activado). |
| DriveNormalZ (Boolean) | Esto utilizará DeriveNormalZ para crear un mapa normal redondo perfecto. |
| AngleCorrectedNormal (Boolean) | Utiliza DerivedNormalZ para crear un mapa normal redondo perfecto. Requiere un vértice de teselado centrado; de lo contrario, el valor de Z será 0 para toda la cara, lo que provocará una iluminación dura. |
| AdditionalNormal (Vector3) | Esto añadirá una textura normal a la transformación de mapa normal. |
| FlattenPixelNormal (Boolean) | |
| UV de NormalShading (Vector2) | |
| Salidas | |
| Normal | La normal de salida de la geometría ajustada. |
| WorldPositionOffset | Esta es la salida que puedes añadir a otros cálculos de desfase de la posición en el mundo. |
| UV con paralaje |
CameraOffset
La función CameraOffset es ideal para ayudar con la clasificación por profundidad, ya que te permite mover un objeto en el espacio de la cámara y acercarlo o alejarlo de la cámara.
| Entradas | Descripción |
|---|---|
| OffsetAmount (Scalar) | Introduce un número negativo o positivo para compensar el modelo en dirección a la cámara. Ten en cuenta que un valor positivo acercará el modelo a la cámara y provocará errores de renderización si la malla supera con creces la caja delimitadora del modelo. |
| Relleno de acotación (Scalar) | La cantidad de relleno para evitar que la versión acotada del valor de desfase se recorte en la cámara. |
| WorldPosition (Vector3) | Introduce la posición en el mundo del vértice del modelo. El valor predeterminado equivale a la posición en el mundo. |
| Salidas | |
| Desfase de cámara acotado | El desfase de cámara sirve de acotamiento para evitar las primeras intersecciones con la cámara. Ajusta el relleno para cambiar la cantidad de espacio reservado para evitar la intersección de la cámara. |
| Desfase de cámara | Añade este valor a otro código de desfase de la posición en el mundo o introdúcelo directamente en el material maestro de desfase de la posición en el mundo para desfasar la malla. |
Si se anula el parámetro de desfase de este grafo en el editor de instancias de material, la esfera se acerca o se aleja de la cámara.
ObjectPivotPoint
La función ObjectPivotPoint devuelve el punto de traslación del objeto en el espacio del mundo. No es compatible con el sombreador de píxeles.
| Salidas | Descripción |
|---|---|
| Ubicación del punto de traslación del objeto | Devuelve el punto de traslación del objeto en el espacio del mundo. Esto solo funciona con el sombreador de vértices y no es compatible con el sombreador de píxeles. |
Este grafo utiliza la función Object Pivot Point con alguna lógica mínima para escalar un objeto desde su punto de traslación mediante un parámetro escalar en el editor de instancias de material. Puedes ver el resultado en la siguiente demostración:
ObjectScale
La función ObjectScale devuelve la escala XYZ del objeto tanto a la vez como por separado. No es compatible con el sombreador de píxeles.
| Salidas | Descripción |
|---|---|
| Escala XYZ | Devuelve un valor de float3 que es igual a la escala XYZ de los objetos. No es compatible con el sombreador de píxeles. |
| Escala X | Devuelve un valor escalar que es igual a la escala X del objeto. No es compatible con el sombreador de píxeles. |
| Escala Y | Devuelve un valor escalar que es igual a la escala Y del objeto. No es compatible con el sombreador de píxeles. |
| Escala Z | Devuelve un valor escalar que es igual a la escala Z del objeto. No es compatible con el sombreador de píxeles. |
En el siguiente vídeo, la salida ScaleXYZ se utiliza como multiplicador para la entrada de emisivo. Cuando se aumenta el tamaño de la esfera, también aumenta el valor emisivo y la esfera brilla más.
PivotAxis
La función PivotAxis crea una posición común de punto de traslación en ejes arbitrarios. Es útil para crear un movimiento de indicador. En lugar de utilizar un único punto de traslación cerca de la parte superior del indicador, utiliza un punto Z compartido y datos de ubicación únicos en X e Y para crear una conexión más realista a lo ancho del objeto.
Este nodo de sombreado solo es compatible con el escalado uniforme. Además, el eje de rotación sobre el eje y el eje/posición del punto de traslación no deben coincidir.
| Entradas | Descripción |
|---|---|
| Posición/eje del punto de traslación (Vector3) | Introduce un número para utilizarlo como posición y eje de la línea del eje local. Si quieres bloquear el modelo, introdúcelo en su eje local Z cerca del centro del punto de traslación (0,0,1). Si quieres bloquear la parte superior del modelo, introduce la altura del modelo como (0,0,altura del modelo). |
| Salidas | |
| Pivote | Puede utilizarse como punto de traslación en el nodo de rotación sobre el eje. |
RotateAboutWorldAxis_cheap
La función RotateAboutWorldAxis_cheap gira el objeto alrededor de los ejes del mundo sin mucho coste. Introduce el ángulo que quieras utilizar y adjunta la salida al desfase de la posición en el mundo.
| Entradas | Descripción |
|---|---|
| Cantidad de rotación (Scalar) | Un valor de uno equivale a una rotación completa. |
| PivotPoint (Vector3) | Ubicación en el espacio del mundo del punto de traslación alrededor del cual girar. El valor predeterminado es el punto de traslación del modelo. |
| WorldPosition (Vector3) | Ubicación en el espacio del mundo de los vértices individuales. Normalmente se utiliza el nodo WorldPosition. |
| Salidas | |
| Eje X | Gira el objeto alrededor del eje X del mundo sin mucho coste. |
| Eje Y | Gira el objeto alrededor del eje Y del mundo sin mucho coste. |
| Eje Z | Gira el objeto alrededor del eje Z del mundo sin mucho coste. |
El siguiente vídeo muestra un material de ejemplo que hace girar un cubo sobre su propio punto de traslación. Observa cómo cambia el eje de rotación cuando se utilizan cada uno de los tres pines de salida.
StaticMeshMorphTargets
La función StaticMeshMorphTargets desempaqueta los datos del objetivo de deformación que se han añadido a través de una secuencia de comandos Morph Packer MAXScript de 3ds Max.
| Salidas | Descripción |
|---|---|
| Normales de Morph Target 1 | Las normales de superficie que se asocian al Morph Target 1. |
| WPO del Morph Target 1 | Desfase de posición en el mundo del Morph Target 1. |
| WPO del Morph Target 2 | Desfase de posición en el mundo del Morph Target 2. |
Viento
La función Viento proporciona una salida separada para la fuerza del viento, la velocidad multiplicada por el tiempo y un vector de viento normalizado.
| Entradas | Descripción |
|---|---|
| WindActor (Vector4) | Esto acogerá un actor de viento (en desarrollo). En este momento puedes utilizar un Vector4 para designar la dirección y la fuerza del viento. |
| Salidas | |
| Vector de viento normalizado | El vector de viento, normalizado al espacio 0-1. |
| WindStrength | Devuelve la fuerza del viento. Magnitud del vector de viento obtenida al calcular la distancia desde el vector de viento a 0. |
| Velocidad del viento | Velocidad del viento multiplicada por el tiempo. |
| WindActor | Nodo WindActor estándar. |
