Cage opened this issue on Dec 20, 2006 · 1232 posts
Cage posted Sat, 06 January 2007 at 11:26 PM
@Angelouscuitry -
I think the trouble is that the script doesn't "know" anything about the meshes it's processing. Have you ever seen a certain modernist painting, a portait, in which the portait's face is blank white space with the label "FACE" written on it? Perhaps it's a Magritte? Maybe that image kind of illustrates the problem, although it doesn't go far enough. The computer doesn't see nose, eyes, mouth, etc. It doesn't even perceive the topology per se, unless it's taught how. It sees a lot of vertices which are connected in certain ways with one another. We'd have to teach it the whole "language" of the facial form before it would know how to process effectively to compensate for mesh differences. We'd have to teach it to see "FACE" before we could even teach it to look at facial parts. But I provide a crummy example, I'm afraid.... Hmm.
Hypothetically, one could write something which would analyse the meshes so the program could "learn" what it's working with. The idea seems awfully complicated. Certainly beyond my skills and, as far as I can tell, more than PoserPython would readily want to do. With the currently posted script, when it matches two parts of the face, the matching happens through the happy accident of finding that the closest vertex is also the most correct one for the morph transfer. But that wouldn't always be so. Right now, the closest vertex matches in the mouth area often confuse the teeth and the lips. This kind of confusion could happen anywhere where the two meshes fail to line up adequately, unless we could tell the computer what we mean by "face", "nose", "ears", etc. And even then it would only work when the conditions were right. JoePublic mentions cat or dog ears to humanoid ears. We think of those things as ears in both cases, but to the computer they wouldn't really have much in common at all, even if we taught it the hypothetical definitions.
I think my box placement idea could hypothetically be used to teach the script how to associate certain matched areas with certain features in a very broad sense, but there would still be complications and the same limitations noted above and elsewhere would ultimately still hold true. And the vertex to polygon idea may introduce new quirks when it matches verts to polys.
===========================sigline======================================================
Cage can be an opinionated jerk who posts without thinking. He apologizes for this. He's honestly not trying to be a turkeyhead.
Cage had some freebies, compatible with Poser 11 and below. His Python scripts were saved at archive.org, along with the rest of the Morphography site, where they were hosted.