Daz Dforce issues

Aromabish

Active Member
Game Developer
Aug 4, 2017
966
1,433
Hello. Recently I was playing with push modifier and dforce weight note modifier. While push modifier offers pretty much handwork, dforce is unstable and depends from material's settings and object's quality.
I have a following question. What are the most important parameters in surface-simulation tab for hair? I tried different settings and my hair always became very thin, more transparent. Also they fall through the body most the time.
Note: I'm trying to dforce ponytail
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
Remember that dForce was designed to simulate cloth. dForce hair is a bit of a hack, although it works. Part of what you'd see if you looked at some commercial dForce hairs is that the dForce influence tapers from basically 100% at the tip of the hair (so that the ends move freely) down to 0% at the root. This way, the root (and the hair close to the root) doesn't collapse, but the strands of hair (or sheets) get more and more "bendy" as you move farther away from the scalp.
 
  • Like
Reactions: Madmanator99

hansolocambo

Newbie
Jun 21, 2020
16
6
Rich
" dForce was designed to simulate cloth "
... a "cloth", a human, a rock, a car, hair... those are nothing else than meshes.
A soft body engine don't give a fuck about what we see and understand as "a human", "hair", "a potatoe".

Where you see hair and clothes, an algorithm of soft-body simulation see quads, edges, vertices, and how each influences the others. Nothing more.

-------------

Aromabish

"What is the best setting".
If the Surface tab dForce properties are numerous it's because they all mean something specific.
The real world don't bet on the "best" physical parameters do make a leaf look like a leaf and jeans look like jeans.
It's ONLY by using Surface Properties all together that you end up with the desired result.

If you don't want to go through (but I did it for dForce and for Marvelous Designer, and you definitely should) the hassle of reading and summarizing on paper the exhaustively useful :

Simply load in your scene different already made dForce hair that simulate fast and well. Check their Surface settings. And copy/paste them on your hair.

-------------

" Also they fall through the body most the time. "

They fall through. Or they don't. "Most of the time" doesn't really fit with physics calculations ;) There's no quantum parameter in dForce.
When hairs are properly made, the root (very first quad in the hair cards) should have a Weight Value of 0%. Rest of the hair should be 100% or a gradient of values from 0% (the root attached to the scalp) to 100% or less at the tip of your hair.
If your hair falls through :
- Select hair in the Scene Tab
- Scene Tab > Option > Create > New dForce Modifier Weight Node
- Scene Tab : Select the dForce Modifier Weight Node (Not the object itself)
- (Alt+Shift+W) Node Weight Brush Tool.
- Now you're gonna have to select by surface, select by group, or (worse case scenario) select by polygon manually : all the hair roots. And patiently define their weight (Viewport right click > Weight Editing > Fill Selected) to 0%.

What I usually do to transform any old non-dForce hair (or pillow, or nose, breast, ball, anything really) into dForce compatible hair is to load the hair in the scene without a Genesis. Then export hair as obj. Load it into 3DS Max (or Maya, Blender, etc). Then I select polygons by Material ID (aka Surface in DAZ). And if hair roots don't have a specific Material ID defined, then I create it myself (new Surface, new Material assigned).
You can do all that in DAZ, but the selection system is such a turd that instead of 5 minutes you're gonna spend 2 hours doing it.

Then I import back those hair into DAZ. Assign them to the Genesis (transfer Utility). Apply Iray Uber and copy/paste original textures onto my modified hair version.
Then it's ultra simple to select only the roots with the Node Weight Map Brush tool (Right Click in the Viewport, Geometry Selection, Select By > Surfaces) and define their weight to 0%.


---------------

In a nutshell :
dForce Surface Properties are for ALL vertices in the surface (Material ID) of a mesh.
Node Weight Map enables to vary the influence of those common Surface Properties, but precisely per vertex.

For example if you have a dress with some very fluid parts, some a bit more rigid, and some very rigid. You could apply 3 Surfaces (material IDs) and define dForce properties for each of them.
But then you end up with 10 different material IDs to manage when way less could have been enough.
Most professional way is to add a dForce Modifier Weight Node in order to define how much each vertex of the object will receive of the common Surface simulation Properties.
 
Last edited:

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
Rich
" dForce was designed to simulate cloth "
... a "cloth", a human, a rock, a car, hair... those are nothing else than meshes.
A soft body engine don't give a fuck about what we see and understand as "a human", "hair", "a potatoe".

Where you see hair and clothes, an algorithm of soft-body simulation see quads, edges, vertices, and how each influences the others. Nothing more.
In the extreme and very literal case, that's true. However, a cloth algorithm tends to operate very locally on a surface, where parts of the surface that are distant from one another do not affect one another except when they collide. A full "soft body" algorithm takes (or can take) into account that the surface bounds a volume that itself has properties like density, mass, etc. Conceptually, it's much like the difference between rendering a "thin walled" bubble and a solid piece of glass. While you COULD model both identically on an atomic level, the actual algorithms used, being approximations to the full physical properties, are quite different.

The design of the dforce engine does not take into account things like "volume preservation" that are fundamental to many "soft body" engines. That's why I make the distinction between the two. So, if you want to make dForce handle your object as something other than cloth, you typically have to build in extra "structure" (e.g. cross-linkages inside tubes to keep them from collapsing) that isn't necessary in engines that "understand" the properties of enclosed volumes.

That was my point in saying that "dForce was designed to simulate cloth." (Aside from the fact that that IS what the folks at Daz designed it for.)