Cage opened this issue on Dec 20, 2006 · 1232 posts
Spanki posted Wed, 27 December 2006 at 4:36 PM
Just some random thoughts (may have already been covered)...
I'm thinking that one approach would be that a vertex (in the target mesh) is influenced by a weighting, per corresponding surface vertex in the source mesh. In other words, you cast a vertex normal (average of all polygon normals that use this vertex) out until you hit a source mesh polygon and then compute a weighting value for each vertex of that polygon, relative to the distance from the ray intersection with that plane/polygon/surface. You could then store data to link up each target mesh vertex with a list of weights for source mesh vertices.
When you're transfering the morph, you'd multiply any deltas by the weighting value before adding it to weighted deltas from the other source vertices for this target vertex.
I'm not positive that this is a 'correct' method, but I hope that I explained it clearly :). I'm thinking it might work for low->hi mesh as well as hi->low mesh, but I might be wrong (I haven't given it enough thought yet).
Cinema4D Plugins (Home of Riptide, Riptide Pro, Undertow, Morph Mill, KyamaSlide and I/Ogre plugins) Poser products Freelance Modelling, Poser Rigging, UV-mapping work for hire.