利用者・トーク:Lucarood/SurfaceDeform

提供: wiki
移動先: 案内検索

Hi Luca-- The deformer looks fantastic, but it's missing one feature: would it be possible to add "topological" binding, where the vertex positions of one mesh are directly set on the target?

The goal here would be to have, for example, a heavy face rig stay at origin with direct connections into the deform bones, but for that separate mesh and armature to be able to drive an identical copy somewhere else in space.

Flipping between modes could be as simple as a toggle:

Blender deformer.png

In Topology mode Interpolation Falloff could be replaced by a Vertex Weights group box, so that the effect of the source on the target mesh could also be painted out. It would also be nice to have Local vs World positioning, so that a deforming object's could be moved to add deformation effect if necessary.

Again, the functionality would be this:

   if vertex_group_weight[index] > 0.0:
       if space == 'WORLD':
           target.vtx[index].position = lerp( target.vtx[index].position, worldMatrix * source.vtx[index].position, vertex_group_weight[index] )
       else:
           target.vtx[index].position = lerp( target.vtx[index].position, source.vtx[index].position, vertex_group_weight[index] )

The important thing would be for the depsgraph to recognize what's going on so that everything flows downstream. But this would be a HUGE benefit for character rigging, and is one of the few things Blender's character stack has been missing from the beginning. It would also be of great benefit for sculptors doing facial shapes because you could set up modifiers on a separate head and paint out the effect on your current, then do Apply As Shape.

Also important: Topology mode does not need an actual bind. I'm not looking to have it determine the closest vertex at all; it would only be useful / usable on meshes with identical topology and vertex ordering.

Thanks for reading!