Augmero V2 Physics Workflow

augmero's physics workflow - Ziva Dynamics for Blender

Last edited: 01/10/2023, version history on GitHub

supporting video documentation - https://www.youtube.com/watch?v=hnPJCRaTDEo

Disclaimer:

This is an experimental workflow. I don't necessarily recommend anybody actually do this.

If you are new to Blender or 3D this post is probably not for you, but bookmark it for later if you're interested

However, if you are looking beyond Blender native physics I hope some of these notes will be useful!

If you found this page and don't know who augmero is, fair warning some links are going to be NSFW. While this workflow can be useful for more general applications, I am using it for NSFW content

Lastly, if you have ideas / improvements let me know! I'll keep this page updated



Tools:

  1. Blender
  2. Maya + Ziva Dynamics plugin



What is Ziva Dynamics?



Why not just use Maya?



Surface Deform is better than Mesh Deform

In previous versions of my workflow I used the Mesh Deform modifier, if you're interested in this method historical versions are still accessible via github. Here are some pros and cons comparing Surface Deform to Mesh Deform:

Pros

  1. Much more accurate deformations (no cage, follows the same topology)
  2. No need to remesh things to make a cage for the main Ziva tissue

Cons

  1. Less flexible to adjusting with shape keys available after simulation
  2. It can be quite difficult in some cases to bind the surface deform modifier



Overview

If you are new to Ziva/Maya, please watch the elephant tutorial, it goes over most of the basics: https://www.youtube.com/watch?v=QA6C9xzf4f8

These are the general steps for my workflow:

  1. Make an animation with any model in Blender
  2. Make the tissue and bone meshes, export to Maya
  3. Set up and run Ziva physics sim in Maya
  4. Export Ziva physics sim, import to blender
  5. Surface deform original model

Supporting video documentation for this workflow - https://www.youtube.com/watch?v=hnPJCRaTDEo



Step 1 - General set-up



Step 2 - Building the exports for Maya, and then exporting them

There are many ways to prepare your tissues and bones for Ziva, if you've got a better way let me know!

Ziva is picky about what it lets you use as a tissue or bone. If you run into issues here's some documentation on what Ziva is looking for zMeshCheck

zBone example: hands

For some context, a zBone in Ziva is part of the simulation that is rigid and can collide with things

Hands aren't incredibly squishy so to save on physics simulation calculations I just make them a bone.

  1. Duplicate the model's mesh and remove all irrelevant vertices
  2. Fill the holes with grid fill
  3. That's it!

zTissue example: body physics cage

zTissue in Ziva is where squishy happens and there's a lot of settings to play with

  1. Duplicate the model's mesh and remove all irrelevant vertices
  2. Test if the tissue is good by adding a surface deform modifier to the original model, adding the new one as the target of the modifier, and binding. Then test it by adding modifiers to the cage to make sure all the vertices are affected
  3. Copy the vertex groups from your original mesh onto your new one using the data transfer modifier
  4. Clean up deformation artifacts with corrective smooth modifier

Exporting to Maya

It's export time



Step 3 - Set up the Ziva sim in Maya and run it

The elephant tutorial can probably teach the basics of Ziva better than me, here's a link again https://www.youtube.com/watch?v=QA6C9xzf4f8

The elephant tutorial is quite similar to what I do, but my alembics are coming from Blender instead

However, there are some specific notes I'd like to share

General Steps

  1. Set your Maya framerate to the same framerate you use in Blender
  2. Import Blender alembic files into Maya
  3. Duplicate it twice (ctrl d), it's going to do multiple things
  4. One version will now be part of the physics sim, make it a zTissue
  5. The other version is now going to become an animated zBone (disable collisons) for attaching the zTissue to
  6. Make attachments from the zBone to the zTissue
  7. Optional step: I've been getting improved results by using this alembic as a zRestShape of my zTissue

I have left these steps fairly generic / sparse because the elephant youtube tutorial does such a good job of describing many things in Ziva, and there's a lot of artistic freedom here. This is a really fun part of the flow. There are some more specific Ziva notes I added after Step 5, I'll link them here. They are also in the floating menu

Clothing
Expansion


IMPORTANT NOTE READ THIS: REVISIONS

Revisions are super important for any workflow, here's how to efficiently re-export/re-import your Blender alembics without having to re-do any of the later steps.
  1. Save the Maya scene and then export your Blender alembics, overwriting the existing files.
  2. Use file->open recent and open the same file you currently have open. In reloading the file Maya will get the new animations you exported and you can run your physics simulation again!



Step 4 - Export Ziva physics sim, import to Blender

  1. In Maya, select the mesh you want to export and click Cache -> Alembic Cache -> Export Selection to Alembic (this will play the animation as it's exporting)
  2. In Blender import the file you just exported from Maya



Step 5 - Surface deform the original model in Blender

Simple example of the modifiers at the top of my stack for my render mesh:

surface deform examples screenshot

That's it! If everything went perfectly the deformations simulated in ziva will now show up on the render mesh



Clothing

Some notes on clothes

For interactive clothing, I add another zTissue but for the clothes in the physics sim

This can have a good result on its own, but to take it a step further software like Marvelous Design can be used as another step afterwards



Expansion

Expansion / inflation, there's a lot of possibilities and potential here

Two main ways I've found to change the proportions on your character with Ziva

  1. zMaterials with rest scale
  2. zRestShape



Additional Links and Resources

Ziva first party documentation

If you're curious, the Ziva rabbit hole goes much further than the simulations I've been doing. Here's some crazy forum posts I was looking at