♥ PosetteForever ♥
3D Nightmares... Or... The little sculptor - External Morph Targets Unstable Beyond 90 Deg ??
Nik [ Tuesday, 05 April 2022, 04:22 PM ]
Post subject: External Morph Targets Unstable Beyond 90 Deg ??
I've ported several free MMD PMX-format 'props' to Poser by exporting them from free PMX Editor as OBJ+MTL. I've also used their inherent 'transforms' to craft modified versions as 'External Morph Targets' (EMTs). Here's the neat, lidded box that prompted this query.
<br />
<br />
<a class="post-url" href="https://www.deviantart.com/greenth1ng/art/MMD-DL-Iron-Checkpoint-Crate-On-the-Run-911908822" target="_blank">https://www.deviantart.com/greenth1...e-Run-911908822</a>
<br />
<br />
There's a bunch of pitfalls: That editor exports L/R reversed. Textures may need vertical-flipping. Poser does not have import scaling for EMTs...
<br />
<br />
There's also a weird effect, which may be related to 'gimbal lock'. I'll come to that...
<br />
<br />
Okay, if model is too 'handed', PMX Editor has a 'mirror' tool, used prior to export. IMHO, best avoided, as may derange UV mapping.
<br />
<br />
Textures may be v-flipped by hand, using eg free Irfan View's nimble image tools. Alternative is to set each material Color_Texture V-Scale to -1.
<br />
<br />
That scaling ? PMX Editor has an export scaling field. So, start with default x1, import to Poser at 100% default, scale via parameters, see what looks good. Typically ~3.5 % of original scale. Now delete from scene. Re-export from PMX Editor at that scale, so 0.035 instead of 1. Should import well to Poser.
<br />
<br />
I won't delve the eye-watering arcana of PMX Editor, but essential work-flow is:
<br />
<br />
Load 'clean' PMX file. Press PMX View tool-bar 'T' to open a 'Transform' window. From Bone menu, select relevant 'Bone'. It pops up RGB 'gimbals'. Drag relevant rotation / movement XYZ to desired morph's limit. Still in that window, File, Update_Model to 'bake' it. PMX View window re-builds with these changes. Export as eg nameEMT, again at eg 0.035 scale.
<br />
<br />
In Poser, select object, Object, load morph target. Several scary moments later, a new dial should appear named eg nameEMT.
<br />
<br />
Right-click on dial, select settings. Set Min-Limit 0, Max-Limit 1. This prevents over-dialled morph exploding across scene like an unruly FBX.
<br />
<br />
So far, so good...
<br />
<br />
But, playing with this neat, lidded box, I discovered a problem: If EMT's lid was hinged wide open ~270º, the morph exploded. EMT of ~45º, okay. EMT of ~90º, okay. EMT beyond ~120º exploded. And, looks very wrong in mid-range: See below. So, something amiss with morph's math if EMT beyond 90º, but takes a bit further to 'break bad'...
<br />
<br />
I'd had similar problems with a PMX door+frame, the door going 'totally poltergeist' beyond ~120º EMT swing. I put that down to some quirk of model conversion and/or my unfamiliarity with PMX Editor's 'Transform' tools...
<br />
<br />
Any-one else have this problem with External Morph Targets unstable beyond ~90º ??
<br />
<br />
Images: #123 have EMT with ~90º swing, #4 has ~120º swing, should be very similar to #2. But is not... ( 0.375 = 45/120 )
ahjah [ Tuesday, 05 April 2022, 05:45 PM ]
Post subject: Re: External Morph Targets Unstable Beyond 90 Deg ??
That's an issue with how obj based morphs work in Poser. It's the same with rotations created by magnets an then saved as an (obj)morph. The obj only saves the end position, in this case 90°. If you move the dial, the vertices are simply shifted linear from the zero position to end position. Thats why the lid is shorter inbetween this two positions. If you go beyond endposition the linear shifting continues and the lid explodes. This is why there's a thing like rigged cr2 for real rotation.
<br />
I never worked with MMD PMX, but I assume what they call a morph isn't the same as a Poser obj based morph, but actually rig information as in a cr2, i.e. pivot point and bone to rotate. Seems like this information gets lost in your workflow.
<br />
First workaround would be (for me) to import box and lid as separate obj and parent the lid to the the box (with the pivot set where it should be) Also you could make a simple cr2 from it. Import the obj as a whole and group it into "box" and "lid" and then setup the lid bone with a rotation center
Nik [ Tuesday, 05 April 2022, 10:04 PM ]
Post subject: Re: External Morph Targets Unstable Beyond 90 Deg ??
Genius ! Pure Genius !!
<br />
<br />
Snag is that the item is not divided / grouped conveniently. It is sorta 'unimesh'.
<br />
<br />
I'll sleep on it...
ahjah [ Tuesday, 05 April 2022, 11:13 PM ]
Post subject: Re: External Morph Targets Unstable Beyond 90 Deg ??
<img src="https://www.posetteforever.com/images/smiles/smile.gif" alt="" /> I might have some ideas for that, too. I'd need a look at the mesh. But I assume you'd like to crack this nut yourself
rico [ Thursday, 07 April 2022, 07:59 AM ]
Post subject: Re: External Morph Targets Unstable Beyond 90 Deg ??
<img src="https://www.posetteforever.com/images/smiles/eusa_clap.gif" alt="" /> Thank you very much guys for the valuable information <img src="https://www.posetteforever.com/images/smiles/thumb.gif" alt="" /> <img src="https://www.posetteforever.com/images/smiles/thumb.gif" alt="" /> !