Jump to content

Visible voxels in collision object in pyro sim


emesse92

Recommended Posts

Hi everyone!

I'm struggling to get rid of those sharp voxels in the sim. I have a pyro solver, and I have tried increasing a lot the res in the Volume Object, Volume Rasterize Attrib, Points from Volume, increasing substeps, also the collider has a very decent mesh and it's also subdivided. I also tried using the collision object as a proxy vdb, and also using it as a collision volume inside the pyro solver. It's been very frustrating.

I also found other posts with the same question, but still without any luck after all I have tried.

 

 

 

 

I know the collision object may be causing all of this voxelization, but I keep on increasing the res, and I'm still getting the same results.

  

Any help on this will be much appreciated!


Thanks

 

 

 

houdinifx_iR3DH16X34.png

SnippingTool_qQG4LWzQ2z.png

houdinifx_ciRrTrgAH6.png

houdinifx_el4sa1R26K.png

houdinifx_ny0fGrQSMg.png

houdinifx_wZQq0Pp990.png

untitled6.mp4

Edited by emesse92
Link to comment
Share on other sites

Visible voxels means you have pushed density to the maximum. It's like clipping audio, after passing the red line on the meter all you hear is distortion. Try cutting your density in half inside a volume wrangle.

@density *= 0.5;

Alternately, add more dissipation to remove density. 

Also conduct some test renders. Sometimes the viewport is misleading.

  • Like 4
Link to comment
Share on other sites

In addition to Atom's excellent suggestions, double-check your viewport display options: in the Texturing tab, make sure you're not limiting the 3D Texture display resolution which can lead to blocky and low-res viewport visualization

  • Like 2
Link to comment
Share on other sites

On 28/06/2021 at 12:02 AM, Eyeracker said:

Hi emesse92,

Is it possible to post your .hip file?

Hi Eyeracker

Turbine7.hip

 

Also one of the things I found is that the scene is taking too long to sim everything.

 

On 28/06/2021 at 1:37 PM, Atom said:

Visible voxels means you have pushed density to the maximum. It's like clipping audio, after passing the red line on the meter all you hear is distortion. Try cutting your density in half inside a volume wrangle.


@density *= 0.5;

Alternately, add more dissipation to remove density. 

Also conduct some test renders. Sometimes the viewport is misleading.

Hi Atom

Thanks for your quick reply on this and all your great suggestions,

I have a couple of volume wranglers but just for cropping out the volume in some places and split it in 2 so I can have a Temperature value using a name SOP after the VolumeWrangler

#Currently what I have:

float u = fit(@P.x, chf("min_x"), chf("max_x"), 0, 1);
@density *= chramp("ramp_density", u);


#This is what you mean ?

float u = fit(@P.x, chf("min_x"), chf("max_x"), 0, 1);
@density *= (chramp("ramp_density", u))/2;

Or are you suggesting adding a new volume wrangler before all of this?

I'm also adding more dissipation too.

 

On 28/06/2021 at 7:22 PM, ryew said:

In addition to Atom's excellent suggestions, double-check your viewport display options: in the Texturing tab, make sure you're not limiting the 3D Texture display resolution which can lead to blocky and low-res viewport visualization

Hi ryew 

Thanks for this, I have changed it now.

Edited by emesse92
Link to comment
Share on other sites

Hi again,

 

On 28/06/2021 at 1:37 PM, Atom said:

Visible voxels means you have pushed density to the maximum. It's like clipping audio, after passing the red line on the meter all you hear is distortion. Try cutting your density in half inside a volume wrangle.


@density *= 0.5;

Alternately, add more dissipation to remove density. 

Also conduct some test renders. Sometimes the viewport is misleading.

 

Having a deeper look at my setup, I forgot that I created a "Gas Field Wrangler" connected to the Pyro Sparse Solver with a high scale

@density *= ch("scale");

Now I changed back to your recommendation Atom ,Thanks again.

image.thumb.png.94cbb11e843a73252fa1855de7caa142.png

 

This now works a lot better, and also the sim runs a lot quicker

And Also I don't see to see more voxels anymore, maybe it was the resolution issue with my viewport as you guys mentioned.

 

 

Link to comment
Share on other sites

Hi emesse92,

I have a different approach to this problem. So, I made some changes to your file:

1. Changed the scale in the gas wrangle node inside your DOP Network to 1, so that we are not deleting any density.

2. Added a gas diffuse micro-solver to your DOP Network. Like Atom said, the density voxels are getting clamped. So basically it's an aliasing problem. I am assuming this is partly due to your velocity fields. One way of dealing with aliasing is to add a very small diffusion; more like adding a slight blur in photoshop to fix aliasing in images. The same concept somewhat applies, but here its done in all 3 dimensions. This is exactly what the gas-diffuse micro-solver does, pushing a small fraction of density onto the adjacent voxels. The diffusion has to be very small, like say 2.5% otherwise the simulation will look mushy.

I did some tests on the file and even at half your original resolution, I was able to get rid of most of the sharp voxels. At the original resolution, I expect the results to be a bit better. Try experimenting with the diffusion rate to find out what works for you. The only downside is that you might lose some detail in your simulation.

3. Changed the mode under volume collision in static object to volume sample and linked a precomputed SDF volume of collision geometry into the proxy volume slot. Also changed the division method to size. For me, the previous setup was taking up a lot of processing time before the actual simulation. So your sim should be even faster now. In my opinion, with the division method to set to size, its easier to set the voxel size of the SDF collision geometry and also gives you the option to link this with your existing voxel size essential giving you more precise control. Please refer back to your obj/COMPRESSOR_COLLIDER to see all the changes made.

For some odd reason, the 'attribnoise' nodes don't work in my version of Houdini. I believe this might be because I'm using a newer version of Houdini. So if some nodes don't work for you, try to recreate the changes within your version of the file. The setup is pretty simple and you should have all the other nodes that I used.

Hope this helps you out.

 

Turbine7_Modified.hip

Edited by Eyeracker
  • Like 3
Link to comment
Share on other sites

12 hours ago, Eyeracker said:

Hi emesse92,

I made some modifications to your file:

1. Changed the scale in the gas wrangle node inside your DOP Network to 1, so that we are not deleting any density.

2. Added a gas diffuse micro-solver to your DOP Network. Like Atom said, the density voxels are getting clamped. So basically it's an aliasing problem. I am assuming this is partly due to your velocity fields. One way of dealing with aliasing is to add a very small diffusion; more like adding a slight blur in photoshop to fix aliasing in images. The same concept somewhat applies, but here its done in all 3 dimensions. This is exactly what the gas-diffuse micro-solver does, pushing a small fraction of density onto the adjacent voxels. The diffusion has to be very small, like say 2.5% otherwise the simulation will look mushy.

I did some tests on the file and even at half your original resolution, I was able to get rid of most of the sharp voxels. At the original resolution, I expect the results to be a bit better. Try experimenting with the diffusion rate to find out what works for you.

3. Changed the mode under volume collision in static object to volume sample and linked a precomputed SDF volume of collision geometry into the proxy volume slot. Also changed the division method to size. For me, the previous setup was taking up a lot of processing time before the actual simulation. So your sim should be even faster now. In my opinion, with the division method to set to size, its easier to set the voxel size of the SDF collision geometry and also gives you the option to link this with your existing voxel size essential giving you more precise control. Please refer back to your obj/COMPRESSOR_COLLIDER to see all the changes made.

For some odd reason, the 'attribnoise' nodes don't work in my version of Houdini. I believe this might be because I'm using a newer version of Houdini. So if some nodes don't work for you, try to recreate the changes within your version of the file. The setup is pretty simple and you should have all the other nodes that I used.

Hope this helps you out.

 

Turbine7_Modified.hip

Hi Eyeracker

Wow thanks for this it helps a lot, I can see you improved the file a lot with all that you mentioned above, and yes this sims a lot quicker now and the voxels are almost not there anymore.

and thanks for the explanation, everything makes more sense to me now,

Just curious which version of Houdini are you using? for the missing 'attribnoise' thing you mentioned.

 

Thanks, everyone for your quick help on this, you are the best!

 

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...