Profile Picture

Comments and Suggestions on Morph Creator and Morph Animator

Posted By Lord Ashes 7 Years Ago
You don't have permission to rate!

Comments and Suggestions on Morph Creator and Morph Animator

Author
Message
Lord Ashes
Lord Ashes
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)

Group: Forum Members
Last Active: Last Week
Posts: 1.3K, Visits: 1.6K
Before I get to my suggestions, I have to say that the Morph Creator and Morph Animator is a great step forward. It is so much easier to create Morph props now as opposed to the work-around method in iClone 6.x which involved making a boned prop and mapping morphs to Expressions. Thank you, RL. Job well done!

Having said that, I believe there are opportunities for improvement moving forward:

1. Multi Stage Morphs:

Issue:
The iClone 7 Morph Creator suffers from the same issues as the iClone 6.x work-around when making multi-stage morphs (see my you-tube tutorial at https://www.youtube.com/watch?v=xYcOE7hY8QI). The issue comes from the fact that morphs are always applied in relation to the base object and thus making a second stage to the morph becomes difficult because it is necessary to subtract out the first stage morph. For example, a flattened rectangle object has a morph to turn it into a sphere and then a second stage morph to turn the sphere into a cube. Ideally, one would like to create the second stage cube based on the previous sphere stage but Morph Creator will expect it to be created based on the base object (the flattened rectangle). This means to cause the object to properly transition from the first stage morph (sphere) to the second stage (cube) the second stage morph needs to subtract out the sphere morph and add in the cube morph.

Suggestion:
It would be much easier to create multi stage morphs if there was a check-box option to apply morphs based on the current object as opposed to the base object. So if Object 1 had Morph 1 applied and then Morph 2 was applied with this setting turned on Morph Animator would compare the Morph 2 to the Object 1 with Morph 1 applied instead of the base Object 1. In such a case, multi stage morphs can be made more easily because each morph would be created based on the previous stage as opposed to the base object. Obviously this should be a optional setting since in other cases having the Morph Animator compare against the base object is desirable.

2. Texture Morphing / Texture Swapping / UV Remapping

Issue:
The current morph system addresses morphing the mesh but not the textures associated with the mesh. Consider a werewolf character morph. With Morph Creator it is fairly easy to create such a morph but without a corresponding texture morph the sequence needs to be shot in silhouette or use other tricks to compensate for the fact that the mesh can change but the corresponding texture cannot. As a work around, I have illustrated how one can achieve a texture swapping result (see video tutorial at https://www.youtube.com/watch?v=_-N_eotS3Js) in iClone 6 or 7 but this is a work-around hack.

Suggestion:
Some possible solution are: 1) Allowing texture map swaps to be recorded using key frames or at least 2) Gradual transition between starting and ending textures or 

A related issue which could be solved by Texture mapping / swapping but also different ways is UV reassignment. Consider a coil of rope or tape measure which is being retracted using a morph. In such a case as the object is made smaller by the retracting morph, the texture will compact along with the mesh. This means, for example, that the tape measure will continue to read the same length as the tape is retracted but the divisions will get smaller and smaller. Similarly a retracting rope will get an increasingly denser rope texture. In such case, an option to keep the UV mapping in relation to the base object and re-project them on the morph object would be useful. 

3. Morphing Unification

Issue:
While great Morphing features and options are being added (especially to character morphs) to iClone it seems to me like the added features are a little bit all over the place. There is the Motion Puppet, Edit Motion Layer, MixMoves, FacePuppet, FaceKey, CreateScript, and Morph Animator. Each of these are their own dialog and and typically require moving out of that dialog to use one of the other functions. It would be nice to have these unified into one master dialog where the user could move more easily between each of these modules.

Suggestion:
For example, a Morph dialog with tabs for each module. It is not a big deal but it would give iClone a more unified feel as opposed to the feel that iClone is made up of many individual modules.

Once again, these are just suggestions for the future...I do, greatly, appreciate the strides that iClone 7 has made to make morphing easier to use. Good work RL.

"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to bear arms while we have the right to bare breasts"
Bowser and Blue, Busting The Breast
will2power71
will2power71
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)

Group: Forum Members
Last Active: Last Week
Posts: 384, Visits: 2.7K
Lord Ashes (6/23/2017)


2. Texture Morphing / Texture Swapping / UV Remapping

Issue:
The current morph system addresses morphing the mesh but not the textures associated with the mesh. Consider a werewolf character morph. With Morph Creator it is fairly easy to create such a morph but without a corresponding texture morph the sequence needs to be shot in silhouette or use other tricks to compensate for the fact that the mesh can change but the corresponding texture cannot. As a work around, I have illustrated how one can achieve a texture swapping result (see video tutorial at https://www.youtube.com/watch?v=_-N_eotS3Js) in iClone 6 or 7 but this is a work-around hack.


Is there some reason why you can't use the Blend Map channel to accomplish this? I thought it was essentially there for that purpose? Or are you talking about all the texture channels at one time?
but0fc0ursee
but0fc0ursee
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)

Group: Banned Members
Last Active: 7 Years Ago
Posts: 595, Visits: 1.7K
Lord Ashes (6/23/2017)
1. Multi Stage Morphs:

Issue:
The iClone 7 Morph Creator suffers from the same issues as the iClone 6.x...
The issue comes from the fact that morphs are always applied in relation to the base object and thus making a second stage to the morph becomes difficult because it is necessary to subtract out the first stage morph.

For example, a flattened rectangle object has a morph to turn it into a sphere and then a second stage morph to turn the sphere into a cube. Ideally, one would like to create the second stage cube based on the previous sphere stage but Morph Creator will expect it to be created based on the base object (the flattened rectangle).

A flattened rectangle can be morphed into a sphere, then morphed into a cube.
The key is to know how many vertices that the sphere would need, then give your base object "the required amount of sphere vertices."

1. Base = flattened rectangle
2. Morph 1 = Sphere
3. Morph 2 = Cube

No 3d program will morph, when the morphs do not match the base vertex count and order.
All morphs (using any 3d program) must have the same vertex count and order as the base object.
Edited
7 Years Ago by but0fc0ursee
will2power71
will2power71
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)

Group: Forum Members
Last Active: Last Week
Posts: 384, Visits: 2.7K
but0fc0ursee (6/23/2017)

A flattened rectangle can be morphed into a sphere, then morphed into a cube.
The key is to know how many vertices that the sphere would need, then give your base object "the required amount of sphere vertices."

1. Base = flattened rectangle
2. Morph 1 = Sphere
3. Morph 2 = Cube

Are you asking for the program to morph (Any) given object into another?". This would change the vertex count and order.... morph will not occur.
All morphs (using any 3d program) must have the same vertex count and order as the base object.


I think this would be one of those things you can accomplish by creating the first morph, then exporting it and creating the second morph from the first morph, then importing the morph into iClone. Since you haven't changed the vertices count, it should morph from the first object into the second object --as you're just combining morphs. Or, if that doesn't work, you could make to separate objects one based from the shape of the original, and the second object is the morph imported as another base object. Then you apply the second morph from the second object, toggling the visibility between stage one and two. I believe either method will work. 

but0fc0ursee
but0fc0ursee
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)

Group: Banned Members
Last Active: 7 Years Ago
Posts: 595, Visits: 1.7K
will2power71 (6/23/2017)
but0fc0ursee (6/23/2017)

A flattened rectangle can be morphed into a sphere, then morphed into a cube.
The key is to know how many vertices that the sphere would need, then give your base object "the required amount of sphere vertices."

1. Base = flattened rectangle
2. Morph 1 = Sphere
3. Morph 2 = Cube

Are you asking for the program to morph (Any) given object into another?". This would change the vertex count and order.... morph will not occur.
All morphs (using any 3d program) must have the same vertex count and order as the base object.


I think this would be one of those things you can accomplish by creating the first morph, then exporting it and creating the second morph from the first morph, then importing the morph into iClone. Since you haven't changed the vertices count, it should morph from the first object into the second object --as you're just combining morphs. Or, if that doesn't work, you could make to separate objects one based from the shape of the original, and the second object is the morph imported as another base object. Then you apply the second morph from the second object, toggling the visibility between stage one and two. I believe either method will work.

If a flattend rectange, sphere and cube do not share the same vertex count and order... they will not morph.
Combining objects and toggling visibility is not morphing.
All morphs must have the same vertex count and order as the base object.
Lord Ashes
Lord Ashes
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)

Group: Forum Members
Last Active: Last Week
Posts: 1.3K, Visits: 1.6K
Is there some reason why you can't use the Blend Map channel to accomplish this? I thought it was essentially there for that purpose? Or are you talking about all the texture channels at one time?

Thanks for the suggestion. I have not used the Blend Map functionality before but I will definitely have a look at it.


"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to bear arms while we have the right to bare breasts"
Bowser and Blue, Busting The Breast
Lord Ashes
Lord Ashes
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)

Group: Forum Members
Last Active: Last Week
Posts: 1.3K, Visits: 1.6K
A flattened rectangle can be morphed into a sphere, then morphed into a cube.

Yes it can. I didn't say it couldn't. What I was saying that when you are making the 3rd stage (or any stage after that) it is very tricky because the morphs need to subtract out the previous morph adjustments.

The key is to know how many vertices that the sphere would need, then give your base object "the required amount of sphere vertices."
...
All morphs (using any 3d program) must have the same vertex count and order as the base object.

Sorry but you missed the point of the post. I understand that the vertex count needs to remain the same. That is not the issue. The issue is that when you create the 2nd stage morph (i.e. the 3rd state) then you are working based on the original object and not the 1st stage morph (i.e. the previous state). In multi stage morphs, morphs are applied in succession but not removed before the next morph is applied.

So, in the above example, in order to make the Morph 2 that turns the object into a Cube mesh, you can't just create a cube mesh. The reason for that is because in a multi stage morph sequence the previous stage will already have been applied and remains applied. So when making the Morph 2 that turns the object into a Cube, you actually need to create a mesh that adds Cube adjustments but also removes the Stage 1 mesh adjustments (the sphere adjustments). This means that the mesh for the Morph 2 will look nothing like a cube.

You can see this concept in the Video Tutorial that I did on this subject...



If you watch the end, you will see that when the last morph stage is applied, it does not actually look exactly as expected because the previous stage is actually added twice (once with the initial morph and a second time with the next stage morph because the previous morph was not subtracted out). Please note that the video actually talks about a 3 stage morph object (4 stages) because I detail a work around for creating a 2 stage morph (3 states) without running into this problem.

I think this would be one of those things you can accomplish by creating the first morph, then exporting it and creating the second morph from the first morph, then importing the morph into iClone. 

That is exactly what will not work unless each is brought into iClone as a single morph object and you swap between them. If you just create the desired meshes (with a constant vertex count) then as soon as you apply the 2nd stage morph (or the 3rd stage morph if you are using my work around) the object will not morph correctly because both the stage 1 and stage 2 morphs will be applied. This means that the changes in stage 1 will actually get applied twice (once when stage 1 morph is applied and once when stage 2 morph is applied). In order to get the 2nd stage morph to produce the correct effect you need to create a mesh that adds the stage 2 changes but subtracts out the stage 1 changes. This means that the correct mesh for the stage 2 morph looks nothing like the mesh of what the final object will look like. In the rectangle, sphere, cube case the last morph that changes the object to a cube would actually need to add the changes to go from a rectangle (not sphere) to a cube and the changes to remove the changes from a rectangle to a sphere.

Morphs work on identifying the deviation between the base object and the morph mesh. If our stage 1 morph mesh is a sphere then the application of the stage 1 morph causes iClone to compare the veracities of the base object (the rectangle) and stage 1 morph mesh. This causes the veracities to change to from a rectangle to a sphere. If, for the second stage, we provide the morph mesh of a cube, iClone will do exactly the same thing. It looks at the difference between the base object (rectangle), calculates the differences between that and the 2nd stage morph (cube) to morph the object into a cube. The problems is that now both the first stage and second stage morphs are applied so iClone calculates the differences between the rectangle and the sphere, applies those and then calculates the differences between the rectangle and the cube, and applies those differences. The result is not a cube. The result is something between a cube and a sphere. In order to end up with a cube you would need to remove the effects of the stage 1 morph. In the case of the example, this might work. As we transition into the cube we can also transition out of the sphere to end up with a full stage 2 morph applied without the stage 1 morph applied. However, in reality this does not work most of the time. If you have a multi stage prop like my parachute set (being sold in the Marketplace and Content Store) then de-applying a previous morph stage as you apply the next one does not produce satisfactory results (i.e. the removal of the first stage morph is too obvious).




"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to bear arms while we have the right to bare breasts"
Bowser and Blue, Busting The Breast
will2power71
will2power71
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)Distinguished Member (8.9K reputation)

Group: Forum Members
Last Active: Last Week
Posts: 384, Visits: 2.7K
Lord Ashes, 

I oversimplified what I was trying to say about the first and second morph because I didn't know which modeler you have to work with and it's capabilities. Depending on what you have to work with, you can most certainly do what I am suggesting. When I create clothing and shoes for DAZ Studio I use that technique when it's time to rig high heeled shoes. You can't model the shoes correctly without taking the feet out of the zero pose, and you can't rig the shoes without morphing them to fit the feet in the zero position. You have to create basically a third, throwaway difference morph from position one to position two in order get everything to work out. Depending on what modeling program you use, this can be easy or difficult. DAZ studio makes it pretty easy to combine them with a feature called "reverse deformations" in morph loader pro where you bring the second morph form and it creates a difference morph. I suppose you could bring that prop/figure into DAZ and use that functionality to get that difference morph, but it all boils down to what you're comfortable with doing and what software you have access to. 

Here's a video that goes into what I'm talking about. It's about 30 minutes long, but it does go into exactly what I just described. 



You can also use a similar procedure in Modo but it's been a while --I'd have to look it up. You can make the compound morph and make it happen by importing that morph1 and morph2 after you've created them.When you're ready to animate it, you can activate morph1 for however long you need it on the timeline, then when you're ready, you pull the slider on morph2 to get the final shape that you want. 
but0fc0ursee
but0fc0ursee
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)Distinguished Member (1.6K reputation)

Group: Banned Members
Last Active: 7 Years Ago
Posts: 595, Visits: 1.7K
will2power71 (6/24/2017)
Lord Ashes, 

Depending on what modeling program you use, this can be easy or difficult.
...it all boils down to...
what software you have access to.

This says it all.
Accomplish the multi stage process by "Progressively Morphing" it! "Blend multiple morphs in one shot."
If your app supports progressive morphing, that is.

"This is how lip sync works!"
All phonemes and visemes "Blend from the Base."
Edited
7 Years Ago by but0fc0ursee
Lord Ashes
Lord Ashes
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)Distinguished Member (20.8K reputation)

Group: Forum Members
Last Active: Last Week
Posts: 1.3K, Visits: 1.6K
will2power71 (6/24/2017)
You have to create basically a third, throwaway difference morph from position one to position two in order get everything to work out.

Exactly. That is what I was pointing out. Making the difference morph (to remove a previous stage) is not an intuitive step if you have a complex object. This is why I was suggesting an option (that can be turned on or off)  that would perform the "morph deltas" between the morph you are trying to apply and the previous stage (not the base object). In such a case each stage of the morph would just be the final mesh for that stage because it would not be necessary to subtract out the previous stage (i.e. create the throwaway difference morph).



"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to bear arms while we have the right to bare breasts"
Bowser and Blue, Busting The Breast



Reading This Topic