Difference between revisions of "Morph Target Community Proposal"

From Second Life Wiki
Jump to navigation Jump to search
Line 27: Line 27:
They can also operate faster than the upcoming "Mesh Deformer" by Qarl Fizz.  No setup is required beforehand for a morph target to work, meaning no additional thread is required to calculate morph target values and weights.  They can be directly applied to a mesh at any time, and generally with a minimal number of instructions.  There's also the possibility of using them with GPU hardware acceleration as well.
They can also operate faster than the upcoming "Mesh Deformer" by Qarl Fizz.  No setup is required beforehand for a morph target to work, meaning no additional thread is required to calculate morph target values and weights.  They can be directly applied to a mesh at any time, and generally with a minimal number of instructions.  There's also the possibility of using them with GPU hardware acceleration as well.
==Workflow==
==Workflow==
TBD
==Disadvantages==
TBD
==Implementation Approaches==
TBD
==Conclusion==
TBD
TBD

Revision as of 18:25, 19 July 2012

This page is to contain the overall community proposal for "Morph Targets".

Please do not add to this page without authorization from a co-chair or a co-chair's assistant from the Content Creation Improvement User Group first. Please discuss any relevant points in the discussion tab in the wiki.

What is a Morph Target?

A morph target, also known as a blend shape, or a shape key in some 3D applications, is a special kind of "vertex map" containing the positions of vertices in relation to their original position on a mesh. They are relatively easy to work with, only requiring the content creator to "sculpt" or otherwise move the vertices on their meshes to the positions they'd like for a morph target.

Most 3D applications support authoring morph targets, such as Luxology Modo, Autodesk 3ds Max, Autodesk Maya, and Blender. The Collada file format also supports morph targets.

What are they used for?

Most modern video games use morph targets for complex animations that would otherwise be hard to accomplish with skeletal animation, such as facial animation, and even things like character customization. The viewer its self actually uses morph targets to enable avatar customization as-is.

A a small list of examples of what they could be used for in the context of Second Life include:

  • Complex facial animations on rigged meshes
  • Additional ways for a user to customize the appearance of their avatar
  • Animating the surface of a prim without the need to use a custom skeleton
  • Fine grained control for content creators over how their clothing deforms

Caveats of Existing Techniques

Existing techniques, such as RedPoly's proposed cBones technique and Qarl Fizz's Mesh Deformer, have their own disadvantages that morph targets are intended to either mitigate, or solve completely.

"cBones" as they're called, have the caveat of requiring content creators to rig many more bones than what would otherwise be necessary for simply animating a rigged mesh. It extends the workflow of rigging a mesh substantially into taking several hours of work; sometimes with a significant amount of trial and error. On top of that, a content creator sometimes is working "blind" with regards to what the final outcome will be in-world. This is not seen as an ideal workflow, as it increases the burden on content creators to produce this content. It does, however, provide more control over the deformation process, and is potentially faster than Qarl's mesh deformer.

Qarl's mesh deformer has the benefit, and caveat, of deforming a rigged mesh in accordance to the avatar's current shape automatically. The reason why some may see this as a caveat, is because this doesn't ensure correct deformation all the time. An example of where this may be undesirable can include custom mesh avatars, where the entire avatar mesh is replaced. A content creator may want to make their avatar's belly deform differently than the avatar mesh's belly does, or may want to have their avatar's breasts deform differently. This is a problem that morph targets could easily solve, by putting content creators in control of how a rigged mesh deforms. The mesh deformer also currently depends on the content creator making their content around a specific shape for it to work properly. Morph targets would lessen the need for this to some degree.

Advantages of Morph Targets

Morph targets would enable greater control over how a clothing item would "fit" on an avatar. Tools already exist that allow content creators to check the fit of their clothing using rigged meshes using existing rigging techniques, and with morph targets, not only will they be able to use existing rigging techniques, but they'll have an even easier and more customizable solution to allow them to create a much broader range of clothing that fits avatars in far more realistic ways.

Testing these morph targets would be a somewhat trivial process, and could be done directly in whatever 3D application the content creator uses. No additional tools would be needed to make morph targets work for content creators; they already exist, and have for several years!

They can also operate faster than the upcoming "Mesh Deformer" by Qarl Fizz. No setup is required beforehand for a morph target to work, meaning no additional thread is required to calculate morph target values and weights. They can be directly applied to a mesh at any time, and generally with a minimal number of instructions. There's also the possibility of using them with GPU hardware acceleration as well.

Workflow

TBD

Disadvantages

TBD

Implementation Approaches

TBD

Conclusion

TBD