dannyODF Posted November 3, 2010 Share Posted November 3, 2010 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, Quote Link to comment Share on other sites More sharing options...
anim Posted November 4, 2010 Share Posted November 4, 2010 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) Quote Link to comment Share on other sites More sharing options...
SpencerL Posted November 4, 2010 Share Posted November 4, 2010 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.