Volume Preservation

Ziva Tutorials | 


Ziva’s advanced volume preservation capability is one of the key features that enables Ziva users to achieve more realistic deformation results than with any other character rigging software on the market. Our plugin offers multiple ways to control, adjust, and perfect your tissue’s volume preservation levels using the built-in Material parameters. 

As explained in the previous material’s tutorial, the available parameters include Young’s Modulus, Poisson’s Ratio, Volume Conservation, and Density. Click here to read Part 1 of the Ziva Material Tutorials, where we delve into the functions of each parameter option. You can also visit the Ziva Docs for more on Volume Preservation.

But before you can find the perfect volume preservation settings for your simulation, you’ll likely need to do a bit of testing to see what works for you. We recommend running your simulation using the default material settings first and then adjusting as you see fit.

How to Check For Volume Preservation

An easy way to see if your simulation is adequately retaining it’s volume is to use the simple “computePolysetVolume” command. 

  1. First, go to any frame where your object is not subject to any force/deformation.
  2. Then, select the object you wish to test.
  3. Type ‘computePolysetVolume’ into the MEL Command box and press enter.
  4. At this point, you’ll see a quantity of units^2 in the response box. This is the volume of your tissue object. We recommend that you write down your tissue's volume so you can reference the exact number later.
  5. Then, scrub to a frame where the object is experiencing the complete force/collision intended.
  6. Re-enter the computePolysetVolume command. You’ll likely see a different volume quantity in the MEL response box. 
  7. Subtract Volume 2 from Volume 1. The difference equates the volume lost in your simulation at the current Material settings.

With that, you can just adjust the parameters and re-run the test to see what settings will let you achieve the greatest volume preservation possible. In many cases, you can achieve near 0 volume loss. That said, increasing the preservation levels may result in slower simulation speeds. Generally speaking, the Volume Conservation parameter, since it deals with larger deformations, will require more compute time than the Poisson's Ratio. You'll need to find a balance that works for you.

How to Check Your Sim Speed

  1. Open your Script Editor – here, you'll see detailed information about the speed of the solve, all provided automatically by Ziva.  
  2. Scroll up in the information box – you can see find substep count along with the time it took to computer the substep.
  3. Test your simulation speed with different Volume Preservation parameters.
July 12, 2018

I see on a few of your materials you have volume conservation on, and also poisson's ratio on. I'd recommend choosing one or the other. Both of the approaches refer to volume conservation and can tend to fight each other if they're both on. Volume Conservation (the attribute) is a bit slower but IMO produces nicer results. If you're using it, you might want to turn Poisson's ratio to 0.

Overall I think you've made really good choices, nice! Be cool to see how it performs on more dynamic animation

January 20, 2018

I noticed that when I set Maya's units to real world units as described in the documentation, the zSolver node scale is set to 1 (makes sense). So with the zSolver scale set to 1, I should be able to adjust my material via Young's modulus and approximate different materials (muscle, fat, etc.) I created a tissue with a couple of attachments and adjust the material for skeletal muscle 1.2 * 10 4 = 12,000.

When I play the sim, my perception of the physics of the first frames as it is affected by gravity seems very springy/bouncy more like what I would expect from jello type material.Should I not be paying attention to the first few frames of the Sim and wait until the tissue settles or is there a setting other than Young's modulus that I should be adjusting to attain the properties of muscle?Many Thanks!