Disintegration

Desintegración

Para continuar mi exploración con los nodos de geometría, decidí adentrarme un poco en las simulaciones con ellos. Quería experimentar con la distribución de partículas, más específicamente con un efecto de desintegración.

Para lograrlo, seguí este tutorial de Motion Dreams en Youtube. El tutorial dura menos de 20 minutos, pero abarca mucho y es muy rápido, por lo que me llevó un tiempo configurar los árboles correctamente y experimentar con cada acción.

Configuración de la distribución de partículas

Comencé con una malla sólida y trabajé en la distribución de partículas dentro de ella. Usando el nodo Malla a volumen , convertí la malla en un volumen. Luego, apliqué el nodo Distribuir puntos en volumen para generar puntos dentro del volumen. Para asegurar una distribución densa, multipliqué la densidad, lo que permitió una mayor cantidad de puntos que representaban claramente la forma de la malla.

Nodos de distribución de partículas

A continuación, establecí el radio del punto en un valor más bajo mediante el nodo Establecer radio del punto . Este ajuste hizo que las partículas individuales fueran más pequeñas y ayudó a lograr una representación más detallada de la malla.

Representación de distribución de partículas

Creando la máscara con una esfera vacía

Para controlar qué partículas se verían afectadas durante la desintegración, introduje una esfera vacía en la escena. Al colocar el objeto vacío en los nodos de geometría, pude calcular la distancia entre cada partícula y la posición de la esfera vacía. Con un nodo de comparación Menor o igual a , creé una máscara que seleccionaba las partículas dentro de los límites de la esfera.

Nodos de creación de máscaras

Agregar nodos de simulación

Para que el efecto fuera más dinámico, incorporé nodos de simulación. Usé el nodo Atributo nombrado para almacenar información sobre la máscara. Al agregar esta información en un nodo Almacenar atributo nombrado , hice que se pudiera crear un fotograma clave, lo que permitió que la máscara se actualizara en cada fotograma a medida que se movía la esfera vacía.

Con esta configuración, la simulación se ejecuta continuamente, actualizando la máscara y afectando a las partículas en función de la posición de la esfera vacía.

Mover partículas con la máscara

Con un nodo Establecer posición , manipulé las posiciones de las partículas seleccionadas por la máscara. A medida que la esfera vacía se anima a través de la malla, las partículas dentro de sus límites comienzan a moverse hacia arriba, simulando un efecto de desintegración.

Sin embargo, sin ninguna restricción, las partículas seguirían moviéndose indefinidamente. Para solucionar esto, utilicé los nodos Atributo nombrado y Almacenar atributo nombrado para realizar un seguimiento de la "edad" de cada partícula. Al agregar 1 al atributo de edad en cada cuadro de las partículas afectadas por la máscara, pude monitorear cuánto tiempo había estado activa cada partícula.

Luego, utilicé un nodo Eliminar geometría junto con un nodo Mayor o igual a para eliminar partículas cuya antigüedad excedía un valor determinado. Esto mantuvo la simulación controlada y evitó que las partículas se desviaran sin fin.

Mejorando la simulación

Para mejorar el efecto, cambié a utilizar el nodo Distribuir puntos en las caras . Este cambio centró la distribución de partículas en el exterior de la malla, lo que proporcionó una forma más precisa y un efecto de desintegración más limpio.

Distribución mejorada

Al principio, la simulación mostraba un patrón esférico claro debido a la influencia de la esfera vacía, lo que no parecía muy natural. Para experimentar con un modelo diferente, descargué el personaje Dozy de Mixamo.

Simulación inicial

Para introducir aleatoriedad y hacer que la desintegración parezca más orgánica, agregué un nodo de textura de ruido . Al mezclar los datos de posición con el ruido mediante un nodo Mix RGB configurado en Luz lineal, pude romper la uniformidad de la máscara. Este ajuste agregó variabilidad a las partículas afectadas y a cómo se movían.

Añadiendo ruido para aleatoriedad

Añadiendo movimiento aleatorio a partículas

Para mejorar aún más el efecto, agregué aleatoriedad al movimiento de las partículas. Al configurar vectores de movimiento y aplicar un nodo de Escala , conecté una Textura de ruido con un nodo de Rango de mapa a un nodo de Valor aleatorio . Esta configuración me permitió controlar la escala de la aleatoriedad, lo que me dio un control significativo sobre el aspecto de la animación.

Una adición interesante fue el uso del nodo Scene Time , que muestra el tiempo transcurrido en segundos. Al conectarlo a un nodo Multiply , pude aumentar el ruido a lo largo del tiempo, lo que hizo que el movimiento de las partículas fuera más dinámico a medida que avanzaba la simulación.

Nodos de movimiento aleatorio

Instanciación de geometría en partículas

Para reemplazar las partículas con la geometría real, utilicé el nodo Instancia en puntos . Al conectar la geometría después del paso de eliminación de partículas, pude agregar nueva geometría solo a las partículas que quedaron. Agregué una esfera Ico como objeto de instancia y utilicé la máscara (del atributo con nombre ) para la selección. Esto garantizó que las instancias aparecieran solo por donde había pasado la máscara.

Instancia de geometría

Este paso mejoró significativamente la calidad visual del efecto de desintegración.

Animación de geometría instanciada

Transferencia de textura a partículas

Para que la geometría instanciada herede la textura de la malla original, utilicé el nodo Sample Nearest Surface (Muestra de superficie más cercana) . Este nodo permitió que cada partícula tomara muestras de la información de textura de la malla original. Al utilizar un nodo Named Attribute (Atributo nombrado ) para obtener la información del mapa UV y almacenarla con un nodo Store Named Attribute (Almacenar atributo nombrado) (denominado "ParticlesUV"), pude transferir los datos UV a las partículas.

Nodos de mapeo UV

En la configuración del material para la geometría instanciada, creé una copia del material de la malla original. Luego, utilicé un nodo Attribute para llamar al atributo "ParticlesUV" y lo conecté a la entrada vectorial del nodo Image Texture dentro del sombreador. Esto permitió que las partículas mostraran la textura de la malla correctamente.

Configuración de material para partículas

Como resultado, las partículas ahora conservan la textura de la malla original en lugar de aparecer como simples esferas blancas.

Partículas con textura de malla

Haciendo desaparecer la malla

Para completar el efecto de desintegración, necesitaba que la malla original desapareciera a medida que las partículas ocupaban su lugar. Creé una nueva configuración de nodo de geometría para la malla que desaparecía. Al agrupar los nodos de máscara de la simulación de partículas y agregar ese grupo a la nueva simulación en la malla animada, me aseguré de que la misma máscara controlara tanto la aparición de partículas como la desaparición de la malla.

Nodos de desaparición de malla

En el material de la malla, utilicé la misma información de máscara para controlar la transparencia. Un nodo de atributo llamado máscara de malla y una rampa de color conectaron estos datos al canal alfa del sombreador Principled BSDF . Esta configuración permitió que la malla se volviera transparente donde las partículas tomaban el control.

Configuración de la transparencia de la malla

Conclusión y próximos pasos

Combinando estas técnicas, logré un efecto de desintegración de partículas convincente. Para los toques finales, agregué un segundo controlador a la máscara para brindar más opciones de animación. Estoy considerando agregar un efecto similar al humo para mejorar aún más el impacto visual, siguiendo este tutorial: Tutorial de efecto de humo de Blender .

Regresar al blog

Contenido desplegable

Referencias