The information about the ellipsoid helps, but now my hurdle is trying to map ellipsoids to Blender bone envelopes.
These are my current obstacles/ignorances:- Each “dial” (degree of freedom, e.g. rotate-X and rotate-Y) seems to potentially have its own set of envelope-ellipsoids. Blender has one envelope per bone, not thirty-something, so I think I need a way to merge these many ellipsoids together somehow.
- The ellipsoids seem to not care about the roots of its associated dial, whereas Blender envelopes are essentially stuck to their bones.
- Apparently an ellipsoid is expressed as a (4x4) transformation of a unit sphere. While I know what this means conceptually, I don’t know how to do the math related to it (e.g. calculating diamters or volume).
- Ellipsoid is a 3D oval. Blender envelope is two spheres connected by a tube. I need some funky geometry math to set up a meaningful translation (again, that 4x4 transform of a sphere thing).
I tried mapping the sizes of the first assocated ellipsoids to Bone-Envelope sizes (where size was taken by matrix norm), but this turned up some odd looking envelopes (not Michelin-Man, but still didn’t look right).
The alternate implementation I can think of is to assign all vertices a weight which is equivalent to its location in regions of ellipsoids. In other words, reimplement Poser’s notion of envelopes with vertex groups while ignoring Blender envelopes. This approach, however, would make exporting to cr2 extremely non-trivial.
Also, I took a long side journey to make (yet) another OBJ importer that can handle the inline/embedded OBJ data of Poser files.
Oh, and school (UCLA) started on the 9th, so I have even less time to work on this