Forum: Poser Technical


Subject: Mirroring a morph

odf opened this issue on Jul 16, 2022 ยท 16 posts


primorge posted Sat, 16 July 2022 at 9:49 PM

odf posted at 7:31 PM Sat, 16 July 2022 - #4441405

Yes, flip might have been a better word. Despite all this time in English-speaking countries, I still struggle with the language all the time. To clarify, here's what I wanted:

Input on the left, flipped version on the right, sum of both in the middle. Note that the middle does not simply mirror one side of the input, because the morph influences both sides of the face. Also the x delta amounts are quite different for the left and right side of the face (her right side basically not moving at all in the x-direction), so ADP's script wouldn't be much help, even if there was no movement in y and z. What I did instead was spawn two copies of the input morph, mirror "-x to +x" for one and "+x to -x" for the other in the morph tool and add those together to get to the image in the middle. Then I subtracted the original morph to get to the one on the right. Really not that bad once I'd figured out the technique and could streamline its execution.

An alternative would have been to export the mesh with the morph applied, flip the whole thing (not just the deltas) along the x-axis, then use my vertex numbering repair script to get the flipped morph from that. Good method if I'm making morphs in Blender anyway, but here I was actually just tweaking an existing morph within Poser, so staying within Poser seemed easier.

I just create the morph as a whole in mudbox or blender using x symettry on the brushes.

Import back as a FBM using pml, use Poser's split morph command to split the morph into 2 sides l and r.

This leaves me with the whole morph and a dial for both left and right sides. Works perfectly. At that point if I want to be elaborate I can delete the whole, leaving me with both the split left and right sides, create a new master and a dependency that dials both sides in simultaneously resulting in a whole identical to the original.

I use a similar process for creating symmetrical JCMs. But there's a reverse deformation (a zero rotations) and export bakes of the split to left and right sides and a reimport of left and right results as morphs to which I'll apply the necessary dependencies via the rotations.