Ziva Materials

Ziva Tutorials | 


With Ziva Materials, you can turn Ziva Tissues into any imaginable material, letting you rapidly simulate the consistency of jelly, steel, brains, bones, or anything, with only a few clicks. And, with Material Layers, you can achieve it all across a single tissue object. This is extremely useful for all types of character simulations, including single-volume cartoon assets.


Before you can begin varying the material properties on a Maya Object, you must first turn it into a Ziva Tissue. Check out the Ziva Tissue Tutorial to learn more about that. You may also want to have varying tet mesh weights on your tissue to influence the resolution and increase the degrees of freedom in certain areas. You can check out the Tet Mesh Tutorial to learn more.

1. Create a New Material Layer

A good way to conceptualize Ziva Materials is in ‘layers’. There always exists a base material, which can be altered with the usual parameters, and additional material layers with differing properties can be added on top to create material variation. The lower material layers will not influence the materials on top. Instead, additional layers are like masks on top.  As such, if you have a predominant materiality that applies to the majority of the tissue, it may be easiest to make this your base/initial material. The smaller, varying sections are the additional layers. To get started, follow these steps:

  1. After creating your Ziva Tissue, select the tissue mesh.
  2. Go to “Ziva Menu” ---> ‘Add Tissue Property’ section → “Material Layers”
    This will automatically add a material layer to your simulation. You can find the new material node  in the Channel Box on the right-hand side. It will be located ABOVE your base material.
  3. Then, alter & test your new material’s parameter settings.

2. Alter the Material Parameters

Young's Modulus

The Young’s Modulus setting is one of the key parameters. The name, although likely unknown to many, is a common term in engineering used to measure the stiffness of real world materials. As such, with a simply web search, you can find detailed lists of the Young’s Modulus measurements for different real-world materials such as gelatin, bones, wood, steel, and much more (Click here). You can enter these values in Ziva and get the exact material result!

In Ziva, the default Young’s Modulus value is 12, and Young’s Modulus Exponent is 10^3 (which is representative of typical muscle tissue). 

Poisson's Ratio

Then, there is the Poisson’s Ratio parameter. Poisson’s Ratio defines the relative change in volume under material stretching and successfully controls volume preservation under small deformations. Values near 0.5 cause the simulated material to act unnaturally stiff, so we don’t recommend putting Poisson’s ratio too high (e.g. stay below 0.45).

Volume Conservation

Lastly, Volume Conservation controls the liquidity and compression resistance of a material. Typically, the numeric value for volume conservation is set to  be 10^2 – 10^7 greater than that of Young’s Modulus. With a sufficient level of volume conservation or compression resistance in ZIVA VFX, you can even achieve a soft, goop-like behaviour.

The distinction between Volume Conservation and Poisson's Ratio, is that Poisson’s Ratio attempts to preserve volume per tet, whereas Volume Conservation considers the entire neighbours - so volume lost in one tet will be pushed into a neighbouring tet. One of the nice benefits of Volume Conservation over just using Poisson's Ratio, however, is that it will help you avoid what is known as "locking" - where the mesh gets stuck because the locally enforced volume conservation makes the tets get wedged together.

We suggest that you run the simulation at this point to see the material results. That said, it is not until you paint a material map that the variations will be visible.

3. Paint the Weight Map

With Ziva’s painting tools, you can choose whether you want to paint on the new material property or erase away areas from the select material layer to indicate where the Base Material will show through.  Simply put, Black = Select material type is not visible, White = Select material type is visible.

  1. Right-click on any area of your character and the Materials menu will appear.
  2. In the Materials Menu, go to “Paint” --> “zMaterials”---> Select material layer you wish to alter.
    If you are starting from scratch, there should only be 2 options.
  3. Once you’ve selected the material,  a paintbrush cursor and menu will appear.
  4. Paint the areas where you want the variation to occur.
  5. Selected the “smooth” option and then the “flood” option located on the Paintbrush Menu.
    This function will automatically smooth out the otherwise rough painting we just completed. This creates a more organic, natural transition between the painted and not-painted areas.
  6. Continue altering the material parameters as needed or perfecting your map.

Keep in mind, you cannot paint the base Material whatsoever. The base material layer is fixed. Only the parameters can change.

Tip: You can also select the vertices where you’d like the new material to be, prior to creating the new Material Node. Once the verts are selected, you can then create the new Material Layer and alter with the paintbrush as needed. We recommend trying both option so you can find the strategy that work best for you.
June 28, 2017

If you're trying to force more ballistic motion in general, you can try increasing the massDensity of the tissues (on the zMaterial node) Alternatively, if you wanted to see this effect globally, you could scale down the zSolver, which effectively makes the muscles larger in "solver space". Note that assuming your model is at the correct scale as it is, then you'd be moving away from 'real world' values if you adjust the solver scale, or mass density.

September 14, 2018

Hmm implementation of the prune tool has been updated to support zMaterials, zTets, zFibers. It has been quite easy to implement. One question I have though, is that in the Base objects zMaterial (zMaterial which is created upon the zTissue) has a locked value of 1. In this case. I was wondering if there was any need or possible way to edit the weights of the base zMaterial of if there is ever a need to, since if not i'll omit it from the list of available maps.