Monday, June 26, 2017

copy morphs from actor to another

There were a couple hits recently with the above as a search term.

It is relatively easy -- if you read the question on way (and much harder if you read the question the other).

Morphs in the Poser universe are a set of deltas. Poser meshes are .obj files (or .obj format imbedded in a Poser native format like .pp2) that define a 3d surface via a set of vertices connected by edges and filled in with faces. Each vertice has 3 Cartesian coordinates; x, y, z.

A morph file must have an entry for every single vertice of the mesh it will be applied to, in the same order (called "winding order") that they are listed in the .obj file. Each of these entries is a move in the x, y, and z directions.

This is what give morphs their flexibility. A single morph can be applied at a fraction of the full move, a multiple of it, or even as a negative of that move. They can also be combined; the final position of the target vertice will be the result of the addition of all the vectors.

With that out of the way; to move a morph from one file to another merely involves copying the big chunk of text that lists all the deltas. Plus a control. So, basically, copy the entire channel; everything within the brackets following "targetGeom nameOfMorph".

I should note that as of...I think Poser was possible to store the actual morph data in an external file. I never worked with those in my prop creation so I can't advise there.

There were also and probably still are third-party helper applications, some of them running within Poser itself using Poser Python, to copy and paste (and also delete and rename) morphs for you.

However. The morph has to be for the same mesh. The exact same mesh. Even one missing vertice will cause it to barf. I have to make particular note of this because in the Poserverse, "Actor" is the name for an individual part. A leg or arm or individual gear in a gearbox or whatever. Poser uses the term "Figure" (or prop) to refer to a fully rigged instance within the workspace. And, no; a morph designed for a leg will not work on an arm, any more than a morph designed for V2 will work on V3.

Ah, but there is more. It may not be possible to copy a morph, but there are ways to duplicate it. Manually, by using magnets and other deformers in the Poser workspace or mesh modeling tools outside (again, be very, very careful not to change the number of vertices or their winding order). There are also automated tools. PhilC makes some amazing ones that run within Poser itself (using Poser Python, natch).

No comments:

Post a Comment