daz3d / DazToC4D

Daz to Cinema 4D Bridge
https://www.daz3d.com/daz-to-cinema-4d-bridge
Other
29 stars 11 forks source link

Message Box Meaning & JCM Exports #34

Open brucek5 opened 2 years ago

brucek5 commented 2 years ago

Greetings, Again, the last update was great!

Two questions: 1 - What is the underlying meaning of these two message boxes when loading in Cinema 4D? Try_Joint_Orient Joint_Orient_Not_Fixed

2 - What determines what JCM get exported? I noticed when I simply export a character in an A-pose, 107 and morphs are exported. When I export an animation of the same character I get 117 morphs.

I have been manually transferring the your JCM morphs and the XPresso scripts of a character I already have exported from DAZ (unfortunately before this latest plugin update). One thing I noticed after I saw the JCM weren't working like in the plugin exports, was the rotation order was different than Cinema 4D default "HPB", once I swapped H and P everything worked. Hopefully I'll never have to do this again now with the new plugin. But I still want to get this existing Cinema 4D project updated with all the possible JCM.

FYI - I'm assuming your plugin imports the morphs the same way standard FBX morphs are imported. On my manual implementation, I used Cinema 4D's morph tag in "Relative Point" mode. In this mode, all the morph mesh objects are not saved in the file, because the tag saves the relative points from the meshes within the tag. This makes a hug difference in the Cinema 4D file size (from 77mb to only 7mb). Animations are also much faster.

Also if you're interested, I could provide you with a Redshift skin shader that uses sub-surface scattering (SSS) that looks more realistic than a standard Redshift shader.

Thanks again for a great plugin!

danielbui78 commented 2 years ago

Sorry for the late response, I must turned off my computer before my previous reply was sent.

  1. Posed Figures and Animated Figures are not currently compatible with the Bone/Joint Orientation Correction algorithm we are using. Without this correction, the degrees of rotation for each joint in C4D will not match the system used by Daz Studio, and all systems dependent on the Daz Studio joint rotation system will function incorrectly (the auto-JCMs equations). The current work-around is to disable Joint/Bone correction if you need to import and use Poses or Animations from Daz Studio. We are working on a complete solution that's compatible with everything, but there is no timeline yet on when this will be implemented.

  2. Morphs can be exported directly, but morphs may also be exported with Animations, if the morph slider is controlled by the animation.

If you are interested in contributing to this project, feel free to fork the repository, make your changes and submit them back to us. If you have any questions, I can help you with this process.

brucek5 commented 2 years ago

Hi danielbui78, Thanks for the reply and insight. Even if the JCM are not "fully functional", the new plug-in is still an fantastic improvement. Hopefully you'll figure out emulate the DAZ extended JCM system.

I would like to take you up on your offer to fork the repository. I have two items that may be of interest:

  1. Redshift shaders for most DAZ character elements (skin, lips, teeth, eyes)
  2. I've created a Cinema 4D R21 project that enables re-targeting joint animation from DAZ character to another using Python. I needed to create this because once a DAZ character is in Cinema 4D it was difficult to apply or change different DAZ aminations once the DAZ character is a Cinema-4D character. It reads a CSV file for joint definitions and what joints use position and rotation, as well as scale, offsets and axis order.

I've attached a screen capture of the script interface options and a sample Redshift rendering of a DAZ character.

If interested, can you help me set the fork up so it matches your conventions?

Bruce Kingsley

DAZ character animation re-target interface DAZ_Re-Target_Cinema-4D

Cinema-4D Redshift rendering of a DAZ character DAZ_To_Cinema-4D_Redshift

danielbui78 commented 2 years ago

@brucek5, Screenshots look amazing! Sorry for the late reply, again!

If you create a fork of the DazToC4D repository, just add your files into a subfolder of the "Cinema 4D/appdir_common/plugins" folder, under a name of your choosing that is separate from the "Cinema 4D/appdir_common/plugins/DazToC4D" folder. If you then push your changes to github and notify me, I will review it and discuss possible ways we can integrate it with the current DazToC4D bridge or maybe package it as its own plugin.

brucek5 commented 2 years ago

Hi danielbui78,

No worries, it's just a side project.

For the Redshift shader, I can simple create a Cinema 4D project file with a character with Redshift shaders you can pick apart.

My re-targeting project doesn't sound like it would be part of the Bridge as it is addressing characters created not just from DAZ, but iClone, Mixamo or any other character where a "re-target definition CSV" file has been created ( I attached an example file). I've never made a plug-in before, just scripts

Retarget_Object_Genesis3Female_To_Genesis8Female.csv .