FluidLabTutorial 01

Mezcla dos fluidos en Blender: agua y aceite

Mezcla agua y aceite en FluidLab 1.2: dos emisores InFlow, Fluid Interactions, un collider OutFlow, una malla GN y dos shaders mezclados con fl_color.

8 pasos13 min

En este tutorial lanzamos dos chorros de líquido, agua y aceite, dentro de una caja para que choquen entre sí, y después mezclamos sus shaders en una sola malla para ver dónde acaba cada fluido.

Configurarás dos emisores InFlow a partir de presets, harás que los dos grupos interactúen, eliminarás las partículas que se escapan con un collider OutFlow, mallarás el resultado con Geometry Nodes y mezclarás los materiales con el atributo fl_color que ofrece FluidLab.

Paso a paso

  1. Paso 1

    Configura el emisor de agua

    La escena tiene una caja como collider (Cube_00) y dos esferas: una para el agua y otra para el aceite. Selecciona la primera esfera, pulsa Add New Group, cámbiale el nombre a water, elige InFlow y pulsa OK. Después pulsa Add Emitter; el grupo aparece en Fluid Groups como G_Water.

    En Fluid Presets, elige Water y pulsa Set Preset para cargar los parámetros del agua. Luego ve a Fluid Settings:

    • Emission: en Count | Size, pon 50000 y 0.03 m. Frame Start | End es 1 y 100, así que la emisión dura 100 frames, y Lifetime es 185, la duración de la línea de tiempo. En Velocity, pon Initial Velocity X en 2.7 m/s.
    • Physics: activa Adaptive, sube Subframes de 4 a 7 para que los cálculos sean más precisos y sube un poco Mass, a 0.11 kg.
    • Emission → Viewport Display: pon Display en Material y elige un azul tipo agua en el campo de color.
  2. Paso 2

    Configura el emisor de aceite

    Repite el proceso con la segunda esfera: Add New Group con el nombre oil e InFlow, y después Add Emitter (aparece como G_Oil). En Fluid Presets, elige Oil y pulsa Set Preset.

    En Fluid Settings → Emission, usa los mismos valores que en el agua: 50000 partículas de 0.03 m, frames del 1 al 100 y Lifetime 185. Lo que cambia es la dirección: pon Initial Velocity X en -2.7 m/s para que los dos chorros salgan el uno hacia el otro. En Viewport Display, pon Display en Material y elige un amarillo.

    En Physics, activa también Adaptive y pon Subframes en 7, pero esta vez baja un poco Mass, a 0.08 kg.

  3. Paso 3

    Haz que los fluidos interactúen y evita los derrames

    Oculta el collider y reproduce la simulación: los dos fluidos caen, pero el agua y el aceite no reaccionan entre sí. Abre Fluid Interactions, pulsa Add Interaction, marca G_Water y G_Oil en el cuadro de diálogo y pulsa OK (aparece Interaction_00 en la lista). Vuelve a lanzar la simulación: ahora los dos fluidos se empujan entre sí.

    Aún se escapan algunas partículas por las paredes de la caja. Para arreglarlo, ve a Colliders, vuelve a mostrar el collider, duplícalo y escala la copia un poco hacia fuera. Con la copia seleccionada, pulsa Add Selection Collider y activa OutFlow (Kill Particles) en sus Collider Settings: cualquier partícula que toque este collider exterior se elimina, así que no se derrama nada. Oculta los dos colliders y vuelve a lanzar la simulación.

    Los grupos no interactúan por defecto

    Dos grupos de fluido en la misma escena se simulan sin ninguna interacción hasta que añades una en Fluid Interactions.

  4. Paso 4

    Guarda la caché y malla los fluidos

    Pulsa el icono del disco junto a Current Cache para guardar la simulación. En el vídeo se abre en ese momento un explorador de archivos y la escena se guarda como archivo .blend.

    Después abre Mesh y pulsa Add Mesh. En el cuadro Add GN Meshes To: deja marcados G_Water y G_Oil y pulsa OK: se crea una sola malla de Geometry Nodes, M_Water, para los dos fluidos. En Mesh Settings:

    • Voxel Resolution: bájalo a 0.04 para ganar algo de detalle.
    • Size: súbelo a 0.07.
    • Smooth XYZ: súbelo de 1 a 10 para suavizar la superficie.

    Por último, oculta las partículas en el viewport con los iconos del ojo de Fluid Groups para ver solo la malla.

  5. Paso 5

    Visualiza la mezcla con el material MixColors

    Abre Shading, comprueba que Assign está activo y recorre las vistas previas de Materials hasta llegar a MixColors (con Fluid seleccionado). Pulsa Assign Material.

    En Settings verás sus colores por defecto: Color 0 rosa y Color 1 verde, con Blur en 100. Reproduce la simulación para ver cómo se mezclan los dos fluidos. Puedes cambiar estos colores cuando quieras: en el vídeo se cambia Color 0 a azul.

  6. Paso 6

    Reúne los shaders de agua y aceite en un material

    Guarda antes el archivo. De vuelta en Shading → Assign, elige Water en la galería de materiales y pulsa Assign Material; después elige Oil y vuelve a pulsar Assign Material. Así se crean los materiales Water_00 y Oil_00.

    Pasa al espacio de trabajo Shading de Blender y activa Material Preview: la malla muestra el aceite. Pulsa Ctrl+Space para maximizar el Shader Editor, selecciona todos los nodos del shader del aceite y cópialos. Abre el material Water_00 y pégalos. Ahora tienes los dos árboles de nodos en el mismo material: los del agua arriba y los del aceite debajo.

  7. Paso 7

    Mezcla los dos shaders con el atributo fl_color

    Añade un Mix Shader y conecta el shader del agua a su primera entrada Shader y el del aceite a la segunda. Para el Fac, añade un nodo Color Attribute y elige fl_color: es el atributo que sirve para mezclar los dos shaders. Pon un Color Ramp en medio: Color del atributo → Fac de la rampa, y Color de la rampa → Fac del Mix Shader. Por último, conecta el Mix Shader a la entrada Surface del Material Output.

    El material de la malla se define en su modificador de Geometry Nodes. Abre Modifier Properties y, en FluidLab_Mesh_GN_00, cambia Material de Oil_00 a Water_00, el material en el que estás montando la mezcla.

    Ajusta el Color Ramp acercando sus dos marcadores para que el límite sea más nítido. Ahora distingues claramente la zona del aceite de la del agua.

  8. Paso 8

    Cambia el aceite por leche

    La interacción se aprecia mejor con un shader más contrastado. En Shading → Assign, elige Milk y pulsa Assign Material. En el Shader Editor, copia los nodos del shader de la leche, abre Water_00, borra los nodos del aceite y pega los de la leche en su lugar, conectados al Mix Shader.

    Al asignar Milk, el Material del modificador ha pasado a Milk_00, así que vuelve a ponerlo en Water_00, el material que contiene la mezcla. Ajusta de nuevo el Color Ramp: el agua y la leche se mezclan ahora con el mismo atributo fl_color.

Ya tienes dos fluidos que interactúan en la misma simulación y una sola malla cuyos shaders se mezclan según el atributo fl_color. Prueba otros materiales de la galería para ver la misma interacción con otro aspecto.