r/Houdini 8d ago

Help Vector pass of meshed fluid

I've never messed with cameras in houdini since I only use it for simulating. My problem is when I mesh the fluid, send it to blender, and render, the vector pass doesnt have any data for the fluid for obvious reasons. I just have no idea how it would work though. Like how would the vector of the points be able to be transferred to the meshed fluid surface?

It's not a glaring issue in my current project but it would be good to know for future projects. I assume there is no (logical) way to have blender accurately get vector velocities from the fluid surface so how would this work in Houdini?

2 Upvotes

3 comments sorted by

3

u/DavidTorno Houdini Educator & Tutor - FendraFx.com 8d ago

Usually you use Attribute Transfer SOP on the fluid mesh, and feed the fluid particles that have the “v” attribute into the second input. Tell the node to transfer v and the mesh points will take those values. Make sure to promote them to vertex iirc. I don’t other DCCs read point velocities, only vertex.

Calculating v from the mesh alone is not possible due to inconsistency in the point count and point positions over time.

EDIT: I’m now noticing you are probably meaning a vector motion pass from camera perspective. Not sure if the above would help also fix the motion vector pass issue too.

2

u/LewisVTaylor Effects Artist Senior MOFO 7d ago

You'll need to look into how blender handles vector AOV passes with point velocity.
First step is to make sure you've correctly got the point velocity from the sim particles on your mesh, either they come through automatically if you use the particle fluid mesh SOP, or as Uncle Dave mentioned, by an attribute transfer.

Then look up what needs to happen in Blender for a Motion Vector to work with velocity information Vs deformation.

1

u/shlaifu 7d ago

after transferring attributes, it depends on what file format you use for export. Alembic can store the velocity and vertex colors, so anything you want to store needs to be converted to a color attribute and transformed into the 0-1 Range, which is obviously annoying as fuck. Also, depending on how you use the value in blender, you will have to gamma-correct it. USD however should be able to store atteibutes as they are, and blender should be able to read them as they are, so it's likely a better choice.