Morph Target Builder

3 votes
Date Updated: 

This script will help you build a morph target based on a final pose that is compatible with whatever skin you are using. If you need to convert a skin morph to a morpher or use a morph target instead of a skin morph, this should help you.

What it does:
It moves the vertices of a morph target around to make the vertices of the skinned poly match the position of the vertices in the posed poly.

You will need 3 objects:
1. An editable poly with a morpher modifier then a skin modifier (skinPoly).
2. An editable poly to get the final pose vertex position info from (goalPoly).
3. An editable poly to use as a morph target (morphPoly).

This script only works with objects that are editable poly at the base level. There is no handling for modifiers above the base object on morphPoly or the goalPoly. Only a morpher modifier and skin modifier are needed on the skinPoly.

The skinPoly should have a keyframe at the skin pose position and another keyframe at the desired pose position.
The vertex index of all 3 poly's must be identical.
The names of the objects used for the skeleton of the skinPoly must be unique in the scene as they are matched by name.
The goalPoly and skinPoly should both be at the same transform.
The morpher modifier in the skinPoly needs to have the morph target (morphPoly) loaded and set to 100%. 'Automatically reload targets' needs to be enabled also.
The skin for the skinPoly should have the weights fixed ('modified' in the weight table) and not under the control of envelopes.

Update 1.1:
-- Changed the logic to move vertices based on the biggest weight rather than an average of all weights.

Version Requirement: 
Video URL: 
morphtargetbuilder1.1.mcr7.73 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Griffs Game Dev's picture

Glad it helped

I'm glad you found some use for it!

And thanks for the tips about the 'extract deltas' functionality, I'll add some tags to it.

SerkBer's picture

It works!!

It works flawlessly!
Thank you so much! Just what I needed. Without this I'd be in serious troubles hahaha.

As I said in the ue4 forum where I found this, this technique is called something like "Extract deltas" in maya environments, you should name this tool something similar in order to make it more visible on the internet.

In this video for example they talk about it.

One more time, THANK YOU! You saved the day!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.