powroupi / blender_mmd_tools

mmd_tools is a blender addon for importing Models and Motions of MikuMikuDance.
GNU General Public License v3.0
1.8k stars 277 forks source link

Group objects using Collections instead of Empty objects in Blender 2.8 #186

Open Takuyax opened 5 years ago

Takuyax commented 5 years ago

It would make more sense for the objects "joints", rigidbodies", "temporary" and the model root object to be collections in 2.8, instead of empty objects.

Some background: In 2.8, Collections are replacing the old groups and layers, and can be linked from external blend files. So it would be possible to create a new blend file and link or append the model's root collection to import it to a new scene. This way character models, stages and animation could be separated into multiple blend files for easier managing. For some parts, like motions it would need the new static overrides, which are still hidden as experimental feature in 2.8, due to insufficient testing. (Apparently it's supposed to become an official feature in 2.8.1)

This could give Blender a similarly easy work flow as MMD:

  1. Create a new scene.
  2. Link to external model (.blend) files.
  3. Create static overrides for armature and physics.
  4. Load motions for the models.
  5. Put in some additional effort to make it original, since we've already seen Miku dance to Hi-Fi Raver 10000 times.
  6. Bake physics and render.

Fixes to the model files would be visible to all scenes that link them, without the need to re-append them.

Additionally it would mean that the toggles to show/hide rigid bodies, joints, etc. could just hide the collection instead of individually toggling the visibility of the objects. In fact toggling collection visibility in the outliner is so simple, we wouldn't even need all those visibility toggles in 3D view anymore.

powroupi commented 5 years ago

Thanks for the suggestion, but I think it might not easy to do. :cry:

Currently, the model structure is rely on parent-child relationship, no groups and no layers. If we replace it with collection, it will not be compatible with old model structure and the Scene Outliner would be messy (only Collection Outliner will look better). So I think the objects "joints", rigidbodies", "temporary" and the model root object are still necessary, we can only link them to new/additional collection. And root object is important if you want to move/rotate/scale a full model.

Currently, you might organize collections manually. (create new active collection before importing a model, then reorganize collections manually) :smile: