Applying the negative of a morph.


#1

I’m wondering if it is possible to apply the negative of a morph in Messiah.

As an example, in Mirai “morphs” are stored internally with the model itself (you don’t need to make copies for the morph targets) as a displacement from a base state. So let’s say I have a state where a character’s eyes are squinted shut. I can apply this displacement as created but I am also able to apply it in the negative direction…that is, I can displace the model to where he is saucer-eyed.

I attempted this in Messiah by using the PercentStep expression to remap my MorphBlend sliders from 0 through 1 to -1 throuh 1 but I didn’t get the results I was hoping for. However, I’m still a Messiah noob so I figure I am probably missing something. Does anyone have any suggestions?


#2

Leebert,
Creating separate objects for morph targets was certainly the old way of doing things and it still works. LW uses Endomorphs which saves the morph states within the object file itself. Modo uses a similar object format. The plugin Superblender by Mark Wilson is used to get the Endomorphs into messiah. But, I’m not sure what modeling program you’re using.


#3

I’m just using Wings right now so I am kind of forced to do target shapes. That part really isn’t too much of an issue for me…I’m guessing I can just as easily bring the base model into Messiah and, using bones and/or metaeffectors to displace the model, save a bunch of Poses for the various states.

What I’m really trying to accomplish is getting the opposite of a target “for free” in Messiah. For example: My model’s base state has eyes that are in a normal, open position. I create a target where the eyes are closed. Rather than creating another target for a saucer-eyed look I would like to be able to apply the negative of the closed-eye displacement. (Based on the documentation it sounds like a morph is a per-vertex vector offset so it should be a simple matter of reversing the vector.) I was thinking I could do it with the PercentStep expression but I’m not sure.


#4

Have you applied your PercentStep back onto the slider channel? It works here :slight_smile:


#5

I believe so…

  PercentStep({BasicMorph_1[NarrowWide]], -1, 1)
   PercentStep({BasicMorph_1[OpenClose]], -1, 1)

The sliders do something, but not quite what I’m expecting. My displacements look odd and I get a flipping behavior at a certain point in the process. I’m sure it is just that I am still figuring out the tools. I will turn on Debug so I can see what range of values the sliders are going through and see if that helps me.


#6

Here’s a quick test scene I knocked up. It seems to work ok.
Old zip seemed to be mangled, try this one…


#7

Hey WesComan, when I load the scene Messiah is unable to find several box_001 objects so I’m unable to play with it.


#8

Doh! I thought the mpj took care of that. I’ve updated the zip file with the box objects now. Hope this works :thumbsup:


#9

Thanks! I loaded it up and it worked perfectly so I will go back and see if I can figure out why mine is wonky. That is exactly the functionality I was wanting to achieve. I really appreciate the help. :slight_smile:


#10

Awesome! I went back through and recreated the targets, morph blend effect, and expressions and it is working brilliantly now. I think I might have had some bad geometry because before, if I clicked on either of the morph targets in the item list Messiah would crash. I don’t seem to be having that issue anymore. Thanks for the help.


#11

Ok, now for my next set of questions (which are armature-related).

 [u]Can you control morph amounts with armatures?[/u] I tried creating a handle with a run expression action tied to the percent step expression discussed earlier but it didn't do anything. I also tried a controller drag action with the controller being one of the morph sliders but that didn't do anything either. I tried playing with the various channel settings to no avail.
 
 [u]Can you map an armature's motion to a cartesian coordiante system?[/u] What I have in mind is to map the armature's up & down movement to affect one morph in its positive and negative directions and then map the armature's left & right movement to affect the second morph in its positive and negative directions.
 
 [u]Can you constrain an armature's motion?[/u] Building off the previous question, I would like to map a 0 to 1 morph amount to 0 to 50 on the y-axis movement of the armature and map a 0 to -1 morph amount to 0 to -50 on the y-axis movement of the armature (and then map the second morph to the positive and negative x-axis). That way I could overlay the armature over a dummy handle of a cartesian grid...center it at 0,0 and have a nice visual for animating the morph.
 
 Hopefully these questions make sense, if not I will create some example images or something.

#12

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.