Wrap


The wrap system allows one mesh be wrapped onto another mesh in such a way that if the original mesh changes or deforms the wrap system will automatically adjust the other mesh along with it, so for example if you have a head that is using morphing to drive lip syncing and expressions and you have different facial hair objects that the player can choose for the character without the wrap system you would have to create the morphs for those hair meshes to match the head and then playback the right morph settings to match the head, with the wrap system you just map your facial hair meshes to the head mesh by clicking a button, and then once mapped any change to the head mesh will cause the same change to the facial hair. This can also be used for clothing on characters in avatar systems or decal objects on cars that get damaged.

The wrap system will allow normal or skinned meshes to be wrapped, so again for clothes for your character you only need to worry about building clothes for the base mesh and animating and rigging that with skin and bones once, then any morphs etc you then build for the main character mesh, ie making them fatter or thinner will change the clothes for you.

This system can also be quite useful for applying a complex deformation to a more complex mesh or to a group of meshes, for example if you had a very complex mesh that you wanted to bend, twist and stretch then all three modifiers could use a lot of CPU time, so you could instead have a LOD version of the complex mesh, apply the deformations to that and have the complex mesh wrapped around that, the wrapping calculations are a lot faster than any modifier.

The wrap system has been extended and can now wrap normal meshes onto normal meshes, normal meshes onto skinned meshes and skinned meshes onto skinned meshes (they will need to share the same bones etc to animate correctly afterwards)

Mega Wrap Param Description

Enabled

You can disable the system by unchecking this value which will allow you to freely move the object around again.

Target

The target object we want to wrap the mesh onto. This can be either a normal mesh or a skinned mesh.

Max Dist

The maximum distance from the source mesh vertex to look to find a mapping surface, if you are getting unmapped vertices after pressing the ReMap button try increasing this value, large values will cause slower mapping.

Max Points

The maximum number of points the system will use to calculate the wrapped mesh position, the higher the number the more accurate the wrapping will be but also the slower, you should aim to have as low a value as possible in here to get the fastest performance, values of 2 and 3 will usually give very fast and good results, 1 will usually work but in extreme deformations can produce artefacts.

ReMap

Click this to recalculate the mapping data, this can be slow on complex meshes.

Reset

Removes all mapping info and returns the mesh back to its unwrapped state.

Gap

Once the mesh is wrapped you can use this value to offset the mesh from the surface it is wrapped to, this can be useful if during animation you see some popping through of the target mesh through the wrapped mesh.

Shrink

You can reduce this value to shrink the mesh onto the target, this is a beta feature and it works but in some cases can lead to deformed results with small shrink values.

Size

Once a mesh is wrapped you can check to see the mapping results vertex by vertex, this size value is the size of the dots that show the mapping points.

Vert Index

The vertex to show the mapping data for.

Offset

You can use the offset to locally move the wrapped mesh, again can be useful for tweaking the end results.

UnMapped

Shows how many vertices have not been wrapped, if this value is non zero then some vertices will not have found a suitable mapping, this maybe ok depending on your case but usually you should increase the max dist value and remap.

Mega Wrap Example

Wrap being used to add clothing to a morphing character.
Click to Play