View Full Version : Colin Cohen is at it again!...
michaelb 08-02-2004, 02:03 AM Check out his new plugin for nonlinear morphs!
http://cohen-plugs.tripod.com/
He also has a teaser for a new one coming shortly:"fast cloth." That raised my eyebrows. :)
Colin, if you are reading this... you are a genius and a great guy to boot for sharing these with us. Thank you! :love:
| |
Fasty
08-02-2004, 04:14 AM
Haven't tried it but thanks for sharing!
Julez4001
08-02-2004, 05:47 AM
Newtek need to hire thsi guy.
Newtek need to hire thsi guy.
Sorry for my ignorance but why? Are you implying that NewTek doesn't have enough skilled coders and only way they could beef up their team would be hiring some 3rd party developers?
SplineGod
08-02-2004, 07:52 AM
Nothing wrong with hiring 3rd party developers. Colins a great guy and has some excellent tools. I personally dont care who comes up with the tools so long as they are available. Many of the new tools in LW8 came from 3rd party sources. :)
Many of the new tools in LW8 came from 3rd party sources. :)
What I'd like to know what new tools in LW8 are made 100% by NewTek (remember, dynamics are created by DStorm). For me it seems like that there's just a huge pile of 3rd party tools added with some bugfixes and bunch of new bugs which has led people to change back to 7.5 from 8. At the moment I'm using 8 myself but I'm waiting for the next patch to see if it actually improves 8 to the level where I can actually use it without going nuts. Otherwise I most propably change back to 7.5 and find those plugins I need.
Oh and sorry for this off-topic to everyone who doesn't like it.
ColinCohen
08-02-2004, 03:31 PM
I hope everyone finds this useful.
Please let me know if you have suggestions for improvement. Also, as it is a relatively complex plugin, there is a good possibility that it has some bugs. So, don't be bashful -- let me know about them.
Any chance there's a Mac version in the works?
E_Moelzer
08-02-2004, 06:26 PM
The dynamics are not made by Dstorm, but by Daisuke Ino, who is working for NewTek now.
CU
Elmar
ColinCohen
08-02-2004, 11:31 PM
Any chance there's a Mac version in the works?
If I ever get access to a Mac, I'd gladly do it. For a number of reasons, though, I'm not comfortable with having a third party compile them.
michaelb
08-03-2004, 01:22 AM
I think I understand how to use this, but I want to check and make sure. To follow your example: you create a base object, then an "EyelidClosed" morph. You create an in-between morph and name it "NLMEyelidClosed.50". You then go into Layout and add the MorphMixer and NLM plugins. Then you use the MorphMixer to add a key for the "EyelidClosed" morph ONLY. Then the NLM plugin automatically reads any percentage morphs you have created in numerical percentage order. You do NOT key the "NLMEyelidClosed.50" morph. It is taken care of for you. Am I right so far? I think it works that way, but I'm not 100% sure. On my computer I'm seeing the NLM morph come in automatically (hooray!), but when I apply SoftFX to check the point motion (using the Edittool) it's recording only a linear interpolation between the point's XYZ positions. Am I doing something wrong? It wouldn't be the first time. :hmm:
ColinCohen
08-03-2004, 02:22 AM
Michael,
For the "NLMEyelidClosed.50" morph," did you move the points to the mid-position and make an arc? Make the morph demonstrable and check it in Modeler with NLM Viewer. If it is not working, please e-mail me the object and I'll look at it.
If it is working, make sure in Layout that you have the NLM plugin loaded after MorphMixer, and then scrub through the morph in MorphMixer. Make sure no other plugins are loaded. Again, if it doesn't work, send the object.
Finally, if it stops working only after you add SoftFX, let me know. That's something I didn't test.
evilemil
08-03-2004, 06:51 AM
Hi Colin,
i downloaded your plugin in big anticipation of the light that would strike my eyes when i push the NLM button in Modeler/Layout.
But there was no light. Did i forget to plug in the power supply?
can you give a 2 sentence explanantion how to get the benefit out of this plugin and i would be ready to spend an hour testing it in and out.
I can blend between two morphs, but not not in a nonlinear fashion. is this controlled via weightmaps (like in a similar commercial plugin) ?
thanks,
Michael
michaelb
08-03-2004, 10:46 AM
Hi Colin,
Here's the small test file and scene I made. I created 3 in-betweens: a 25%, a 50%, and a 75% morph. The only morph I keyed was the "EyelidClosed" morph, which was the 100% closed position. In Layout I'm seeing an arc being generated, but the points move straight from one point of the arc to the next, like its describing it with straight segments instead of curves. The way I check points for curved motion in LW8 is to apply SoftFX, with all the Operators set to 0. Then I hit the Calculate button, then go to the EditFX tab. There I hit the Edittool button and then on this particular model I would select EditNode 8 or 11 to see the motion of the points of the outer edge of the eyelid. (I left off the SoftFX part of the file to make it more compatible with earlier versions of LW.) According to the traced motion path, it is moving in a sequential series of straight lines. I would appreciate it if you would give it a look and tell me what I'm doing wrong. :hmm:
geoff3dnz
08-03-2004, 02:06 PM
...the points move straight from one point of the arc to the next, like its describing it with straight segments instead of curves. ... I would appreciate it if you would give it a look and tell me what I'm doing wrong. :hmm:OK I haven't looked at your scene file (and I'm not Colin either ;)) but from what I read in your post, you're not doing anything wrong. A morph is linear. This plugin automates the process of morphing through sequential targets (to simulate a non-linear motion). If you want to see a perfect arc describing the point's motion, you'll have to add a few more than 3 inbetween targets.
ColinCohen
08-03-2004, 02:28 PM
Michael,
You've almost got it. Now, just change the shape of the curve in the graph editor.
I guess I should've made it more clear. You could've always used the GE to make your morph non-linear in relation to time. The point of this plugin was to make them non-linear in terms of geometry. Sorry for the confusion.
Castius
08-03-2004, 02:47 PM
Not to take away from your great plugin but why tease us by calling it Non Linear morphing. When it's another form of MTSE. "Multiple targets single envelope".
But on a more positive note I’ve been extremely impressed with the number of plug-in you have developed. keep them coming. 8)
ColinCohen
08-03-2004, 02:59 PM
I disagree. It is non-linear morphing. If you create a normal "Eyes Closed" morph, Morph Mixer will make a linear interpolation between the starting postions and the ending positions, probably moving the eyelid through the eyeball. With this plugin, you can define the arc, so by using the same "Eyes Closed" morph in Morph Mixer, the eyelid will go around the eye.
To me, that is a non-linear morph. Spline-shaped interpolations of morphs in relation to time could've always been accomplished in the Graph Editor.
Castius
08-03-2004, 03:12 PM
The result is similar yes, I won't argue that. The difference is when I hear someone say non linear morphs I would interpret that as the position of the point are calculated in a spline based method like Joe Alters’ lip service. As I see more and more users I see more terms being thrown around and some times they can start to loose there meaning. You know what I mean.
ColinCohen
08-03-2004, 03:44 PM
But thing is, the interpolation is spline-based. You just have to open the GE and change the curve shape. In v8, by default, MorphMixer create TCB keys.
I have very little experience with LipService. From what I understand it works very well, but from the little I've played with it, I don't see any method for changing the shape of the interpolation curves. I presume he uses the same curve all the time. Perhaps you can change it in the GE?
Perhaps I could change my plugin so that it changes the default curve MorphMixer creates into something more bell-like. Let me think about it.
Castius
08-03-2004, 04:18 PM
Your plugin is really awsome so i will not push this issue any further. I can't wait to see what else you can come up with.
ColinCohen
08-03-2004, 04:24 PM
I just posted a new version of the plugin that creates non-linear time interpolations as well.
It does this by setting the tension on all the keys MorphMixer creates from 0 to 1.
Please try this out and let me know what you think. I can change the defualt TCB setting to anything I'd like, so if you think a different setting would be better, please let me know.
mdunakin
08-04-2004, 12:41 AM
Well, all I have to say is, THANX A ZILLION!
Can't wait to give this a try out :)
Thanx tons............md :)
adrencg
08-04-2004, 02:33 PM
Michael,
You've almost got it. Now, just change the shape of the curve in the graph editor.
I guess I should've made it more clear. You could've always used the GE to make your morph non-linear in relation to time. The point of this plugin was to make them non-linear in terms of geometry. Sorry for the confusion.This seems great, but I wish I could figure out what really needs to be done....
Am I making all of the morphs, then using NLM to go from morph to morph? I usually do this with the MorphMixer graph editor for very complicated animation. If there was a way to get around making keyframes for 10 morph sliders, that would be great.
Mike
ColinCohen
08-04-2004, 03:41 PM
Am I making all of the morphs, then using NLM to go from morph to morph? Mike
You create the NLM morphs in Modeler and then use MorphMixer like you normally do (after loading the NLM plugin after the MorphMixer plugin.)
The way it works now you shouldn't have to make any additional keyframes over what you would normally have to.
adrencg
08-04-2004, 05:37 PM
You create the NLM morphs in Modeler and then use MorphMixer like you normally do (after loading the NLM plugin after the MorphMixer plugin.)
The way it works now you shouldn't have to make any additional keyframes over what you would normally have to.
I figured it out...it's bascially what I thought. Non-linear morphing without the need to keyframe a bunch of morphs. One thing I noticed is that if I went back into modeler and made changes to the morphs, they will not show up in Layout -- even after restarting with a new scene. I thought it may be a hub issue, but I can only use the NLMs with the original morphs, not modified versions.
Can anyone duplicate this problem?
...and, has anyone found that creating a new endomorph in Modeler will not show up in Layout, even with a solid Hub connection? I have to close the scene and reload it.
Mike
ColinCohen
08-04-2004, 06:00 PM
I believe the problem with new morphs not showing up in Layout is v8 issue.I will look into the other problem.
ColinCohen
08-04-2004, 06:08 PM
With the hub turned off, I loaded my scene. I then opened Modeler and changed both the normal endomorph and the nlm. I then reloaded the scene and it worked.
Perhaps it's a hub issue. I know sometimes I have turn the hub off and on before it starts behaving correctly. Please try that first. If you still have a problem, you can send me your files. It could be you're doing something I hadn't accounted for.
evilemil
08-05-2004, 04:16 PM
thanks Colin,
i did not see the explanantion in the NEwtek forum.
It is indeed a cool and helpful tool.
Michael
Perhaps it's a hub issue. I know sometimes I have turn the hub off and on before it starts behaving correctly. Please try that first. If you still have a problem, you can send me your files. It could be you're doing something I hadn't accounted for.
It's an issue with the new Morph Editor...or whatever it was called :)
Don't worry, NewTek already knows about this and I believe they are going to do something about it very soon.
faulknermano
08-06-2004, 09:27 AM
hi colen. i dont quite understand what you mean by changing the curve... do you mean the NLM custom channel groups' channels? if so, what does the percentage on the left hand stand for, and what does the time on the bottom represent?
i'm having some trouble understanding how changing the curve affects the interpolation.
and you say "The purpose of the plugin was to create non-linear morphs in relation to geometry".. i want to ask what you mean... that is, in relation to what else other than geometry? time? what is meant by non-linear morphs in relation to time? do you mean like a time ramp dictating how much non-linearness?? really confused here... sorry... :)
ColinCohen
08-06-2004, 02:14 PM
Forgetting my plugin for a moment, use the MorphMixer to key a morph and click E to open the Graph Editor. You'll see a curve. If it's the first key, it'll probably look linear. But you can change it to make it look curved. This is what I mean by non-linear in relation to time. The animation will move from the base mesh to the morph position non-linearly.
Of course, this doesn't help you with an eye blink, the eyelid could still go right through the eyeball. And this is what I wrote the plugin to solve. What I do now is in Modeler I've created an NLMEyes.LeftClosed.50 (and an NLMEyes.RightClosed.50) morph. This morph contains the arc point of the eye closing (50%). And I use the NLM Viewer in Modeler to make sure the arc looks correct.
For me, this is sufficient. The eyelid now closes around the eye and it eases in as the eye closes and eases out as it closes (using v0.91.) However, it you also want it to ease-in and ease-out of the arc point, simply add a key in MorphMixer at the 50% mark.
faulknermano
08-07-2004, 08:24 AM
This is what I mean by non-linear in relation to time. The animation will move from the base mesh to the morph position non-linearly.
ok. this i understand now..
Of course, this doesn't help you with an eye blink, the eyelid could still go right through the eyeball. And this is what I wrote the plugin to solve. What I do now is in Modeler I've created an NLMEyes.LeftClosed.50 (and an NLMEyes.RightClosed.50) morph. This morph contains the arc point of the eye closing (50%). And I use the NLM Viewer in Modeler to make sure the arc looks correct.
i understand when you say "arc" you simply mean a user-specified "middle point."
For me, this is sufficient. The eyelid now closes around the eye and it eases in as the eye closes and eases out as it closes (using v0.91.) However, it you also want it to ease-in and ease-out of the arc point, simply add a key in MorphMixer at the 50% mark.
ok.. so when you say "ease in/out" i take it you're still talking about time.
i'm trying your plugin and it does seem to emulate the _concept_ of MTSE but way easier and neater.. but of MTSE, meaning you create inbetween endomorphs. to make it smoother, one must create more inbetweens. this is what i gather from using it. in a sense i understand what you mean by it being a non-linear morph.. it is non-linear in respect to morphmixer, and since it doesnt work without morphmixer then saying otherwise is irrelevant. :)
but a question though: why did you decide to emulate this MTSE behavior alongside MorphMixer instead of directly plotting out the deformations? was it a speed issue? was it famiilarity with MorphMixer?
ColinCohen
08-07-2004, 02:31 PM
There were a couple of reasons I designed it to work with MorphMixer. Firstly, I don't believe in reinventing the wheel whenever possible. And I like MorphMixer's interface. Secondly, people can add this plugin to existing animations without having to change their scenes (other than adding the plugin.) Say, you had a scene with hundreds of eye blinks. All you would have to do is add the in-betweens in Modeler.
Conceptually, I don't think my plugin is that different from your NonLinearMorphDM script. Why didn't you call it MTSEDM?
If someone wants to offer me a better design, I'd gladly implement it.:) I don't see any way of making non-linear morphs without the user specifying the in-between points. I know LipService does it, but the only I can imagine it works is by making assumptions based on body parts. How else would it know how an eyelid moves?
faulknermano
08-07-2004, 03:33 PM
There were a couple of reasons I designed it to work with MorphMixer. Firstly, I don't believe in reinventing the wheel whenever possible.
yes. i agree on that point.
Conceptually, I don't think my plugin is that different from your NonLinearMorphDM script.
(well, if you want to go there...)
unless you can somehow guide me in making the current build work identically to how NLMDM works then i have to say there is a fundamental difference between how i executed that script. i might be mistaken about how your plugin, but certainly i am not mistaken about mine.
that said, let me say that what the difference that i see is that the interpolation between morphs _including_ your "propreitary" inbetween morphs is linear. from what i understand, you define non-linearity between MorphMixer morphs by the series of NLM inbetween endomorphs - from themselves are linearly interpolated. but when added together, they are "non-linear" because they are used in conjunction with morph mixer.
Why didn't you call it MTSEDM?
well i can call it that, but it doesnt describe the script how it interpolates. the interpolation between the endomorphs is _not_ linear at all. that's why the script requires three endomorphs to make a non-linear morph which is run by modeler spline interpolation.
If someone wants to offer me a better design, I'd gladly implement it.:) I don't see any way of making non-linear morphs without the user specifying the in-between points. I know LipService does it, but the only I can imagine it works is by making assumptions based on body parts. How else would it know how an eyelid moves?
i'm not offering any design ideas. i'm just trying to make heads and tails of your plugin, because i had a different preconception. i am just trying to understand.
mdunakin
08-07-2004, 03:55 PM
I haven't yet had a chance to check your plugin out yet, but will.
Personally, if I knew how to script or write plugins, I've always had my
own idea for how one of these types of plugins could be made.
I've even thought of the interface and all, but what good is that, if you don't know squat about making plugins?
Anyway, I've always thought that it'd be nice if, the area that has the morph, from it's rest state to its morph state, that the plugin itself would simply look at "which" points are actually being moved from their rest positions and track them to their new posistions.
Then, it looks at the over all angle and direction that the majority of the points seem to be going or heading towards.
Then, all you need to do, is have in the little interface, a little three point spline.
The spline could possibly be in a rotatable 3D (XYZ)axis with the center of axis being from each "end" point of the spline and that would be the basic axis (or angle) that the points are moving on.
To simplify, let's say it's closest axis is on the Y and a little pitch (though I don't know how to explain this part, since there is no pitch in Modeler, I guess you'd go by angel? the angle between the two end points) then you would pull (drag) out the middle point and you could not only pull it out from it's center, but since you're in a 3D invironment, you can move it from side to side to disstort the way the morph moves.
Then, you could have two sliders bellow that.
They would be the same basic setup as like the display panel for say, the Taper tool,
where you have those presets with the sliders for easing in and out.
Only "this" in and out, would be the form of the shape of how the morph itself is being morphed, as opposed to the easin in and out of time.
You could set that in the graph editor like normal.
Anyway, that's my suggestion for a morphing tool, and if I thought it was at all
possible to make this plugin, then I probably would.
....................md :)
ColinCohen
08-07-2004, 04:12 PM
well i can call it that, but it doesnt describe the script how it interpolates. the interpolation between the endomorphs is _not_ linear at all. that's why the script requires three endomorphs to make a non-linear morph which is run by modeler spline interpolation.Unless I'm misunderstanding something I think you can do the same thing with my plugin. You can take those same three endomorphs, rename them according to my plugin's naming convention, and use them with NLM.
ColinCohen
08-07-2004, 04:44 PM
I've updated my Web site to clarify exactly what this plugin does, how it works, and how it can be used to create the effect many of you want. Hopefully, this will avoid future misunderstandings.
Carbunkle
08-13-2004, 09:20 PM
Greetings, everyone!
I'd just like to ask Colin as to whether his NLM plugin can be tied to bone rotations via expressions? The reason, is that I'd like to use this plugin to produce corrective morphs, which at the moment suffer massive distortion at around 50 to 60 degrees rotation!
Any advice would be much welcomed!
Thanx and all the best!
Carbunkle
ColinCohen
08-14-2004, 03:46 AM
You should probably use joint morphs for that. Also, Newtek has a video on their site on how to use SoftFX to smartskin.
Fasty
02-15-2005, 05:20 AM
Colin's site seems to be down :sad:
Is this plugin still available?
CGTalk Moderation
02-15-2006, 06:00 AM
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.
vBulletin v3.0.5, Copyright ©2000-2009, Jelsoft Enterprises Ltd.