diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-11-28 16:33:17 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-11-28 16:33:17 +0300 |
commit | c4933cccfa74836ff88a6904abfaf52c8e0cde87 (patch) | |
tree | 87004e9a5c1004c7c67c9c6b80d19a670ddd4d08 /release/scripts/ui | |
parent | b83751d8c2a3fd85e6e8e301ee1f986d684b03d5 (diff) |
Mesh Deform Modifier
* Now support a Surface mode next to the existing Volume mode. This binds
the mesh to the cage mesh surface rather than it's volume.
* Implemented reusing the bone heat weighting code.
* Advantage is that it works for cage meshes that are not volumes and that
binding is much faster.
* Weak point is that disconnected components of a mesh are not guaranteed
to stick together (same problem exists with bone heat weighting).
* Bind weights could still be compressed better to use less memory.
Example file:
http://download.blender.org/ftp/incoming/cloth_mdef_surface.blend
Diffstat (limited to 'release/scripts/ui')
-rw-r--r-- | release/scripts/ui/properties_data_modifier.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/release/scripts/ui/properties_data_modifier.py b/release/scripts/ui/properties_data_modifier.py index 26b2c2a34f2..c43dbd9c90a 100644 --- a/release/scripts/ui/properties_data_modifier.py +++ b/release/scripts/ui/properties_data_modifier.py @@ -365,11 +365,11 @@ class DATA_PT_modifiers(DataButtonsPanel): def MESH_DEFORM(self, layout, ob, md, wide_ui): split = layout.split() col = split.column() - col.label(text="Object:") - col.prop(md, "object", text="") - if md.object and md.object.type == 'ARMATURE': - col.label(text="Bone:") - col.prop_object(md, "subtarget", md.object.data, "bones", text="") + sub = col.column() + sub.label(text="Object:") + sub.prop(md, "object", text="") + sub.prop(md, "mode", text="") + sub.active = not md.is_bound if wide_ui: col = split.column() col.label(text="Vertex Group:") @@ -385,14 +385,16 @@ class DATA_PT_modifiers(DataButtonsPanel): layout.operator("object.meshdeform_bind", text="Unbind") else: layout.operator("object.meshdeform_bind", text="Bind") - split = layout.split() - col = split.column() - col.prop(md, "precision") + if md.mode == 'VOLUME': + split = layout.split() - if wide_ui: col = split.column() - col.prop(md, "dynamic") + col.prop(md, "precision") + + if wide_ui: + col = split.column() + col.prop(md, "dynamic") def MIRROR(self, layout, ob, md, wide_ui): layout.prop(md, "merge_limit") |