About Volume Rendering
8087 12 0- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
hi~
I have a hard question for me but easy for you,so I come here for help
ok.I create a billow_smoke shader for a moving object,and the render images show that the smoke is moving in the space.
How to stop the smoke moving with the moving object? I just need it's own offset..
In test2.hip,it's a xform's moving sphere.I also need a method for a blending object.
In maya, I can create a texture_reference_object,but in houdini…
-.-…Thank you.
I have a hard question for me but easy for you,so I come here for help
ok.I create a billow_smoke shader for a moving object,and the render images show that the smoke is moving in the space.
How to stop the smoke moving with the moving object? I just need it's own offset..
In test2.hip,it's a xform's moving sphere.I also need a method for a blending object.
In maya, I can create a texture_reference_object,but in houdini…
-.-…Thank you.
- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
- buki
- Member
- 1769 posts
- Joined: Dec. 2006
- Offline
hi!
Add rest position SOP to your object
Add rest position SOP to your object
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
buki
hi!
Add rest position SOP to your object
ah…
I used the rest position,but the smoke shader still move now…
The details are in the file of “test3” and the picture.
Thank you! -.-But I need more help=。=
I saw the help file of the rest position,it used the wood shader.I don't know whether it is a 3D shader=.= Just my thought:)
Waiting for more help…=。=
- tamte
- Member
- 8595 posts
- Joined: July 2007
- Offline
you need to use vector volume as a rest so Rest SOP will not help you (at least for now)
here is an example, there are just 3 volume primitives rest.x, rest.y and rest.z merged together and then set by volume vop SOP
i moved xform1 after isooffset and rest calculation to avoid recalculation of that nodes every frame
here is an example, there are just 3 volume primitives rest.x, rest.y and rest.z merged together and then set by volume vop SOP
i moved xform1 after isooffset and rest calculation to avoid recalculation of that nodes every frame
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
Thank you !
Ha,that's ok,the texture do not move again
———————————————————–
For my next test,I import obj sequence from Maya instead of the animation to Houdini.
But a new question occured…
1.The sequence rendering do not work.
I can render with the default “view Mentra”,but if I create a Mentra render in ropnet or Out,it doesn't work…It stays at the first frame for a long time,maybe 2012 comes it still stay at frame 1….
2.The file of “amen.rar” is the obj sequence of a box's animation from Maya.I import it to Houdini,so you can take it as a blend-shape animation.So…The xform doesn't change..When the object “moves”,the texture will still stay or not?
Thank you all~
Need for new help :idea: :idea: :idea: :idea: :idea:
Ha,that's ok,the texture do not move again
———————————————————–
For my next test,I import obj sequence from Maya instead of the animation to Houdini.
But a new question occured…
1.The sequence rendering do not work.
I can render with the default “view Mentra”,but if I create a Mentra render in ropnet or Out,it doesn't work…It stays at the first frame for a long time,maybe 2012 comes it still stay at frame 1….
2.The file of “amen.rar” is the obj sequence of a box's animation from Maya.I import it to Houdini,so you can take it as a blend-shape animation.So…The xform doesn't change..When the object “moves”,the texture will still stay or not?
Thank you all~
Need for new help :idea: :idea: :idea: :idea: :idea:
Edited by - April 22, 2010 21:01:15
- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
- tamte
- Member
- 8595 posts
- Joined: July 2007
- Offline
you are on the right track, but now you'll get the same effect as without rest or worse, because rest will be the same for all frames.
you need to update rest according to your sequence
the easiest method is to just track it's transform, kind of this way:
xform SOP with -$CEX, -$CEY, -$CEZ in position
then attach rest
to calculate rest you need to precompute bounding box from the whole sequence (it won't be so big since position is compensated)
then use that bbox as reference for isooffset and rest computation
then apply inverse transform with second xform SOP
it's just a simple method since it is not deforming/rot/scaling the rest, only translating it
look at the attached file for example
to achieve more realistic rest volume you can probably create it through volume vop and pointclouds from rest point attribute of your source object
you need to update rest according to your sequence
the easiest method is to just track it's transform, kind of this way:
xform SOP with -$CEX, -$CEY, -$CEZ in position
then attach rest
to calculate rest you need to precompute bounding box from the whole sequence (it won't be so big since position is compensated)
then use that bbox as reference for isooffset and rest computation
then apply inverse transform with second xform SOP
it's just a simple method since it is not deforming/rot/scaling the rest, only translating it
look at the attached file for example
to achieve more realistic rest volume you can probably create it through volume vop and pointclouds from rest point attribute of your source object
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
tamte,you are a great man!Thank you for all~
I'd like to config it,but….Every morining I take a new question to you….Did I be cursed?@.@:shock: :shock: :shock:
——————————————————
I saw the file from your help,in my thought,you remove the object's transform,then make it's volume rest position,at last give back the transform.In the file, I can't understand the get_max_bbox's details,but I know that it supplys “density” the volume size .
The “amen” object sequence's volume texture looks like correct,so I take another test,a walking body's object sequnce.Then a new question appended…
The images are here.
I'm thinking about the reason,and the picture is my explain for the texture moving…
The “amen” object sequence's volume texture looks like correct,in my thought,because the breadth of the object-pivot's change is small…
Maybe you need my obj sequnce,but it's too big(20M).So…I'd better send it by email@.@
Am I right or not?Waiting for help-.- :idea: :idea: :idea: :idea:
I'd like to config it,but….Every morining I take a new question to you….Did I be cursed?@.@:shock: :shock: :shock:
——————————————————
I saw the file from your help,in my thought,you remove the object's transform,then make it's volume rest position,at last give back the transform.In the file, I can't understand the get_max_bbox's details,but I know that it supplys “density” the volume size .
The “amen” object sequence's volume texture looks like correct,so I take another test,a walking body's object sequnce.Then a new question appended…
The images are here.
I'm thinking about the reason,and the picture is my explain for the texture moving…
The “amen” object sequence's volume texture looks like correct,in my thought,because the breadth of the object-pivot's change is small…
newfood001
The file of “amen.rar” is the obj sequence of a box's animation from Maya.I import it to Houdini,so you can take it as a blend-shape animation.So…The xform doesn't change..When the object “moves”,the texture will still stay or not?
Maybe you need my obj sequnce,but it's too big(20M).So…I'd better send it by email@.@
Am I right or not?Waiting for help-.- :idea: :idea: :idea: :idea:
- tamte
- Member
- 8595 posts
- Joined: July 2007
- Offline
for your needs you surely need rest volume deforming with geometry
as i said:
i have not personally done it but i can have a look and try if it can be done that way
you do not have to send me anything, i'll make some test sequence, where i can see if it's working or not
the get_max_bbox for loop loops through all files in your sequence, centers them merges with previous bbox and calculates new bbox from that merge. Then this bbox is added to next one and new is calculated, so result is box which can contain your whole centered sequence
as i said:
tamte
…
it's just a simple method since it is not deforming/rot/scaling the rest, only translating it
…
to achieve more realistic rest volume you can probably create it through volume vop and pointclouds from rest point attribute of your source object
i have not personally done it but i can have a look and try if it can be done that way
you do not have to send me anything, i'll make some test sequence, where i can see if it's working or not
the get_max_bbox for loop loops through all files in your sequence, centers them merges with previous bbox and calculates new bbox from that merge. Then this bbox is added to next one and new is calculated, so result is box which can contain your whole centered sequence
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
- tamte
- Member
- 8595 posts
- Joined: July 2007
- Offline
i've made simple example of transfering point rest to volumes, making noise deform with deforming geometry using volume VOP SOP and pointclouds
it's just a simple idea implementation
it works best with dense meshes because then the pointcloud search radius can be smaler and accuracy is probably better
i can imagine problems when deforming mesh is intersecting itself or when parts whose were away from each other in rest pose are very close together(within the search radius) that can cause some stretching
here is example file
it contains switch that switches example deforming geometry(so everyone can see) and your sequence which you sent me
and here are 2 videos
the shading quality is probably not best, but you can see the noise is deforming with the geometry
on movie from your geo sequence there are some artifacts originating in eye area caused probably by the fact that your mesh is not closed, and open eye sockets confuse isooffset
it's just a simple idea implementation
it works best with dense meshes because then the pointcloud search radius can be smaler and accuracy is probably better
i can imagine problems when deforming mesh is intersecting itself or when parts whose were away from each other in rest pose are very close together(within the search radius) that can cause some stretching
here is example file
it contains switch that switches example deforming geometry(so everyone can see) and your sequence which you sent me
and here are 2 videos
the shading quality is probably not best, but you can see the noise is deforming with the geometry
on movie from your geo sequence there are some artifacts originating in eye area caused probably by the fact that your mesh is not closed, and open eye sockets confuse isooffset
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- newfood001
- Member
- 12 posts
- Joined: April 2010
- Offline
Ya,you are a greate expert!
For me,the nightmare is over~ Thank you!
————————————————————–
In my thought,you get the position,the volume space from the geometry,and use the “rest position” to stick the volume shader.
Your thought of the poblem about eyes is right.In my thought,it's a sample problem , so if I import eyes and the problem will be corrected.
I'm poor on Houdini's kernel now,although I couldn't understand something of your file now,e.g. how some connections run,but your method is usefull and I'll try to understand that and be strong in Houdini~
Thank you for your help in this week ~
—————————————————————
Ha,I'll do some cloud animation test~But the GI do not work for volume,and the shading quality is not very good.
Try…Try…Try… :roll:
For me,the nightmare is over~ Thank you!
————————————————————–
In my thought,you get the position,the volume space from the geometry,and use the “rest position” to stick the volume shader.
Your thought of the poblem about eyes is right.In my thought,it's a sample problem , so if I import eyes and the problem will be corrected.
I'm poor on Houdini's kernel now,although I couldn't understand something of your file now,e.g. how some connections run,but your method is usefull and I'll try to understand that and be strong in Houdini~
Thank you for your help in this week ~
—————————————————————
Ha,I'll do some cloud animation test~But the GI do not work for volume,and the shading quality is not very good.
Try…Try…Try… :roll:
-
- Quick Links