Hi.
I wanna use a lattice deformer for Pyro simulation , But I think it can't work on Volumes , Right ?
Something like FumeFX in Maya , We can use simple Lattice deformer for FumeFX volumes :? :?:
Specially thanks
Lattice for Volumes !!!
5885 7 0-
- Sadjad Rabiee
- Member
- 1391 posts
- Joined: Dec. 2010
- Offline
-
- Sadjad Rabiee
- Member
- 1391 posts
- Joined: Dec. 2010
- Offline
Ok , I found this example file about this goal , I can't use lattice or any deformer for Volumes directly , So I have to apply this deformer to points , then copy Density of the Volumes to these points !
http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/attribfromvolume/DeformVolume [sidefx.com]
http://www.sidefx.com/docs/houdini11.0/examples/nodes/sop/attribfromvolume/DeformVolume [sidefx.com]
-
- Sadjad Rabiee
- Member
- 1391 posts
- Joined: Dec. 2010
- Offline
-
- houdiniJD
- Member
- 6 posts
- Joined: Feb. 2012
- Offline
It is possible to roughly replicate the lattice (in points mode) functionality using a VolumeVop with point cloud lookup.
This avoids the conversion to points, but could still be slow with very heavy volumes, although should be nicely threaded.
- You need the rest and deformed geo (identical topology)
- Precalculate the displacement vector from rest –> deformed (subtract P2 - P1)
- Create a new volume that will cover the deformed area (this can be clipped later)
- VolumeVOP with new empty volume as input1
—– Point cloud lookup your rest mesh (with disp attribute)
—– loop over the found points
———-pcimport the disp attrib
———-scale this by some distance function to add falloff to the displacement
————–(this can be done linearly with a fit, or all sorts of ramps / smooths etc)
———-add the scaled displacements together scaled by distance from the source point.
—–add the output displacement to the input position (P)
—–sample your original volume using the new displaced position
The radius and number of searched points can be used to vary quality / performance.
The big controls will be in the way the displacement of each point is faded. The lattice SOP uses various kernel funcitons
I can't upload a sample scene at the moment, but will try later.
This avoids the conversion to points, but could still be slow with very heavy volumes, although should be nicely threaded.
- You need the rest and deformed geo (identical topology)
- Precalculate the displacement vector from rest –> deformed (subtract P2 - P1)
- Create a new volume that will cover the deformed area (this can be clipped later)
- VolumeVOP with new empty volume as input1
—– Point cloud lookup your rest mesh (with disp attribute)
—– loop over the found points
———-pcimport the disp attrib
———-scale this by some distance function to add falloff to the displacement
————–(this can be done linearly with a fit, or all sorts of ramps / smooths etc)
———-add the scaled displacements together scaled by distance from the source point.
—–add the output displacement to the input position (P)
—–sample your original volume using the new displaced position
The radius and number of searched points can be used to vary quality / performance.
The big controls will be in the way the displacement of each point is faded. The lattice SOP uses various kernel funcitons
I can't upload a sample scene at the moment, but will try later.
-
- Sadjad Rabiee
- Member
- 1391 posts
- Joined: Dec. 2010
- Offline
-
- Sadjad Rabiee
- Member
- 1391 posts
- Joined: Dec. 2010
- Offline
Also I found this video on vimeo about Lattice tool for Volumes , unfortunately he didn't upload his tool :cry:
https://vimeo.com/99409590 [vimeo.com]
https://vimeo.com/99409590 [vimeo.com]
-
- houdiniJD
- Member
- 6 posts
- Joined: Feb. 2012
- Offline
Another option is to use the VDB from particles to bake the SOP level displacement between the rest and the target (the vector disp in the example above) and turn this into a volume.
The displacement volume (converted back to standard volumes)can be visualised using the volume trail
This can then be sampled directly in a vop sop, removing the need for the point cloud lookup.
I used a VDB smooth to soften the sampled displacement directions.
With a target empty volume as the main input:
VolVOP
—— Sample Volume Gradient (to read the disp volume vector)
—— Add to original P
—— Sample original volume using new position.
hope this is some help
The displacement volume (converted back to standard volumes)can be visualised using the volume trail
This can then be sampled directly in a vop sop, removing the need for the point cloud lookup.
I used a VDB smooth to soften the sampled displacement directions.
With a target empty volume as the main input:
VolVOP
—— Sample Volume Gradient (to read the disp volume vector)
—— Add to original P
—— Sample original volume using new position.
hope this is some help
-
- Sadjad Rabiee
- Member
- 1391 posts
- Joined: Dec. 2010
- Offline
houdiniJD
Another option is to use the VDB from particles to bake the SOP level displacement between the rest and the target (the vector disp in the example above) and turn this into a volume.
The displacement volume (converted back to standard volumes)can be visualised using the volume trail
This can then be sampled directly in a vop sop, removing the need for the point cloud lookup.
I used a VDB smooth to soften the sampled displacement directions.
With a target empty volume as the main input:
VolVOP
—— Sample Volume Gradient (to read the disp volume vector)
—— Add to original P
—— Sample original volume using new position.
hope this is some help
Thanks so much for your attend my friend 8)
-
- Quick Links

