Sunday, January 16, 2022

Softbody Simulations

 

In real life body fat tends to have motion of its own - female breasts bounce, the belly and posterior of a fat persion jiggles, etc. - and that is best handled by softbody simulations. In DAZ Studio we have dForce, but simulations are not easy to transfer between applications. Moreover, dForce is a cloth simulator without pressure, and thus it can’t do softbodies properly. This is evident when the dForce “softbody“ collides with a prop, it doesn’t preserve the volume. At its best dForce can do bouncings, but not softbody collisions as Blender's softbody simulator can.

The DAZ Importer now has a new tool that adds a softbody simulation to Genesis characters directly in Blender. The setup was suggested by Alessandro Padovani in this thread, using ideas by Aneesh Arts explained in https://www.youtube.com/watch?v=eggOO9CIyp4. The Blender manual for softbody animations can be found at https://docs.blender.org/manual/en/3.0/physics/soft_body/index.html.

It should be stated from the outset that I am not an expert in simulations. The softbody simulation created by this tool works quite well in most cases, provided that the animation is believable. However, if the softbody object is subject to excessive force, either due to acceleration or to collsions, the softbody objects may collapse, giving the impression of a broken breast implant. Probably not the effect you were looking for. In such cases you either have to tweak the simulation parameters or modify the animation. But in most cases the softbody simulation does work and gives plausible results.

This is work in progress and available only in the development version of the DAZ Importer. It is not part of stable version 1.6.1.

The tool that adds a softbody simulation is called Add Softbody and is located at the top of the Finishing section. It is very important that the softbody simulation is added before the main body mesh is modified in any way, e.g. by merging geografts or eyelashes to it. Therefore the button is located before the merging tools.

Easy Import also has an option to add softbody simulations.

Three kinds of softbody objects can be added; chest, belly and glutes. You probably want all three kinds to simulate an obese person with much body fat everywhere, whereas for a slender woman the chest option may suffice. There is also an option to combine all there softbodies into a single object. Keeping multiple softbody objects makes it possible to tweak the simulation parameters independently, but adds to the complexity.

Collision objects for arms and legs can be added. If you only add softbody for the chest you probably only want to add collision objects for the arms, since it is unlikely that the chest will collide with the legs.

Finally there are options to add a corrective smooth modifier to the meshes and to remove existing softbody objects.

A new collection called Simulation is added. It contains the collision and softbody objects. The collection is hidden, but we may unhide it in the viewport to tweak the simulation parameters.
When visible, the softbody objects are red and the collision objects are green in the viewport. If the simulation does not work as intended, the simulation parameters may be tweaked here. The video by Aneesh Arts explains the meaning of the simulation parameters well. The Blender documentation is also a valuable resource.
If you create a combined softbody objects, you can still assign different masses to the parts with the MASS vertex group

The simulation goal is the vertex group that is pinned during the simulation. By default the goal is the vertex group PIN. The tool defines another vertex group, PIN BRA, which may be a more suitable goal if the character wears a bra which prevents the bottom of the breasts from bouncing freely. You can of course also define your own vertex groups if your character is wearing clothes that keeps parts of the body fat in place.

The simulation is only using the softbody and collision objects. Since those have a low polygon count, the simulation is quite fast. The deformation of the meshes is done by surface deform modifers.

Note that the surface deform must be unbound before any changes to the mesh is done. The Merge Geografts and the new Merge Meshes tools are aware of that, and unbind any surface deform modifiers first and rebind them again once they have finished.

Tuesday, January 11, 2022

DAZ Importer and MHX Runtime System Version 1.6.1 Released

Stable versions 1.6.1 of the DAZ Importer and MHX Runtime System have been released. They can be downloaded from https://www.dropbox.com/s/ufps8ip4xqxyqy3/import_daz_mhx_rts_v1_6_1.zip

Main new features:

  • Support for Blender 3.0. 
  • Many bug fixes

The new versions also contains some new features.

  • Support for ERC morphs (morphing armatures).
  • Improved UI for morphs.
  • Better support for instancing.
  • Better metal materials.
  • Support for DAZ decals and layered images.

I want to thank Xin, Jeroen B, and especially Alessandro Padovani for helpful suggestions, and Suttisak Denduangchai and ViSlArT for contributing code.


Xin's HD Morph Add-on

Xin's daz_hd_morphs add-on was bundled with the DAZ Importer in version 1.6.0, but not in 1.6.1. The latest version can be downloaded from
https://bitbucket.org/Diffeomorphic/import_daz/issues/attachments/814/Diffeomorphic/import_daz/1640639852.54/814/v0_81_1-0_82_1.7z

The source is also available in the following repository: https://gitlab.com/x190/daz-hd-morphs . There you can find compilation details for the .dll under MinGW on windows x64 (the code should work on Linux too with some small modifications).

Information about how to use the tool can be found in
https://bitbucket.org/Diffeomorphic/import_daz/issues/357/blender-addon-to-generate-rigged-hd-meshes
https://bitbucket.org/Diffeomorphic/import_daz/issues/814/blender-addon-to-generate-rigged-hd-meshes


Removing Old Versions

Old versions of the add-ons can cause conflicts when you install the new versions, because they will prevent that the new files are copied to the right location. We must therefore remove them first.

Open Blender and the Blender Preferences window. In the Add-ons tab, unstall the add-ons (DAZ Importer, MHX Runtime System, etc.).
Quit Blender and go to the location where Blender stores the add-ons. On my computer it is C:/Users/Thomas/AppData/Roaming/Blender Foundation/Blender/2.83/scripts/addons.
Delete the folders that contain the old versions of the add-on. Now the old add-ons will not cause any conflicts and we can proceed to install the add-ons as described in the documentation.