PDA

View Full Version : Creating a corrective morph using Chronosculpt



jasonwestmas
09-26-2013, 12:33 PM
-) For an arm bend of any kind. . . bring in the point cached arm bend. It will appear to be a blue clip in the timeline.

-) Go to the frame where you wish to create your morph correction and scuplt that in. You'll get a yellow morph clip that appears above the blue clip.

-) In your skeletal deform animation package, create a premade point cache clip of your character in a TPOSE, it only needs to be a single frame.

-) Drag the TPOSE clip into the CS timeline (just by dragging the file into the viewport). It will be added to the end of the timeline next to the original cache clip.

-) Drag the yellow morph edit clip you just made for the arm on top of blue TPOSE Clip. Now your morph is applied to the TPOSE instead of your animated mdd.

-) Make sure the blue Timeline marker is directly overlapping the yellow dot of the morph clip. Create your perfect corrective endomorph from the CS endomorph menu or save out your morph target file as obj.

hdace
10-31-2013, 09:58 PM
omg this sounds good. Wish I'd seen this earlier. Just made about 20 using trad methods and it's so bloody hit or miss because of morph rotation errors between t-pose and the pose that needs correcting. Yet another reason why I'm going to have to purchase this in the next couple of days. Thanks very much for this workflow.

pooby
11-01-2013, 03:55 AM
Surely this isn't going to work with elbow bends etc or does bone information import into chronosculpt? I thought it just used point caches. It would require the bones matrices and weighting for each vertex in order to work out the inverse transforms to apply to the morph, so it can be applied before the bones and work in Layout.

jasonwestmas
11-02-2013, 03:05 PM
The idea I was describing above was to bring in cached animated poses (multiple frames) to be the foundation for sculpting in the necessary detailed deforms while in a specific pose. Then we can apply the morph (the yellow clip created after scultping) to your TPOSE afterwards, still inside of CS. The TPOSE would be a secondary blue cache clip you imported into your CSculpt scene. We can then export out a morph target or endomorph without the arm-bend or various other poses applied to the sculpt we just created. This is done by sliding the morph clip we created over the top of the blue TPOSE clip; move the time line hash-mark over the yellow morph clip dot and then export the morph from the menu.

Then inside our original animation package. . . using expressions or set driven key-like setups we can create basic corrections from these morph files (which are not point cache files of course but just lwo and obj geometry).

I'll create some examples when I give myself some time. Of course I'm sure some already know what I mean by now but maybe not in a CS/ LW context. Granted there are always limitations to this technique.

hdace
11-03-2013, 07:41 PM
The trick is to use JointMorphPlus. You trigger the corrective morphs (once created) with bone rotation. It works really well, but getting the morph right is the hard part, and it looks like this should work. Can't test right now, unfortunately, but looking forward to it sometime in a couple of weeks.

jwiede
11-04-2013, 10:27 PM
... Then inside our original animation package. . . using expressions or set driven key-like setups we can create basic corrections from these morph files (which are not point cache files of course but just lwo and obj geometry).

I'm not sure you're addressing Pooby's point: Displacing the vertices prior to bone deformation (by including the morph), you'll change the resultant bone deformation. That means you'll wind up with different outcome than you reached in CS (because in CS bone deform came first, a pointcache was made post-deform, and _then_ you painted the morph on top of it).

hdace
11-04-2013, 10:58 PM
I'm not sure you're addressing Pooby's point: Displacing the vertices prior to bone deformation (by including the morph), you'll change the resultant bone deformation. That means you'll wind up with different outcome than you reached in CS (because in CS bone deform came first, a pointcache was made post-deform, and _then_ you painted the morph on top of it).

Why would you displace the vertices prior to bone deformation? The whole point is to displace them with the bone deformation. When the bone is not rotated, JointMorphPlus is set to base. When the bone is fully rotated, JointMorphPlus fully displaces the vertices. This is effectively after bone, not prior to bone deformation. So your initial statement doesn't seem right. Unless I'm missing something.

Pooby's point doesn't make sense to me either because he himself asks, "does bone information import into chronosculpt?" All one needs to create the morph is the cached pose. Make the morph as jaswonwestmas has shown us, go back to the original animation without any cache, just using the usual fk or ik methods, find the relevant bone, write down its neutral rotation, then take note of the relevant posed rotation, then setup JointMorphPlus accordingly. It's a cinch.

lino.grandi
11-05-2013, 05:14 AM
Creating precise corrective morphs in LightWave at the moment is not possible. For now.

pooby
11-05-2013, 05:18 AM
A morph is just an offset. A vector for each point.
If the limb has been bent by the bone, and the deformation cached out, then you offset the point, it will look a certain way,
But if you save that as a morph and apply that offset before the bend (as you are forced to in LW), it will be totally wrong.
In order to make a morph after the bone has been bent, but that will produce the same result when applied before the bone bend, their has to be a reverse calculation of the bone weighting, to mix the influence of their matrices and invert that influence, (also taking into consideration the rest pose) and multiplying the vector offset (morph) by the result, to make the morph.

I deal with this kind of thing day in day out in ICE, in Softimage. You are welcome to try it out, but I guarantee it wont work as you hope. The bones and the morphs have a relationship to each other, to produce the final result and this can't be overlooked.

It IS possible to apply morph after bones ( in ICE for example), but to make it work you still have to deal with rotating the morph's vectors by the bones and youd have to code it as LW has no way of dealing with this out of the box.
watch these videos I made, if you are interested to see what I mean https://vimeo.com/67402407 https://vimeo.com/70124932

jasonwestmas
11-05-2013, 10:44 AM
I'm not sure you're addressing Pooby's point: Displacing the vertices prior to bone deformation (by including the morph), you'll change the resultant bone deformation. That means you'll wind up with different outcome than you reached in CS (because in CS bone deform came first, a pointcache was made post-deform, and _then_ you painted the morph on top of it).

not sure if you guys are understanding what I'm talking about, s'alright.

Thanks for the videos Pooby.

pooby
11-05-2013, 11:43 AM
I'd like to know. I'm really interested in this stuff.
I thought you were making a morph that you could bring back to LW as a corrective on an animated character. If thats not the case then ignore what I said.

jwiede
11-05-2013, 01:42 PM
Why would you displace the vertices prior to bone deformation? The whole point is to displace them with the bone deformation. When the bone is not rotated, JointMorphPlus is set to base. When the bone is fully rotated, JointMorphPlus fully displaces the vertices. This is effectively after bone, not prior to bone deformation. So your initial statement doesn't seem right. Unless I'm missing something.

I believe you are: Lightwave doesn't _evaluate_ bones and morphs simultaneously, and well, Pooby explains the rest better than I could in his second post above.

- - - Updated - - -


Creating precise corrective morphs in LightWave at the moment is not possible. For now.

Thanks Lino! Kinda figured that was the case, but a definitive answer clears things up nicely.

hdace
11-05-2013, 06:11 PM
I think we're all talking at cross-purposes. It is obvious that LW doesn't have "precise" mathematical system for corrective morphs. I've been struggling with personal workarounds for a long time and have been quite successful even though it's slow and full of trial and error. What Jason is doing is to try to improve the workaround method and I'm looking forward to trying it out. The "for now" from Lino is a sign of hope.

jasonwestmas
11-05-2013, 07:18 PM
I'd like to know. I'm really interested in this stuff.
I thought you were making a morph that you could bring back to LW as a corrective on an animated character. If thats not the case then ignore what I said.

communicating with text is sometimes difficult to express things. It seems the more I try to get to the point more quickly the more rude I sound lol. Yes, I am talking about improving deformations after the bone deforms. I'll try to create some solid examples this weekend. Wasn't trying to down any ideas here. Thanks as always.

jwiede
11-05-2013, 10:01 PM
Pooby's point doesn't make sense to me either because he himself asks, "does bone information import into chronosculpt?" All one needs to create the morph is the cached pose. Make the morph as jaswonwestmas has shown us, go back to the original animation without any cache, just using the usual fk or ik methods, find the relevant bone, write down its neutral rotation, then take note of the relevant posed rotation, then setup JointMorphPlus accordingly. It's a cinch.

Guys, why would Lino state that CS cannot be used to make corrective morphs*, if it could (which is what you're implying)?

*: at this time/with this version

pooby
11-06-2013, 05:32 AM
"communicating with text is sometimes difficult to express things. It seems the more I try to get to the point more quickly the more rude I sound lol. Yes, I am talking about improving deformations after the bone deforms. I'll try to create some solid examples this weekend. Wasn't trying to down any ideas here. Thanks as always. "

You dont sound rude in the slightest. And if you can apply these deformations after bones, it will look exactly as you hope - That is until the character turns around (rotating) from the pose the morph was made in. My Examples in ICE demonstrated that, in order to keep the morph relative to the limb in which its applied. It aslo has to rotate.
If however, you are just doing a quick deformation fix for a few frames here and there , and are not concerned about the morph persisting as part of the rigs deformation-correction design. Then maybe you will get away without rotating them.
This is what Chronosculpt does. It wont rotate the vectors either, so for example, if you sculpted a pufferfish expanding, and the fish turned around 180 degrees, the fish would implode, as the vectors would not rotate with the fish, instead , The vectors stay relative to the world, so what was pointing outward from the fish would now be pointing toward the fish.
However, if the fish is just swimming along in one direction, you will get away with it.

hdace
11-06-2013, 07:33 AM
Guys, why would Lino state that CS cannot be used to make corrective morphs*, if it could (which is what you're implying)?

*: at this time/with this version

Because Lino's wrong.

pooby
11-06-2013, 07:46 AM
how would you do it then?

hdace
11-06-2013, 07:59 AM
Pooby, what you're saying flies in the face of my experience. You said, "The vectors stay relative to the world, so what was pointing outward from the fish would now be pointing toward the fish." This just never happens to me. It's kind of like saying that a character who turns his head 90 will get his morphed smile turned into a grimace. I just don't get what you're on about. I've learned a lot from you over the years, so this is embarrassing for me. I remember when I read your posts many years ago and learned all about blending FK/IK, so disagreeing with you is not fun for me.

Okay, this is what I do:

I've got a pose in Layout with a bone deformation I don't like. Typically an elbow bend.

1 Save it as an endomorph called "ElbowFrame341". Save the object. Go into Modeler.
2 Turn the new morph on.
3 Copy it. Call the new one "ElbowFix".
4 Sculpt the correction.
5 Apply Morph -100% "ElbowFrame341". I now have a T-Pose with a very funny looking elbow. Now, here's where the problem lies that I think Jason's found an answer for, which is that subtracting the original morph has rotated the correction and this is unwanted. I have found that by splitting the morph into two morphs, UpperElbow and LowerElbow, and by applying Rotate Morph according to the measured rotation that has just occurred to the two arm parts (upper and lower), that I often (not always) get what I want. If I don't, I play with it a bit till it comes out right.
6 Go back into Layout and apply the morphs to the pose and see how they look. Quite frequently they turn out perfectly. As I said, if it doesn't look right, I ping pong till it's cool.
7 Here I usually unify the two morphs.
8 Use JointMorphPlus to apply the morph whenever the lower arm rotates towards the upper arm.

The morph does not have any trouble when the character turns. If he does a 180, the elbow still deforms the way I sculpted it. I've done this scores of times.

So I'm looking forward to trying Jason's workflow because it looks like it could beat the problem with stage 5.

I said previously that we've been talking at cross-purposes and no one responded. It appears to me that the suggestion that corrective morphs can't be done in LightWave have to do with the trial and error, hit and miss nature of this process. You're right. This is more like a workaround than a proper workflow. But Jason's idea is still clever and you should try it instead of saying it's impossible. I intend to. Unfortunately I don't have a gap for about two weeks. I've purchased ChronoSculpt and played with it a little but I'll report back when I've tried it.

pooby
11-06-2013, 08:14 AM
Jason said "Yes, I am talking about improving deformations after the bone deforms." whereas you are talking about regular morphing which occurs before bones. By applying the morph before bones, such as Morphmixer does, you wont get any collapsing issues, of course. The vectors are rotated after the deformation has occurred.
However there is no way in LW of sculpting a morph accurately after the deformation has occurred but making it so it will work before bones and produce the same result, without manual trial and error.
What you are describing above sounds like a manual version of what I said in my first post about doing an inverse bone calculation.
This is what Gino is referring to and he is correct. I firmly believe that Chronosculpt wont help in that regard as it does not deal with bone information.

hdace
11-06-2013, 08:16 AM
Guys, why would Lino state that CS cannot be used to make corrective morphs*, if it could (which is what you're implying)?

*: at this time/with this version

I would also like to point out that he did not say that CS cannot be used to make corrective morphs. This is what he said, "Creating precise corrective morphs in LightWave at the moment is not possible. For now." He said LightWave. So what I said, that he's wrong, was wrong. Sorry Lino! It is true that precision is not what I'm managing to do. However, I do still disagree with the gist of jwiede's question.

hdace
11-06-2013, 08:25 AM
Jason said "Yes, I am talking about improving deformations after the bone deforms." whereas you are talking about regular morphing which occurs before bones. By applying the morph before bones, such as Morphmixer does, you wont get any collapsing issues, of course. The vectors are rotated after the deformation has occurred.
However there is no way in LW of sculpting a morph accurately after the deformation has occurred but making it so it will work before bones and produce the same result, without manual trial and error.
What you are describing above sounds like a manual version of what I said in my first post about doing an inverse bone calculation.
This is what Gino is referring to and he is correct. I firmly believe that Chronosculpt wont help in that regard as it does not deal with bone information.

I'm not talking about regular morphing occurring before bones. I don't understand why you guys keep saying that. I realize there's an "under the hood" thing going on here that I obviously just don't understand. But when I test the morph corrections I'm testing them on an arm that has already rotated, not on a T-Pose. Doesn't that mean I'm improving a deformation after the bone deforms? How is what I'm doing different from what Jason is talking about? Maybe I'm just too dense to get it!

pooby
11-06-2013, 08:33 AM
In any 3d package, the default behaviour is for morphing to occur before bones in the operator stack. It is less clear with Lightwave, because there is no real stack transparent to the user. Lw just dictates that this is how it works 'under the hood'.
It is this order that makes it so difficult to make corrective morphs, as if you want to sculpt them in pose, you are making a morph that works after bones. To convert it to one that works before bones, there has to be calculations applied that take into consideration, the bones influence.

probiner
11-06-2013, 08:50 AM
Couldn't Morphs in the Node Editor (set to Before Local Displacement) do the trick?
Shape Manager animation in SI is stuck under the animation (I know you have a vid of how using ICE to put them after). And Subdivision through Geometry Approximation is not stack controllable, other wise one would probably use ICE for fine displacement no?

Cheers

pooby
11-06-2013, 09:08 AM
Morphs in the Node editor after bones could work if you are able to rotate them. If so, it would be very exciting news as morphs after bones produce far better results. I dont have LW installed anymore so I cant check it out.

In SI, Geometry Approximation is for viewing Subdivision surfaces in the viewport and for rendering. It is not directly about the actual geometry in the scene. If you want to Subdivide in SI, it is stack controllable if you so wish, but you'd have to keep it in the modelling section of the tree Or do it with ICE or you could make a subdivision object and keep it running live. But this is a bit of a tangent to the morphing issue.

jasonwestmas
11-07-2013, 07:27 AM
anyone new to corrective morphs can get a pretty good idea of what it's about by watching this:

http://www.youtube.com/watch?v=YvNdYseSNFs

There are six other videos on this subject by the same guy.

prospector
11-19-2013, 04:58 PM
OK, this is confusing...
I have a foot that needs morphs when bent in Layout.
Chronosculpt doesn't see a LW scene to load.
I can load object but that does bupkus as I need to see bones bent to make a morph.
I see no bones in Chrono to bend there and do a morph.
Does this work with LW Layout animation?

Tried to save transformed object from Layout (with bent bones) and load in Chrono.
That comes in and I sculpted a smooth bend and saved as endomorph.

Loaded MDD file and now foot no longer follows bones, see no morph in MM.

Are there any vid tuts for doing this, or is what I am trying not possable?

hdace
11-20-2013, 08:07 PM
I don't understand why you're loading an mdd in layout. You should be applying your new morph when the foot bones move.

prospector
11-21-2013, 01:46 PM
Well, so far I have discovered that a morph won't just come back into LW.
I seem to have to save a new LWO to get the morph on it. Then replace obj in layout so the foot then has a morph, tho it's not looking like the one in Chrono too much.
Now finding that in order to make morphs for the toes, I have to make the foot bend morph, save that LWO out and replace in Layout, then move the pinkytoe bones so I can morph in Chrono and save THAT LWO out and replace in Layout, then do the same for the Ringtoe bones and morph in Chrono and save THAT LWO out and replace in Layout....and so on and so on for all 5 toes.

Unless I am doing something way different than Chrono was ment to be used.

Cageman
11-21-2013, 04:10 PM
Guys, why would Lino state that CS cannot be used to make corrective morphs*, if it could (which is what you're implying)?

*: at this time/with this version

He didn't write CS in his post.... he wrote LightWave. :) Maybe he meant CS though, but I can only read what he wrote, not what he might have been thinking about.

Lino: Come back here and clear this up. :)

prospector
11-22-2013, 01:47 AM
Trying everything I can think of and this is best I get;
118332118333

The LW morph at frame 15, looks nothing like the same morph at same frame in ChronoSculpt.


So....still confused :grumpy:

jwiede
11-22-2013, 03:51 PM
He didn't write CS in his post.... he wrote LightWave. :) Maybe he meant CS though, but I can only read what he wrote, not what he might have been thinking about.

Lino: Come back here and clear this up. :)

It's contextual, as I read it. The thread is about CS (and we're in the CS forums), so he's saying we cannot create "precise corrective morphs in Lightwave" _using CS_. Still, clarification would be nice. If he was suggesting CS could be used to make precise corrective morphs, an explanation of how would also be welcome.

Greenlaw
11-22-2013, 06:08 PM
The only way I've ever been able to do this in LightWave is by trial and error, that is, by repeatedly switching back and forth between Layout and Modeler to tweak a joint morph. It gets the job done but it's not very efficient...and a real pain in the butt.

Back when Chronosculpt was first announced, I too assumed it might be used for corrective morphs. While I do find found CS to be very useful in its intended usage (fixing MDDs,) creating and editing joint morphs unfortunately isn't one of them.

Being able to edit meshes directly in Layout, even at the most basic level, is a long overdue feature. A few years ago, 3D Cel demonstrated with an experimental plug-in that Layout is capable of doing this but nothing really came from that project.

G.

jasonwestmas
11-22-2013, 07:44 PM
Trying everything I can think of and this is best I get;
118332118333

The LW morph at frame 15, looks nothing like the same morph at same frame in ChronoSculpt.


So....still confused :grumpy:

I'm still looking into this in a LW context but you'll get much better results if you use the displacement nodes with "before local displacement" turned on. Morph mixer won't work well.

prospector
11-23-2013, 09:34 AM
you'll get much better results if you use the displacement nodes
Will try that.


Back when Chronosculpt was first announced, I too assumed it might be used for corrective morphs
Me three

pooby
11-23-2013, 10:50 AM
I'm still looking into this in a LW context but you'll get much better results if you use the displacement nodes with "before local displacement" turned on. Morph mixer won't work well.

Yes because its after bones, but try that with the body rotated around. It won't work.
As I said earlier, doing morphs after bones is great, but you will need to also find a way of rotating the morph vectors properly.

jasonwestmas
11-23-2013, 02:32 PM
Yes because its after bones, but try that with the body rotated around. It won't work.
As I said earlier, doing morphs after bones is great, but you will need to also find a way of rotating the morph vectors properly.

Edit: Actually with this node setup I don't get any unwanted distortion if I rotate the entire model 180. Even if I rotate the spine 180 all is well so far. But I'll have to complete an entire rig in lightwave to really know for sure.

prospector
11-23-2013, 02:44 PM
Well that didn't work.
Went from -3-- to 3-- and all in between.
the morph moved slightly but nowhere near acceptible.

jasonwestmas
11-23-2013, 02:58 PM
Well that didn't work.
Went from -3-- to 3-- and all in between.
the morph moved slightly but nowhere near acceptible.

I assume you are applying the morph to Tpose inside Chrono right? I would practice on something more simple like an elbow or knee protrusion.

pooby
11-23-2013, 04:01 PM
Edit: Actually with this node setup I don't get any unwanted distortion if I rotate the entire model 180. Even if I rotate the spine 180 all is well so far. But I'll have to complete an entire rig in lightwave to really know for sure.

Are you rotating just the bones or the parent model?

jasonwestmas
11-23-2013, 04:36 PM
Are you rotating just the bones or the parent model?

I have the skeleton and the model parented to a group null. That's how it comes in from maya. I'm also using maya style joints in LW with "Use Weightmap only". The elbow morph looks virtually the same no matter where I rotate the group null.

If I parent the skeleton to the the model I see no difference in the deformation. when the model is rotated.

pooby
11-23-2013, 05:17 PM
Try rotating just the bones. If you rotate the whole mesh then it will give the impression that it's fine as that will rotate the morphs, however, in animation, it's usually the bones doing the rotating.

jasonwestmas
11-23-2013, 05:26 PM
welp, I'm not seeing the problem yet after rotating a bunch of joints but I'm sure something will come up later. Thanks

prospector
11-23-2013, 08:05 PM
Yep applying morph to 1 frame of base model as it comes from modeler then exporting as endo with new object and doing a replace object with it.
just rotating shin bone back and toe base bone up so as it looks like a step with foot bent.

hdace
12-12-2013, 08:38 AM
Well, I said I'd try it in a couple of weeks, and it's been more like six, but I finally tried this out and... nope. Not working well for me. I really thought it would, and it was fairly simple to try out. Everything made sense, but my morph looks quite different in Layout than it did in when I sculpted it in ChronoSculpt. But I still think it's a great idea and I'm going to try again soon. Even finding a spare half an hour is hard for me!

BTW, ChronoSculpt is extremely buggy in Mac. A lot of the key commands don't work properly, and saving the morph was bizarre to say the least. But there are lots of cool things I like about it too.

prospector
12-13-2013, 09:05 AM
I assume you are applying the morph to Tpose inside Chrono right?
yep, just bringing a 1 frame 't' pose and sliding the morph on to the 1 frame

hdace
12-13-2013, 09:16 AM
Same here. The problem is with bone rotations which demand reverse morph rotations. In Modeler I can calculate them using the "Angle" measure tool. This often solves the problem, but there's no way to do that in ChronoSculpt. But if I import the pose into Modeler I could do the same way I usually do, but that kind of defeats the purpose of using CS in the first place.

erikals
01-15-2014, 03:47 PM
anyone know how to continue / fix this one?


http://youtu.be/ItW52dGREeI

erikals
01-15-2014, 04:13 PM
Bah,... it doesn't work... http://erikalstad.com/backup/misc.php_files/twak.gif

http://forums.newtek.com/showthread.php?64536-Creating-Joint-morphs-in-Layout

hdace
01-15-2014, 06:10 PM
In that thread Dodgy said it would work in nodal mode if you could get bone info. But you can get bone info using DP Kit. That's something to look into.

erikals
01-15-2014, 09:29 PM
ouch, in a nice way... http://erikalstad.com/backup/misc.php_files/smile.gif
i have no idea where to start... anyone have any idea on how this could be done?

http://dpont.pagesperso-orange.fr/plugins/nodes/Additionnal_Nodes_2.html

hdace
01-16-2014, 07:43 PM
Boy, I'd have to spend a few hours figuring that out. Maybe someday when I have some time... You could always email Denis. He's always quite helpful.

erikals
01-17-2014, 03:30 PM
found this tutorial, best current LightWave method, afaik...

http://tinyurl.com/pjc73dt

Greenlaw
05-31-2014, 01:16 AM
found this tutorial, best current LightWave method, afaik...

http://tinyurl.com/pjc73dt
Finally got around to trying out this method--this is brilliant! To think I've been doing it the hard way for years.

Thank you, erikals, for posting this, and thanks to Dodgy for creating the tutorial. :)

G.

erikals
05-31-2014, 05:25 AM
Happy to help out... http://erikalstad.com/backup/misc.php_files/smile.gif

i later on created this, though a bit incomplete, i believe it's the most accurate method.
i think Dodgy also uses a not too dis-similar method at times...

it goes like this >


https://www.youtube.com/watch?v=Pf_CrejbmQ8