Environment Loads Incorrectly due to Custom Modifiers

Issue #2181 open
Midnight Arrow created an issue

The asset Medieval City Block does not load correctly.

I assume this is because its assets have custom modifiers that allow them to be “snapped” in meter increments. So their world position in Daz Studio does not match what their XYZ transform is saved as. These modifiers are stored at “/data/Brad Carsten/Medieval City Block/<AssetName>/Morphs/Brad Carsten/Base/<ModifierName>.dsf”.

I tested loading a single pillar with a 5 meter offset. In Daz Studio, it is offset by 500cm, but in Blender it loads in the center.

While for completeness' sake the addon should probably scan the modifier files, a simpler way to solve this would probably be to record the evaluated position (getWSTransform()) inside Daz Studio as part of the DBZ file.

Comments (6)

  1. Thomas Larsson repo owner

    The problem is that the city walls have formulas that translate them. Formulas are ignored unless you import the file with mesh fitting = morphed, but even in that case the formulas are missed in this case. Here is a simplified scene.

  2. Thomas Larsson repo owner

    The WS transform is listed for all nodes in the dbz file. The problem lies elsewhere.

    If mesh fitting = unmorphed, the scene is not expected to load correctly since it has morphs.

    If mesh fitting = morphed, the morphs are not loaded in this case. This is probably a bug and should be investigated.

    If mesh fitting = dbz, the WS transform is baked into the mesh. The problem here is that the scene contains instances. We treat this by making a hidden reference object with zero transform, and then replace the original mesh with an instanced empty. The other instances are also instanced empties of the reference object. I suppose that we must undo the baking of the reference object.

  3. Alessandro Padovani

    If mesh fitting = dbz, the WS transform is baked into the mesh.

    I don’t follow, getWSTransform() should be the pivot coordinates in world space, which we miss in #2111. Unless it doesn’t work for parented objetcs ?

  4. Log in to comment