PDA

View Full Version : modeller morph map problem, anybody else see this?



eblu
02-20-2003, 12:05 PM
i am apparently experiencing a bug.

when i transform the base object (translate, scale, or rotate) my morph maps become worthless (i almost exclusively use relative morphs) the morphs turn the object into swiss cheeze.
This is the way it always worked, i figured it was Normal behavior, i just did the morph maps after i was done modeling and rigging the model to avoid this...

then, i watched my co-worker, transform an object i built on my mac, on his pc, in horror. He scaled, rotated, and translated the object... and i was sure the many intricate subtle morph maps were ruined. He then showed me the morphs... they were intact! I was furious.

after doing some experimenting, i have found out that morph maps for the most part Don't remain intact after a transform, and annoyingly it does work some of the tme, so i've ruled out the possibility of a feature disparity between the mac and pc, and settled on it being a bug.

can anybody confirm this? Should my relative morph maps work after i transform the points of the base object?

paintboy
02-20-2003, 02:37 PM
not that it means squat....
i have been putzin with some models with morphs,since i saw this post
and i can scale/magnet/twist etc. and what ever i do to the base...
gets done to the morphs,cannot get it to fail?
7.5/ OSX.1.5/
just thought i would try here and it seems to be working?

eblu
02-21-2003, 09:06 AM
i just checked again, i'm not crazy. Xfroming models ruin the morphs, at least for me.

i tried to get a feel for what exactly does it, whether its scale, xlate, or rotate, or extremes or multiples of each, i tried different models, but i can't get it to Not happen. It is definetly more pronounced, the more i xform objects, scale especially does it. I know i'm not doing anything out of the ordinary.

So its a bug, and newtek will test it and say they can't duplicate it
:mad:

paintboy
02-21-2003, 02:16 PM
jeez... i would have thought at least one other person might have tried this
on eblu's behalf...must be friday
sorry no help here as it seems to work fine here and i have put several objects through the ringer trying to get the damn thing to miss? but it wont.

murdoch
02-21-2003, 04:38 PM
ok, i had a look too. used something that had existing morphs.

moving the base object - no problems.

scaling and rotating - wacked out the morphs.
solution - used scale morph and rotate morph (modify tab) after the base alteration, same settings. weirdly had to use inverse rotation value though ie. rotate base 90deg, rotate morph -90deg.

not sure what you'd do about vortex or twist though.

LW 7.5 OSX 10.2.4 (don't ask me what time it is)

paintboy
02-21-2003, 05:14 PM
maybe X.2 broke something. its happened before...
i am running X.1.5/7.5 here and it works like a charm?
you can do anything to the base, scale, rotate, twist taper,
push pull slice dice and julienne, and the same happens to the morph...
anybody running older sys software wanna try this?
theres your confirm eblu, not just you...bug report!

anieves
02-21-2003, 05:47 PM
This has had happened to me as well. I have a character with phonemes, I rotated the base model to face the +Z direction and all morphmaps got messed up. It's like the morphmaps had been set to something similar to world coordinates and didn't get rotated with the base. I haven't found a solution... well, just 1, re do the morphs.

Julian Johnson
02-22-2003, 02:39 AM
I'm still using 10.2.3 and very simple morphs seem to respond to normal scale and rotations to the base. However, it's normal for 180 degree rotations of the base, say, to screw with points in a morph. Here's my deeply flawed explanation of why:

Morph maps are just X,Y,Z translations of points. A morph map doesn't understand that you've rotated a point. It just knows that in the base it's here and in the morph it's there and works out the additive translation. If you have a box lying along Z and make a morph pulling some points along Z- then the morph map just says add these -Z values to these points. If you rotate the whole base, the morph map still says add these -Z values to those points. It has no way of knowing that because you've rotated the base it should change the translation to +Z values. All it sees is that after the rotation the points origin has been shifted. Hence you get flipped or distorted geometry.

Example: human face and nose pointing along Z-, make a morph to elongate the nose, rotate the base 180 degrees so that it points down Z+. The morph will have the nose flipped and growing into the head. This is how it should be since you've added -Z values to the nose.

Morph maps are additive and linear which might explain possible rotation issues? Scale, however, is a little more difficult to work out. I can't seem to get any errors just scaling the base at the moment although I'd imagine joint scale and rotate operations could cause problems. eblu - I'm not ruling out a bug at all, just wondering out loud, really. If your PC co-worker rotated the base by 180 I'd be very surprised if the morphs weren't whacked...

Julian
The Mac Lightwave Resource Page
http://www.exch.demon.co.uk

anieves
02-22-2003, 10:10 AM
so there is no way to get that fixed? dang, that's alot of morph maps to redo.:mad:

Pensart
02-22-2003, 04:40 PM
Why does it work with the pc guy then?

paintboy
02-23-2003, 12:36 PM
been tinkering with LW/content/objects/character/stuhead w endomorphs
any rotation on the y axis seems to work fine.any rotation on either the
z or x axis more than 90degrees whacks the morph.
i cannot get scaling to fail except in combination with Z/X 90+rotation

Angel.probably a dumb question but why redo the morphs?
you can take ol' stu into layout and twist ,turn, rotate, scale
to your hearts content and the morphs work.
i have an animation here of a character wearing boxer shorts.
morphs are used to sway the shorts around on character.
all morphs were created facing a specific axis yet when in layout the character walks in every direction and the morphs work regardless of
which direction? cant you just reorient your model in layout:confused:

Julian Johnson
02-23-2003, 02:24 PM
Although distortions to the morphs might not be that noticeable on some axes (especially Y movements on a human face morph) after you rotate the base object any rotation of the base will put the morphed points slightly out of their 'intended' position - that's why the rotate and scale morph tools are there. Morph maps can only work in one way - by adding translations. They never take into account the base rotation of the point, they just add a value to it. In the example below, I've just rotated the base by 45 degrees but you can see the 'distortion' to the morph although the map is behaving correctly..

http://www.exch.demon.co.uk/morph.gif

I don't think there's any bugginess going on here - it's just the way morph maps have always worked on Mac and PC.

Julian

anieves
02-23-2003, 02:31 PM
Originally posted by paintboy
been tinkering with LW/content/objects/character/stuhead w endomorphs
any rotation on the y axis seems to work fine.any rotation on either the
z or x axis more than 90degrees whacks the morph.
i cannot get scaling to fail except in combination with Z/X 90+rotation

Angel.probably a dumb question but why redo the morphs?
you can take ol' stu into layout and twist ,turn, rotate, scale
to your hearts content and the morphs work.
i have an animation here of a character wearing boxer shorts.
morphs are used to sway the shorts around on character.
all morphs were created facing a specific axis yet when in layout the character walks in every direction and the morphs work regardless of
which direction? cant you just reorient your model in layout:confused:

I can not re orient the model in Layout because I already animated several seconds with that model. I can try to fix it in modeler.... I'll test it and see what happens.

eblu
02-24-2003, 09:25 AM
julian, i glossed over your explaination, I will try to read it in more depth later, but i feel i have to emphasize a few points here...
this "feature" has worked on occasion.
it has Never worked with any regularity (os and LW version notwithstanding)
it works perfectly on my co-workers machine, right now.

my interpretation of this?
its obvious that the kind of transformations neccessary to make morphs maps stay intact during routine modeling are:
1. easy for a computer to keep track of (LW has no difficulty, and its actually the kind of thing OPENGL programmers do all the time.)
2. being done properly in some cases.
3. not being done properly (reliably) on my machine going as far back as the introduction of morph maps.

thanks for checking this out guys, i'll include this thread in my bug report
eblu

Julian Johnson
02-24-2003, 10:46 AM
Hi eblu, I don't blame you for glossing over it :-). Anyway, I suppose the problem I have is that I can't understand a) how it can work on a PC and b) how it can have ever worked on your Mac unless your morphs were only on X and Y and were rotated by exactly 180 degrees. In that instance the X morphs and Y morphs would be pretty much intact. Here's a final go at explaining why and what should be happening (even on a PC!). You can see how rotating the base will lead to 'distortions' in the morph. It's impossible for it to work in any other way isn't it?

http://www.exch.demon.co.uk/morph2.gif

If it's working any different to this then let me know :-). I think it would certainly be easy in the future to accommodate some sense of the point's rotation and maintain that for morphs but I'd be so surprised it if happened 'properly' in some cases now, given the current code.

Or, have I just got the wrong end of the stick completely? :-)

Julian

eblu
02-24-2003, 11:24 AM
julian i agree with you. in fact i duplicated perfectly what you show in your last post. What appears to be an instance where Morphmaps are ignored during Rotation.
but i tell you, i saw with my own eyes an object with relative morphMaps: scaled down(to about 1/10th), rotated without regard to precise values, and then translated, meters through space. This was a head, with 5-6 morph maps. By all reason the EyeBlink map should have exploded the eyelid, the lips should have jumped in space and scaled up in the crude facial expressions i had added. This was simply, not the case. thats what made me furious, until that moment, i expected Morphmaps to be gibberish when the base was transformed in any way. My coworker works, expecting morphmaps to behave as if they don't fall apart when you transform the base... he was surprized when he saw the behavior i am used to. His experience has not lead him to expect morphmaps to fall apart... and he is Hard on them.

geothefaust
05-25-2010, 12:52 AM
I'm going to bump this thread, because myself and another LW user are having the same problem on two different machines with the same object files.

It's weird, because I have never seen this happen in all my time using LW. Why should it pop up now? I've rotated based objects before to see the morph remain intact. I am flustered by this annoying bug. Why did it never happen before, only to occur now?


Anyone have some thoughts?

Dodgy
05-25-2010, 03:51 AM
Um, well relative morphs are just deltas from the base points. This means certain transformations will work with certain morphs. For example, if you just move everything up in the Y axis for the morph, and do a rotation around the y axis on the base, the morph will still work because this doesn't affect the vertices height relative to each other. HOWEVER, if you do a rotate around the X on the base, this will screw up the morph, as all the points' Y values will be changed relative to each other.

geothefaust
05-25-2010, 06:20 PM
I've never seen it before.... I'm rotating on the Y, for that matter.

Oh well. Just have to deal with the work around with rotate morph for the time being.

lertola2
05-25-2010, 08:33 PM
Morphs just store offsets from the base points. So moving the base object is fine. Rotating and scaling the base object is not and never has been OK with morphs as far as I know. But you can use the Rotate Morph and Scale Morph commands to apply transforms to morphs.

-Joe

geothefaust
05-26-2010, 01:32 AM
I guess that's why using a program that has/supports clusters is superior. No issues when using clusters...