How to predict the size of a mesh with morph targets?

I have a mesh with 2 separate morph targets, let’s call them B and C with A being the base shape. The influence of both targets depends on 2 settings, one is about the size of the final morphed mesh and the other one is about how much A I want in respect to B. The final shape is basically a mix between A, B and C

At first I assumed I just had to find the wighted average of the 3 geometries, so if A’s size is 1, B’s is 2 and C’s is 3 and I take 20% B and 70% C (the remaining 10% is A) I’d find a final size of 2,6 (1x10%+2x20%+3x70%) but that didn’t seem to work

Then I changed approach and tried to assume something like, if I take 20% B it means that the morphed shape will “move” 1/5 its way towards the B target, and if I take 200% it will “move” twice the max so that if B is double the size of A, with 200% the final shape will become 4x A, and to evaluate the influence of multiple morphs I multiplied the individual factors, but that didn’t seem to work either

Is there any info on how morph targets work exactly? To summarize, what I need is to be able to determine the influences of multiple morph targets I need in order to obtain a morphed shape with the size I want (with 2+ morph targets)

Hey I am looking for something simillar as well. Did you find a solution after all?

Note the (newer) geometry.relativeMorphTargets flag.

It’s important to think about morph targets in terms of individual vertices. Knowing the bounding box of the base geometry and each morph target is not enough to make exact predictions about the bounding box of the final shape with morph targets applied, only conservative bounds.

Absolute morph targets move each vertex toward a given target position, by some weighted fraction of the distance. Relative morph targets simply add a given vector to the original position, weighted by some fraction. Final bounds would need to be estimated differently for either case.

2 Likes