Akabane Posted November 11, 2010 Share Posted November 11, 2010 (edited) Hey guys! I'm trying to setup some houdini clouds. Let's say i'm happy with my overall shape, and I have this volume that represents my cloud. Now obviously when I render it it is supersmooth, which is not good. How can I displace it? Inside volumeVOP there doesn't seem to be a displace volumevop or something... I need it because I really need the wispyness of the end of the clouds and I thought the best way is to displace the volume, instead of doing some crazy superHeavyHighPolyGeo->volume afterwards. But if i'm wrong, new solutions welcome! Mixing volumes together or using volumeVOP with noise won't do, because i need it only in the external parts of the volume, not in all of it. Neither will do the pyro shader noise mod. Any tip/help? Thanks Edited November 11, 2010 by Akabane 1 Quote Link to comment Share on other sites More sharing options...
pclaes Posted November 11, 2010 Share Posted November 11, 2010 (edited) As far as I know there are two streams of thought that tend to work well. Each come with their own set of problems though. 1) you add your fine detail in the shader. You do the displacement and noise and edge sharpening inside the shader. This tends to work well for slow moving volumes, but can become troublesome when dealing with simmed data as you have to take care of your rest fields properly. When you have any kind of speed-up or slow-down (slow motion smoke for example) this type of setup can get quite complex. 2) For fast moving smoke, sim it at high res. Potentially sim it at low res first and then up-res it. And just perform some edge sharpening (remapping of the density) - but no extra detail in terms of noise/displacement is added in the shader. (problem here is lots of data and longer sim times - so best to optimize the solver.) There is some interesting info on clouds modeling/shaping with noise here: http://tessendorf.org/reports.html Edited November 11, 2010 by pclaes 1 Quote Link to comment Share on other sites More sharing options...
bunker Posted November 11, 2010 Share Posted November 11, 2010 I would use displacement at render time in the shader, it's the only way to get sub-voxel details. A good trick I found was to use the vel fields as Position for noise ( instead of Rest ) and mix it with another custom field used as a mask ( to specify where you need noise patches ). Of course, that works only if your clouds don't move too much. You could also try using the rest fields but you might get some "popping" problems. hope that helps 2 Quote Link to comment Share on other sites More sharing options...
Akabane Posted November 11, 2010 Author Share Posted November 11, 2010 (edited) Thanks a lot guys for your tips. The clouds do not need to move, and they're not DOP simulated. It's basically all isooffset. I'll move the whole cloud container, so no internal movement needed. So I'd prefer going with the shader displacement...the only thing is, I don't know where to start. Is there some guide or something that can walk me through the creation of a displacement shader? (Btw, does the volume need a specific displacement instead of the one used for example in the surface shaders?) In the meantime I went with grid-dependent volume VOPS...they're not bad, but of course, they're resolution-dependent...I've been able to push a single cloud up to around 5 megavoxels but it's really really slow (either to process and of course visualize if the visualization is on). Really looking forward to some tips for the displacement volume shader, if you can share some info it'll be great! @peter: Thanks for the papers, those are really interesting! Edited November 11, 2010 by Akabane Quote Link to comment Share on other sites More sharing options...
luoqiulin Posted November 12, 2010 Share Posted November 12, 2010 (edited) Hi i'm testing clouds too , bunker's suggestion is helpful for me! and this is some of my idea , wish it's helpful for you Edited November 12, 2010 by luoqiulin Quote Link to comment Share on other sites More sharing options...
Akabane Posted November 12, 2010 Author Share Posted November 12, 2010 Hi Luoqiulin, your cloud sure looks great! But I'm seeing that you're modifying it with volumeVOP, so it's the same as me, resolution-dependant. By the way, the image looks awesome! What is your resolution for that thing, out of curiosity? Quote Link to comment Share on other sites More sharing options...
luoqiulin Posted November 12, 2010 Share Posted November 12, 2010 (edited) What is your resolution for that thing, out of curiosity? oh extremely high ,850*625*284 ,are you use isofffest? only one thread can be use ,it spend too much time on building it, about 15 minitues.and if the geo is complex it spend much much more time. Edited November 12, 2010 by luoqiulin Quote Link to comment Share on other sites More sharing options...
Akabane Posted November 12, 2010 Author Share Posted November 12, 2010 Yeah I'm using isooffset, and yes that is slow. Actually I create the shape with a sampling ranging from 30 to 50 to keep the viewport speedy and the data footprint at the minimum, but when I bake the hires cloud I went up to 550, and it takes a good while (and occupies 450megs on disk per cloud file). Skyrocketing it to 850 will more than double the processing time...the worst thing about all of this is that the geometry rop actually cooks inside the main houdini scene, freezing it until it has finished T_T (And I'm also using multiple volume vops which take an eternity to process with that high res geo...) Anyway thanks for sharing Quote Link to comment Share on other sites More sharing options...
luoqiulin Posted November 12, 2010 Share Posted November 12, 2010 Yeah I'm using isooffset, and yes that is slow. Actually I create the shape with a sampling ranging from 30 to 50 to keep the viewport speedy and the data footprint at the minimum, but when I bake the hires cloud I went up to 550, and it takes a good while (and occupies 450megs on disk per cloud file). Skyrocketing it to 850 will more than double the processing time...the worst thing about all of this is that the geometry rop actually cooks inside the main houdini scene, freezing it until it has finished T_T (And I'm also using multiple volume vops which take an eternity to process with that high res geo...) Anyway thanks for sharing i think we are using the same method , but i don't like freeze anything in the hip instead of rop as file maybe someone should give us other new idea!! Quote Link to comment Share on other sites More sharing options...
dpz Posted November 13, 2010 Share Posted November 13, 2010 Hi i'm testing clouds too , bunker's suggestion is helpful for me! and this is some of my idea , wish it's helpful for you elo, i'm pretty new to working with volumes in houdini and there's a bunch of things i really don't get. how do you get this volumeVOP setup (seen in your screenshot) working without multiplying by density properly? what exactly is this volume_sample_from_file good for? - helpfile is not cooperating with my brain in that case. would you maybe share that file? cheers, -chris. Quote Link to comment Share on other sites More sharing options...
luoqiulin Posted November 15, 2010 Share Posted November 15, 2010 elo, i'm pretty new to working with volumes in houdini and there's a bunch of things i really don't get. how do you get this volumeVOP setup (seen in your screenshot) working without multiplying by density properly? what exactly is this volume_sample_from_file good for? - helpfile is not cooperating with my brain in that case. would you maybe share that file? cheers, -chris. ok here you are! yun.rar 1 Quote Link to comment Share on other sites More sharing options...
aracid Posted November 15, 2010 Share Posted November 15, 2010 Hey man great stuff here have you taken a look at the volume compress SOP? I was playing with it a while back and it was amazing how much detail I could preserve whilst keeping the file size down. Quote Link to comment Share on other sites More sharing options...
dpz Posted November 16, 2010 Share Posted November 16, 2010 nice, thx for sharing. =) Quote Link to comment Share on other sites More sharing options...
cgstar Posted November 24, 2010 Share Posted November 24, 2010 nice thx! Quote Link to comment Share on other sites More sharing options...
dpz Posted December 18, 2010 Share Posted December 18, 2010 hi. just trying some simple shader-based displacement and some questions came up very soon. have a look at the setup here ( http://i.imgur.com/SseCz.png ) please. a single image gives me the result i expected. but as soon as i start to animate i can see the object moving through the noise ... as expected, too. so i add .. .. 1) a rest_SOP -> no changes .. as expected .. 2a) a restP_VOP (not seen in the image but tested) -> empty image (no color/alpha) or .. 2b) a transform_VOP (not seen in the image but tested) to change from cam_space to object_space as stated in the aanoise_helpfile -> empty image (no color/alpha) so i guess i need some help to set this up properly. thx in advance. cheers, -chris. Quote Link to comment Share on other sites More sharing options...
mawi Posted December 18, 2010 Share Posted December 18, 2010 hi. just trying some simple shader-based displacement and some questions came up very soon. have a look at the setup here ( http://i.imgur.com/SseCz.png ) please. a single image gives me the result i expected. but as soon as i start to animate i can see the object moving through the noise ... as expected, too. so i add .. .. 1) a rest_SOP -> no changes .. as expected .. 2a) a restP_VOP (not seen in the image but tested) -> empty image (no color/alpha) or .. 2b) a transform_VOP (not seen in the image but tested) to change from cam_space to object_space as stated in the aanoise_helpfile -> empty image (no color/alpha) so i guess i need some help to set this up properly. thx in advance. cheers, -chris. To create rest position for volumes you will have to create 3 volume primitives named rest.x, rest.y and rest.z The rest SOP creates restposition attributes for points. 1 Quote Link to comment Share on other sites More sharing options...
dpz Posted December 18, 2010 Share Posted December 18, 2010 thx for the reply .. but that little information won't do it for me. where\how exactly do i have to add them? do i have to pay attention to anything specific? (uniform sampling? initial value? ...) and what about shading context? (is P -> restP enough ho get the information straight?) cheers. Quote Link to comment Share on other sites More sharing options...
mawi Posted December 18, 2010 Share Posted December 18, 2010 (edited) thx for the reply .. but that little information won't do it for me. where\how exactly do i have to add them? do i have to pay attention to anything specific? (uniform sampling? initial value? ...) and what about shading context? (is P -> restP enough ho get the information straight?) cheers. Sorry. I´m not in front of Houdini now and have not looked into this for some time so I cant tell you the exact names of nodes you need. However I found this old posts that might help you. If I remember correct the .hip posted by old school in one of them is exactly what you are looking for. Edited December 18, 2010 by mawi Quote Link to comment Share on other sites More sharing options...
Macha Posted December 18, 2010 Share Posted December 18, 2010 (edited) I haven't been following this thread properly, but if you are still looking for a how-to on volume displacement, here are some nodes (red ones in shader). Sorry if it is redundant by now. voldisp.hipnc Edited December 18, 2010 by Macha 2 Quote Link to comment Share on other sites More sharing options...
dpz Posted December 19, 2010 Share Posted December 19, 2010 was more about creating restfields and feeding them to the shading context. and still no clue how to set it up properly. whatever .. thx anyway. cheers, -chris. 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.