catchyid Posted May 18, 2017 Share Posted May 18, 2017 Hi, I am rendering Lava FLIP simulation in an external renderer as VDB. I want to visualize the generated SDF VDB before sending it to the external renderer, meaning: I want to "see" the voxels with zero density that represent the surface, other negative voxels that represent the inside of the fluid and how thick they are (i.e. is it one layer below the surface or two layers, does it go all the way to the inner most of the fluid...), does it generate positive voxels and how many layers? I am not sure exactly how to do that? I looked into "Particle Fluid Surface" and it uses "VDB From Particle Fluid" node with "Half-Band Voxel" set to 3, so I am assuming that I have approximately 6 layers of SDF VDB. However, I could not find a way to visualize these layers easily?? ALL what I got is a something that looks like an ISO surface (plz, check attached image) I am thinking, is there a way to convert each voxel to exactly one point such that it copies the "density" attribute in the voxel? I was able to do something similar by using "Attribute from Volume" node, but it's not accurate because this node requires points cloud to copy attributes to (so multiple points might exist in the same voxel or maybe too many voxels outside the VDB altogether). Thanks, Quote Link to comment Share on other sites More sharing options...
edward Posted May 19, 2017 Share Posted May 19, 2017 VDB Visualize Tree SOP or perhaps Volume Slice SOP depending on what you need. 1 Quote Link to comment Share on other sites More sharing options...
catchyid Posted May 23, 2017 Author Share Posted May 23, 2017 Thanks Edward...I've tried both, I don't understand how VDB Visualize Tree works (meaning, I don't understand its parameters, I think I need to understand VDB data structures in order to understand this node!), and Volume Slice SOP definitely helps... However, I was hoping to find a way to query VDB densities, for example : I want a way to query (either visually or in the spread sheet) all voxels with positive densities, negative densities, zero densities, etc... I could not find a way to do that natively in VDB, so I thought about converting a VDB to points (i.e. sample VDB densities using points), however this is not easy because I want exactly one point per voxel if does exist (i.e. in VDB you might not have voxels since it's sparse) and I don't know how to match the number of the generated points to the number of existing voxels... Anyways, I don't think there is a direct way to do that.... Once more, thanks for your help Quote Link to comment Share on other sites More sharing options...
cudarsjanis Posted May 24, 2017 Share Posted May 24, 2017 Volume slice, when you choose method - points, matches the voxel count. and you can check the density value in geometry spreadsheet. If that is not good enough, you can do that in volume vop. Just add points where you have density. and color the points depending on your density values. Well as for everything in Houdini, many ways how to achieve it. 2 Quote Link to comment Share on other sites More sharing options...
catchyid Posted May 24, 2017 Author Share Posted May 24, 2017 Thaaaaaaanks Janis I have tested volume slice and it does work exactly like you described. However, when it comes to Volume VOP, I am not sure exactly how to do this test : if density > 0 execute the addpoint command? plz, see attached image where you can see what I have done... Once more thanks for your help vop_question.hip Quote Link to comment Share on other sites More sharing options...
cudarsjanis Posted May 25, 2017 Share Posted May 25, 2017 Unfortunately I can`t upload any photos or .hips at work. But I`ll try to explain what worked for me. If you are working with vdbs. make vdb visualizetree sop. change parameters so you get just points representing the volume. Than make point sop. In first input plug in points in second plug in vdb volume. Inside the vop make volume sample vex node. Connect filename to OpInput2. and pos to sample pos. this node will output density value for each point. And from here you can do pretty much what ever you need. Bind export density value for each point of just make ramp and output that to Cd. have fun Cheers 1 Quote Link to comment Share on other sites More sharing options...
derjcmp Posted May 25, 2017 Share Posted May 25, 2017 19 hours ago, catchyid said: Thaaaaaaanks Janis I have tested volume slice and it does work exactly like you described. However, when it comes to Volume VOP, I am not sure exactly how to do this test : if density > 0 execute the addpoint command? plz, see attached image where you can see what I have done... after the compare you can add a twoWayswitchVOP 1 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.