Jump to content

creating a volume rest state


dannyODF

Recommended Posts

say I was creating a volume without a simulation, or I was pulling in density primatives from various simulations and mixing them together. Is it possible to create a new rest state? How does the shader know what volume is for density, and what volume is for rest? Where is that defined and how can I access that information? Whenever I create a new volume it seems to be treated as density,

thanks,

Link to comment
Share on other sites

you can give name to each volume primitive

either at creation in Volume SOP or IsoOffset SOP

or any time after by Name SOP

each volume primitive is a float value

but if you have 3 primitives named name.x, name.y, name.z Houdini will use them as single vector volume (like vel, just middle click on volume produced by pyro, there is all kinds of primitives named density, vel.x, vel.y, vel.z, rest.x, rest.y, rest.z, ...)

you can access those primitives in Volume VOP simply by Parameter VOP with the same name like float parameter density will contain values of density for each voxel, or vector parameter rest will contain rest position (according to rest.x, rest.y, rest.z volume primitives) you can even use Parameter VOP to export values to volume primitives (if primitives with such names already exist)

Link to comment
Share on other sites

you can give name to each volume primitive

either at creation in Volume SOP or IsoOffset SOP

or any time after by Name SOP

each volume primitive is a float value

but if you have 3 primitives named name.x, name.y, name.z Houdini will use them as single vector volume (like vel, just middle click on volume produced by pyro, there is all kinds of primitives named density, vel.x, vel.y, vel.z, rest.x, rest.y, rest.z, ...)

you can access those primitives in Volume VOP simply by Parameter VOP with the same name like float parameter density will contain values of density for each voxel, or vector parameter rest will contain rest position (according to rest.x, rest.y, rest.z volume primitives) you can even use Parameter VOP to export values to volume primitives (if primitives with such names already exist)

to add to Anim's comments, the default pyro shader accepts dual rest fields called "rest" and "rest2", this is to basically reset your rest field every "n" frames which you can set in the pyro solver. The second rest field is offset by "n" frames from the first and then it blends between the two over time. This helps keep whatever you are mapping from stretching.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...