Profile Picture

Tutorial: Multi-Stage Transitional Morphs using iClone 7 and iClone 6

Posted By Lord Ashes 3 Years Ago
Rated 3.7 stars based on 3 votes.

Tutorial: Multi-Stage Transitional Morphs using iClone 7 and iClone 6

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

Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)

Group: Forum Members
Last Active: Last Month
Posts: 1.2K, Visits: 1.4K
Previously I did a tutorial on multi-stage transitional morphs (https://youtu.be/xYcOE7hY8QI) were I identified the difficulty of making multi-stage morphs because each successive morph stage needs to subtract out the previous morph stages. This means instead of just creating meshes which match the various stage of the morph, the user needs to create less intuitive delta morphs.

This applies to morph objects in iClone 6 (implemented using Dummy Bone and Face Expressions) and iClone 7 (implemented using the Morph Creator and Animator).

This tutorial video demonstrates the problem showing what a improperly executed multi-stage morph will look like (i.e. one that uses the morph meshes directly) side by side with what a properly executed multi-stage will look like (i.e. one that uses delta morphs). At the end of the video, I offer a possible solution for easily creating the necessary delta morph files for implementing your multi-stage morphs properly.



(EDIT1: Updated links to version 1.1 which compensates for OBJ files which do not specify a "g" (group) entry)
(EDIT2: Updated links to version 1.1 of the binaries. Previous link was still pointing to the old binaries)
(EDIT3: New links to source code and binaries)

As the video says, if you want to use the MorphBuilder program (written by Lord Ashes himself) to simplify your multi-stage morph creation, you have two options:
1. Trust Lord Ashes and download the windows binaries from http://www.mediafire.com/?e76zykp98im7y
or
2. Don't trust Lord Ashes (no offense taken) and download the source code from http://www.mediafire.com/?e76zykp98im7y
(The source code is a Visual Studio 2015 project which can be compiled with any edition of Visual Studio including the free Community edition).



"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to walk on the grass while we have the right to smoke it"
Lord Ashes' Original
Edited
2 Years Ago by Lord Ashes
4u2ges
4u2ges
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)

Group: Forum Members
Last Active: 27 minutes ago
Posts: 2.1K, Visits: 7.9K
Very interesting. I got 2 questions though:

1. Is it possible to have the same concept applied to iProps with morphs created in IC7 Morph Creator?
2. I tried to download, but the filehosting.org never sends an email with download link (checked trash and junk box as well).

Thanks




Lord Ashes
Lord Ashes
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)

Group: Forum Members
Last Active: Last Month
Posts: 1.2K, Visits: 1.4K
4u2ges (7/15/2017)1. Is it possible to have the same concept applied to iProps with morphs created in IC7 Morph Creator?

Yes. While the tutorial showed the implementation as a boned prop in 3DXChange, the iClone 7 Morph Creator works the same way. If you want to apply multi stage transitional morphs, you will need to use Delta Morphs instead of the regular mesh morphs.

4u2ges (7/15/2017)2. I tried to download, but the filehosting.org never sends an email with download link (checked trash and junk box as well).

Hmm. It worked for me. Let me see if I can attach directly...



"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to walk on the grass while we have the right to smoke it"
Lord Ashes' Original
Edited
3 Years Ago by Lord Ashes
Lord Ashes
Lord Ashes
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)

Group: Forum Members
Last Active: Last Month
Posts: 1.2K, Visits: 1.4K
Hmm...The forum keeps telling me that I have exceeded my space, when I try to attach, even though the files is only 6k (and in RAR format which is one of the accepted formats).

Try these links instead:

As the video says, if you want to use the MorphBuilder program (written by Lord Ashes himself) to simplify your multi-stage morph creation, you have two options:
1. Trust Lord Ashes and download the windows binaries from  https://ufile.io/vodzr
or
2. Don't trust Lord Ashes (no offense taken) and download the source code from https://ufile.io/wn12e
(The source code is a Visual Studio 2015 project which can be compiled with any edition of Visual Studio including the free Community edition).

Let me know if that worked better. 

EDIT: Updated links to latest version of the software which addresses the bug with OBJ files that don't specify a "g" (group) entry.
EDIT2: Updated link to binaries which was still pointing to the old binary 

"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to walk on the grass while we have the right to smoke it"
Lord Ashes' Original
Edited
3 Years Ago by Lord Ashes
Lord Ashes
Lord Ashes
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)Distinguished Member (12.2K reputation)

Group: Forum Members
Last Active: Last Month
Posts: 1.2K, Visits: 1.4K
BTW, just a heads up. The program is a quick implementation so it does not have any type of bullet proofing if you enter incorrect parameters. For example, all the files provided should gave the same number of vertices, texture vertices and faces. In addition if the object uses groups then this should also match. If it does not, you are likely to get odd behavior including possible program crash.

Please note that the parameters to the program should be provided in order starting with the source mesh and the listing the morphs in the order that they will be applied. When creating your Morph Object (in 3DXChange or Morph Creator) it is suggested to use the Morph.00.Source.OBJ or Morph.00.Delta.OBJ as the source for the morph. This will ensure that the Delta Morphs are compatible. The Morph.00.Source.OBJ and Morph.00.Delta.OBJ file should both be the same and should be a slightly reformatted version of your source OBJ file. The Morph Builder does create a Morph.??.Source.OBJ and Morph.??.Delta.OBJ file for each morph. In 3DXChange or Morph Creator you want to use the Delta files. The Source files are just a reformatted version of your original morph files and are not really needed. If you are using the Source Code, you can even turn them off.

The Source Code also contains the classes to hold an OBJ file's contents in memory. This can be useful if you are writing you own program for manipulating OBJ files. While this makes the program code longer, it is fairly easy to scan through the code to see that it does not do anything malicious.

"We often compare ourselves to the U.S. and often they come out the best, but they only have the right to walk on the grass while we have the right to smoke it"
Lord Ashes' Original
4u2ges
4u2ges
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)

Group: Forum Members
Last Active: 27 minutes ago
Posts: 2.1K, Visits: 7.9K
I must be doing something wrong.
I have an original and 3 consecutive .obj with morph amended. 
Running morph builder gets this error (old VS 2010 Express does not allow me to debug).

https://forum.reallusion.com/uploads/images/69ce9bcf-5523-4b12-842e-b9ba.jpg

Now, looking at the obj sources it seems they are quite different. I suppose number of  "v, "vt", "f" ... etc lines should exactly match. But they do not and I wonder why.
All I did is loaded original .obj into Blender. Then immediately Exported back to .obj and used that one as a source. Then I did a 3 consecutive mesh amendments (exporting to .obj after each).
So when I load this series into iClone Morph Creator, it all works fine (in a twisted way of course).

I can post another series of images. But it would be best if you could possibly try enclosed .objs to confirm as to what might be wrong (I think it is a Blender "thing"...)
Thanks






Attachments
MORPHS.zip (75 views, 638.00 KB)
Edited
3 Years Ago by 4u2ges
but0fc0ursee
but0fc0ursee
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)

Group: Banned Members
Last Active: 3 Years Ago
Posts: 595, Visits: 1.7K
4u2ges (7/15/2017)
I must be doing something wrong.

...Now, looking at the obj sources it seems they are quite different. I suppose number of  "v, "vt", "f" ... etc lines should exactly match.

Scripting provides functionality that exceeds normal tools.
For this to work you must carefully follow Lord Ash's instruction.
Step by step!

You can't just load objects and add the script....
Configure the code "To Match."... as per the instructions.
Please note that the parameters to the program should be provided in order starting with the source mesh and the listing the morphs in the order that they will be applied.
When creating your Morph Object (in 3DXChange or Morph Creator) it is suggested to use the Morph.00.Source.OBJ or Morph.00.Delta.OBJ as the source for the morph. This will ensure that the Delta Morphs are compatible. The Morph.00.Source.OBJ and Morph.00.Delta.OBJ file should both be the same and should be a slightly reformatted version of your source OBJ file. The Morph Builder does create a Morph.??.Source.OBJ and Morph.??.Delta.OBJ file for each morph. In 3DXChange or Morph Creator you want to use the Delta files. The Source files are just a reformatted version of your original morph files and are not really needed. If you are using the Source Code, you can even turn them off.
Edited
3 Years Ago by but0fc0ursee
4u2ges
4u2ges
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)

Group: Forum Members
Last Active: 27 minutes ago
Posts: 2.1K, Visits: 7.9K
@Lord Ashes As oppose to complex .obj I just tried a simple cube in 3 stage single vertex move, where the list of mesh properties are matched. Still no luck - the error is the same.




but0fc0ursee
but0fc0ursee
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)Distinguished Member (1.5K reputation)

Group: Banned Members
Last Active: 3 Years Ago
Posts: 595, Visits: 1.7K
It's a simple code. One or more of the parameters are not met.
You're load a Cube... and see that the verts match, but...
The Morph.00.Source.OBJ and Morph.00.Delta.OBJ file should both be the same and should be a slightly reformatted version of your source OBJ file.

Is the source and delta a "slightly reformatted" version of the source?

What about the smoothing groups?

It's the little things we miss that...
Give the file to Lord Ashes to examine.
Edited
3 Years Ago by but0fc0ursee
4u2ges
4u2ges
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)Distinguished Member (6.4K reputation)

Group: Forum Members
Last Active: 27 minutes ago
Posts: 2.1K, Visits: 7.9K
Swoop, really, you have no idea what you are talking about Smile You are a big expert in 3D but please try to read carefully and understand before posting something. How can I have a delta if the program crashes before it has a chance to create it..




Edited
3 Years Ago by 4u2ges



Reading This Topic