Profile Picture

Comments and Suggestions on Morph Creator and Morph Animator

Posted By Lord Ashes 8 Years Ago
You don't have permission to rate!
1
2

Comments and Suggestions on Morph Creator and Morph Animator

Author
Message
but0fc0ursee
but0fc0ursee
Posted 8 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: 8 Years Ago
Posts: 595, Visits: 1.7K
Lord Ashes (6/24/2017)
Yes. It works for visemes because of two factors:
1. Either you apply and remove one viseme before apply the next
or
2. The transition of removing one viseme while applying another looks okay.

When Morphing.... no morphs are ever removed.
Morph to Morph: Vertex position change only.

This concept does not work for many complex object.

Try "Progressive Morphing"... and make sure vertex count and order are all the same and you'll fly though it.

This clearly explains it all.
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.
but0fc0ursee
but0fc0ursee
Posted 8 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: 8 Years Ago
Posts: 595, Visits: 1.7K
Lord Ashes (6/24/2017)
If iClone supported a option to collect morph deltas based on the previous stage then it would not be necessary to create the trow away differential morphs or subtract out the previous stages in the next morph.

Morphing Unlike Objects:
There is a process of morphing one object into another object. The vertex count, order and uv's change.
You can continue this process to create numerous objects, but they will not morph.
You can animate them to appear and transfrom as needed, but they will not morph.

Search and you will find that no program will do that (straight forward) process you want, because that is not how morphing works.
Give your base morph the amount of vertices needed for all morphs and "Copy the Base" and move the vertices to a create your first morph.
Repeat.

Also:
Phoneme and Viseme's (appear) to morph from the "previous" morph, but it is referencing the base morph's vertex count and order.
"Unlike objects, i.e. a Torus and a Crab will not morph.

This is not a question of iClone supporting morphs.
This is a question of following 3d morphing rules.
Lord Ashes
Lord Ashes
Posted 8 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)

Group: Forum Members
Last Active: Last Year
Posts: 1.3K, Visits: 1.6K
but0fc0ursee (6/24/2017)
[quote]will2power71 (6/24/2017)
Lord Ashes, 
Accomplish the multi stage process by "Progressively Morphing" it! "Blend multiple morphs in one shot."
"This is how lip sync works!"
All phonemes and visemes "Blend from the Base."

Yes. It works for visemes because of two factors:
1. Either you apply and remove one viseme before apply the next
or
2. The transition of removing one viseme while applying another looks okay.

This concept does not work for many complex object. For example, a parachute that is deploying, opening and dropping its pilot chute. When the parachute is deployed it looks much like a cylinder. If I then take that mesh and open up the parachute to use as the next stage...guess what...that parachute deploys twice as far because both the first stage and second stage have deltas for the deploy step (stage 1 morph). In order to open the parachute after deploy the second stage morph needs to be a morph that is not deployed but has the canopy stretched out. In this way when the (stage 1) deploy morph is applied and the (stage 2) canopy morph is applied, they add together to create the desired stage. If I removed the stage 1 morph as I am applying the stage 2 morph then the deploy will not look correct. The length of parachute will vary depending on how much the deploy is reduced (based on the reduction of the 1st stage morph) and how much it is increased (based on the addition of the second stage morph). This only get more complicated as the object is more complex or has more stages. This is because Morphs are always determined by the deltas between the morph and the base object (but do not account for other morphs applied at the time).

If iClone supported a option to collect morph deltas based on the previous stage then it would not be necessary to create the trow away differential morphs or subtract out the previous stages in the next 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
Lord Ashes
Lord Ashes
Posted 8 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)

Group: Forum Members
Last Active: Last Year
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
but0fc0ursee
but0fc0ursee
Posted 8 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: 8 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."
will2power71
will2power71
Posted 8 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)

Group: Forum Members
Last Active: 2 Months Ago
Posts: 389, Visits: 2.8K
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. 
Lord Ashes
Lord Ashes
Posted 8 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)

Group: Forum Members
Last Active: Last Year
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
Lord Ashes
Lord Ashes
Posted 8 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)Distinguished Member (22.4K reputation)

Group: Forum Members
Last Active: Last Year
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
but0fc0ursee
but0fc0ursee
Posted 8 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: 8 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.
will2power71
will2power71
Posted 8 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)Distinguished Member (9.6K reputation)

Group: Forum Members
Last Active: 2 Months Ago
Posts: 389, Visits: 2.8K
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. 


1
2



Reading This Topic