|
Author
|
Message
|
|
Brucek5
|
Brucek5
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Years Ago
Posts: 25,
Visits: 154
|
I can't seem to find anywhere on the Internet about iClone's very strange Bones/Joint rigging, making not attritive to use with other 3D applications where animation is retargeted (exporting FBX or BVH"). Here's my list: 1. The biggest issue is the bones not have a common "up-vector" or in other words, the bones axis are not the same. In the middle body, "z" points up, legs, point down, feet point back. No matter what app I load an iClone file (Cinema 4D, Blender, DAZ 3D, Autodesk SDK, the axis are not same. 2. There's no logic to the rigging rotational values. You should be able to zero out all bone rotations and get a default pose (like a "T" or "A"). If you zero an iClone figure you get a mess. You can't simply export it in a standard pose and then zero the rotations because the values are so far from zero you get gimble oscillations. I'm guessing Motion Builder users are having the bone rig, re-rigged, because files I've used that have come from Motion Builder are not like iClone files.
I started to write some Python code to try to fix the bone 3D rotational matrix math, but after going through two up-vector changes had had to stop and ask why am I the only one seeing this mess?
|
|
|
|
|
AutoDidact
|
AutoDidact
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Months Ago
Posts: 2.1K,
Visits: 13.6K
|
Brucek5 (10/11/2022) I can't seem to find anywhere on the Internet about iClone's very strange Bones/Joint rigging, making not attritive to use with other 3D applications where animation is retargeted (exporting FBX or BVH"). Here's my list: 1. The biggest issue is the bones not have a common "up-vector" or in other words, the bones axis are not the same. In the middle body, "z" points up, legs, point down, feet point back. No matter what app I load an iClone file (Cinema 4D, Blender, DAZ 3D, Autodesk SDK, the axis are not same. 2. There's no logic to the rigging rotational values. You should be able to zero out all bone rotations and get a default pose (like a "T" or "A"). If you zero an iClone figure you get a mess. You can't simply export it in a standard pose and then zero the rotations because the values are so far from zero you get gimble oscillations. I'm guessing Motion Builder users are having the bone rig, re-rigged, because files I've used that have come from Motion Builder are not like iClone files.
I started to write some Python code to try to fix the bone 3D rotational matrix math, but after going through two up-vector changes had had to stop and ask why am I the only one seeing this mess?
Hi, What method you are using to retarget exported Iclone Data(FBX,BVH) in your target application? I have exported BVH to Daz Studio genesis figures, from the Old 3DX change app, for years as the 3DX app has profiles for the Daz genesis figures, giving me a perfect FK baked BVH for Daz studio My current pipeline involves export FBX motion data from CC3 and retargeting it to the IK/FK Control rig of Auto rig pro for Blender. Again because Auto rig pro has profile preset for the Reallusion CC3 Character rigs. When I import a CC3 FBX into Bender ,from CC3 pipeline, and “clear all rotations” the figure returns to whatever the rest pose was in back in CC3. Also animated Avatars exported from CC3 pipeline( with the C4D target preset) import fine with body and facial animation into C4D R21 for me. So my again question here is : Into what Primary external application are you importing Avatars exported from IC/CC? What version of Iclone/CC are you using to export to that external application and by what method??
|
|
|
|
|
Brucek5
|
Brucek5
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Years Ago
Posts: 25,
Visits: 154
|
Hi AutoDidact, Thanks for the reply. To make sure we're on the same page on the term "re-targeting" as how I know it means. You are able to use a character created by another 3D application, and import a motion created by iClone? To make my question more clear, I'll give an example: You can open DAZ and add a native DAZ character to your scene. Then using using some kind of option I've yet to find in a Reallusion application, you can export a BVH file and import into DAZ and successfully animate the DAZ character as created in iClone? I re-asked this question because everything I have found on doing such a thing, first requires the user to import the native DAZ character into their 3D-Exchange application that basically destroys the original joint rig, and converts to iClone's strange rig, So in this case you could import back into DAZ with iClone animation because it's no longer a DAZ character (and not even close to anything else). From that point on, you can only use iClone to perform animation, nothing else. In my case, my main 3d application is Cinema-4D and I created my character rigging based on common practices. I'm able to re-target animations from other applications such as DAZ, Mixamo, Motion-Builder and purchased BVH files because other than the joint rig pose design (A-Pose, T-Pose, etc.) they follow the same standard rigging practice. I wrote Python code in Cinema-4D to correct the joint rotational matrix of joints such as shoulders, forearms and thigs, to fix the offset due to the different pose design. But other than iClone, I've never had to correct axis up-vectors. In the picture below I show all the iClone joint vectors (the direction the colored lines point). I counted seven areas where the up-vector changed.  The next image is from Mixamo, and a DAZ character and other applications would be the same. Notice there is only ONE up-vector. In addition, all joint rotations are zero and match a standard design pose.  Below is a iClone character with all it's joint rotations zero. It doesn't look like any standard design pose I've ever seen.  These are not just offsets, the rig is twisted because the rig wasn't designed with just one axis coordinate system (up-vector), but some reason seven. Am I still missing something? Thanks, Bruce.
|
|
|
|
|
AutoDidact
|
AutoDidact
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Months Ago
Posts: 2.1K,
Visits: 13.6K
|
You can open DAZ and add a native DAZ character to your scene. Then using using some kind of option I've yet to find in a Reallusion application, you can export a BVH file and import into DAZ and successfully animate the DAZ character as created in iClone?
This is correct. the old 3DXchange application was a general purpose retargeter that happened to have built in mapping profile for Daz genesis1-8 and Maya Human IK and Max biped. As well as the ability manually bone map any FBX imported biped rig for imotion retargeting. You import your Daz figure as FBX and apply Native imotions to it and export those retargeted motions back to Daz as bespoke BVH files with the Daz skeleton hierarchy.
That is exactly what you see in the “combat motions” video I posted earlier..the Daz genesis 8 male with BVH from iclone. Note that 3DXchange is no more, however its functionality has been split across IC8/CC4. I still use IC7&CC3 Pipeline so others here can tell you how it works now in IC8/CC4.
In my case, my main 3d application is Cinema-4D and I created my character rigging based on common practices. I'm able to re-target animations from other applications such as DAZ, Mixamo, Motion-Builder and purchased BVH files because other than the joint rig pose design (A-Pose, T-Pose, etc.) they follow the same standard rigging practice.
I was C4D user up until R21 that I still have installed over on my old 2017 imac. I Now use Blender with Auto rig pro for character animation. Right now Reallusion’s business model seems based on you exporting your IC/CC Characters to other 3DCC’s & game engines. Or Buying actor core motions and importing them into your external application for retargeting with local native tools . I can import an animated CC3 figure into C4DR 21 ,via FBX, and have it “play back “just fine body and facial animation as baked FK ,of course.
Now you say you are “creating you character rigging in C4D based on common practices”..that is fine. However Maxon C4D does NOT have a true general purpose retargeting system liIke AutodeskMaya, Motionbuilder or Blender (with Autorig pro) or Rigify with the FREE rokkoko or Expy kit General retargeters.
Certainly not one with retargeting to a human IK control rig other than that limited mixamo control rig from years ago when R21 was new.
I am not encountering any issues with the “upvectors” from CC3 Data imports because Blender( with ARP) has a profile for the CC3 rig along with the major industry rigs in use today.

Perhaps you can cobble a more complete python solution for C4D
|
|
|
|
|
Rampa
|
|
|
Group: Forum Members
Last Active: 10 days ago
Posts: 8.2K,
Visits: 62.6K
|
Here you go.
|
|
|
|
|
Brucek5
|
Brucek5
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Years Ago
Posts: 25,
Visits: 154
|
Hi AutoDidact; Thanks for the reply again. I will look at your videos as I still have 3DExchange and haven't found such a process. You're correct that Cinema-4D doesn't have have strong re-targeting tools, though they did introduce a new motion re-target system in R26. I did create a fairly complex Python script (screen capture below) well before R26, and enables more options for me. It reads a CSV file based on what I'm kind of character I'm re-targeting and gives me the option to read the joint values instead of key frames so I can capture rig motion created by rig controllers and added dynamics and noise reduction. Creating the CSV file takes time, putting in axis corrections, rotation offsets, rotational orders, invers axis, joint parent/child relationships, etc. When I decided to try out iClone, I was floored on how it was rigged. It looked like there was no thought behind it with odd values at given positions and axis constantly changing, which result in my script taking longer because it's performing a new joint tree matrix calculation for almost every joint on every frame. This what prompted me to make this forum posting to see if this was for real before continuing to create the rest of the definition file. The closer I can get an exported iClone rig to something similar to other rig, the more efficient it will be to use.
|
|
|
|
|
AutoDidact
|
AutoDidact
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Months Ago
Posts: 2.1K,
Visits: 13.6K
|
Thanks for the reply again. I will look at your videos as I still have 3DExchange and haven't found such a process. Hi , Make sure you have 3Dxchange PIPELINE for IC7 The non pipeline version of 3DX is only for importing models into iclone which is quite useless for anyone planning to render deliverables elsewhere.:rolleyes: If you do not have the pipeline version your only otheroption to export Iclone created motion out to C4D,Daz etc is via FBX export from CC3 pipeline or buy the upgrade to IC8/CC4.
The closer I can get an exported iClone rig to something similar to other rig, the more efficient it will be to use.
That is part of the reason I invested the $40 USD in ARP for blender as it gives me perpetual access to my entire library of imotions ,past ,present & future Via FBX export from CC3 pipeline. Finally , have you tried the re-rigging your iclone character with the FREE stand alone accurig tool from Reallusion? It has export presets for R18 & up
I have not even had time to try an export to my C4D R21 But perhaps it exports a “cleaner” C4D rig from which you can start your retargeting process with your python script.
|
|
|
|
|
Brucek5
|
Brucek5
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Years Ago
Posts: 25,
Visits: 154
|
Hi AutoDidact, I was unable to find a video on your channel where you used 3Dxchange to convert an iClone motion rig to a DAZ rig. Can you point me to one of your videos that is closest to this subject where the rig is corrected? BTW - I do have 3Dxchange 7 Pipeline. To clarify, I do not have an iClone character nor plan on making one. I'm only looking at using iClone for producing animations the same way I've been able to use Mixamo, DAZ and most recently Cascadeur. All I want is the animated bones, and I remove all the mesh objects,, their morphs and materials. I don't have any problem importing iClone into Cinema-4D. The iClone character will animate and look the same in Cinema-4D just as it did in iClone, it's just the bone rig is so difficult to retarget it from. If I can get 3Dxchange 7 Pipeline to convert an iClone character animation to a rig similar to DAZ or Mixamo, I would be pleased. On an unrelated yet positive note, the latest iClone AccuLips-AI does a descent job of speech animation. I wrote a Cinema-4D script that will import an iClone FBX file and extract the animated face morphs used for speech, and transfer them to my Cinema-4D character with extra code to smooth the transitions and apply additional face morphs for added realism.  This is a low resolution render of one of my characters that I created and animate.
|
|
|
|
|
AutoDidact
|
AutoDidact
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Months Ago
Posts: 2.1K,
Visits: 13.6K
|
Hi in this old video where I create an animation in iclone and retarget it to a genesis figure and export the BVH It does not show me importing and using it in Daz studio but such results be seen in the “Combat motions” video at the beginning of this thread. this was my method to retarget imotion to Daz studio for many years . I'm only looking at using iClone for producing animations the same way I've been able to use Mixamo, DAZ and most recently Cascadeur. All I want is the animated bones, and I remove all the mesh objects,, their morphs and materials Yes this is all I use Iclone,Mixamo for as well, as My meshes are from Daz and sketch fab and re-rigged with ARP. If I can get 3Dxchange 7 Pipeline to convert an iClone character animation to a rig similar to DAZ or Mixamo, I would be pleased. 3Dxchange pipeline exports a BVH that has the Daz genesis hierarchy base on whatever version of genesis you first imported into 3DX as FBX (1,2,3,8) This is something I imagine you would have tried already as you already have 3DX pipeline.
That is the only way it works back in Daz studio. I have sold commercial motion files to the Daz community using Iclone and 3DX
On an unrelated yet positive note, the latest iClone AccuLips-AI does a descent job of speech animation. I wrote a Cinema-4D script that will import an iClone FBX file and extract the animated face morphs used for speech, and transfer them to my Cinema-4D character with extra code to smooth the transitions and apply additional face morphs for added realism. . Awesome!! it is quite the shame that, all these years later, Maxon is still leaving these important features to be cobbled by the end users or shoved off to commercial third parties like Insydium but I digress.
|
|
|
|
|
4u2ges
|
4u2ges
Posted 4 Years Ago
|
|
Group: Forum Members
Last Active: 2 Weeks Ago
Posts: 5.3K,
Visits: 16.8K
|
Just do not forget to set "Limits Off" for the entire bones hierarchy in DAZ before importing BVH. Otherwise some motions would not behave as expected.
|
|
|
|