I have simulated this in Houdini and exported it with alembic to Blender.
In Blender, I have converted the vertices into points (point cloud) with geometry nodes.
Since there isn’t any custom alembic attribute support I couldn’t use the velocity, particle age, density,… data in the shader. There also isn’t any motion blur because it doesn’t work on the point cloud.
I like my results but it is not just quite there. Is there a standard way of shading whitewater in Blender? I think that having some sub-surface scattering would help but it isn’t supported for point clouds.
This is something I am currently struggling with aswell. The way is used to do this was to render each point as a icosphere. But i dont know if that is possible with bigger sims.
I feel your pain, as I’m doing a lot of Houdini ↔ Blender interaction, mostly simulating in Houdini and rendering in Cycles. So the missing (custom) attributes on point clouds and polygons in Alembics can be a real challenge sometimes.
Depending on what I need I have several workarounds:
If there are several thousands of similar objects that can be instanced but you need to transfer scale and rotations to Blender (e.g. for coffee beans falling into a bowl) I usually use a “Copy to points” and instantiate simple triangles in Houdini instead of exporting the “real” coffee bean geometry.
Then I export the triangle cloud as an Alembic and in Blender use the oldskool “Instancing > Faces” workflow formerly called “Duplifaces”.
This way I can instance the coffee beans in Blender, the size, rotation and motion blur is kept and I can even write vertex colors to the triangles before export, in case I need to transfer custom attributes. These are transferred as well.
A bit clunky but it works.
The easiest way is to just use a circle SOP and set the divisions to 3 to get triangles. Oh, and don’t use “Pack and instance” in the copy to points SOP before the Alembic export because otherwise Blender imports all the triangles as separate objects
If you need a lot of simple points just like in your whitewater case but need to also transfer attributes like velocity and color/density, you should take a look at this nice tutorial by Entagma: https://youtu.be/SYz3Pz0m2XM
Very well explained as always. Also a bit tedious but it gets the job done.
Depending on how close you are to your foam / whitewater it might also be a possibility to convert the particles to a VDB volume in Houdini and then render that in Blender. Density comes in automatically and the newer version of Blender can also deal with velocity volumes for motion blur.
Also expanding on what @SteffenD said you can try to use particle position as field on volume cube?
but that will probably be much slower than using imported VDB from Houdini.
I’m not sure about best way but I did this using dynamic paint and ocean sim found from Blender. I used shader where color was measured from water foam, I used noise pattern and add some AO to give details.
It is fast to simulate, works in animation and surface reacts with objects and collision, can be adjusted easily and it is just two dimensional bitmap. You may try to do something more advanced using millions of particles…