Merging Geograph from Daz char…
Daz 3D Forums > 3rd Party Software > Blender Discussion>Merging Geograph from Daz char…
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.
Comments
Are you retargeting so you can use the character in a game environment in UE5? Just wondering. I am baking the animations in blender and exporting to Unreal for rendering. Using Unreal for cinematic rendering means I don't have to worry about retargeting skeletons or anything like that. I was just curious, trying to learn the DAZ->Blender->Unreal workflow.
In case you haven't seen this yet, you can use Unreal Metahuman eyes in your DAZ character. Add them in DAZ, import into Blender and Diffeomorphic will treat them just like the original DAZ eyes. Morphs work and everything!
https://www.daz3d.com/forums/discussion/488821/distribution-geograft-epic-s-eye-shader-compatible-geometry#latest
Yes it's better and more customizable to retarget and bake animations in Blender, and use UE5 as rendering engine because rendering is UE5 speciality.
I occasionally use UE5.1.0 retargeting system or UE4.27 retarget manager to convert mannequin animations that I bought from Unreal marketplace, saving the process of extracting animations out of Unreal engine and edit them.
Daz store has lots of poses for sale but rarely any usable animations, luckily the Diffeomorphic plugin is very good two way bridge between Daz and Blender for making animations. The 18+ animations are rare in the stores and have to be self made.
Unreal Metahuman eyes and other textures can be used for Daz characters, there are useful tools made by this power user for converting Daz content in Unreal: https://github.com/guto88
------------------------------------------------------------------------------------------------------------
The Unreal retargeters did terrible job converting mannequin animations to Daz characters, caused by different bone hierarchies of genesis 8 skeleton and it missing calf twist bones. None of the Youtube tutorials solve this problem, the output animations are only good for hobby use but not production quality. The better solution is extracting mannequin animations as FBX files into Blender and retarget them with Autorig Pro or other retargeters, have to tweak them with Autorig Pro and the curves in the graph editor. The result animations can be exported to Unreal with the characters.
It's easier to get rid of the G8 skeleton and rig them with other compatible skeletons, but the JCMs are bound to the G8 skeleton with the post processing animation in Unreal, these are needed for natural skin deform when characters are animated in Unreal either by animations or by physics simulations.
--------------------------------------------------------------------------------------------------------------
Too many animations need to be edited for G8 skeleton, it's not feasible to edit thousands of animations in game. Replaced the G8 skeleton and rigged them with UE4 skeleton, so that the characters can use most store bought animations out of the box, and new animations made by myself will have better compatibility based on UE4 skeleton.
Then the JCMs morphs can't be preserved with new skeleton, but Diffeomorphic can convert JCMs to pure shape key animations, animation layers can do the trick to add these. The UE5 post process animation blueprint for G8 will stop functioning, so the ragdoll animations / passive body physics simulations in game would have slight lower quality due to lack of JCMs, but the active animations would benefit from original UE4 animations without retargeting.
--------------------------------------------------------------------------------------------------------------
If you want to keep original Daz skin weight instead of complete new rigging and binding skin with Autorig Pro, use the Quick Rig extension for AutoRig Pro, convert original G8 skeleton / deform bones to UE4 bone mapping preset, and then add rigging for the converted skeleton with Autorig default rig for making new animations. This method works better for monsters and abnormal characters imported from Daz.
Complete new rig for the G8 characters with new skin binding:
Preserve the original skin weights and convert to UE4 mapping:
----------------------------------------------------------------------------------------------------------------
Auto-rig Pro has face rig but not compatible with Unreal Live Link:
https://forums.unrealengine.com/t/way-to-move-blender-face-rigging-to-unreal-live-link/644225
The best solution for facial animations of Daz characters is to use Diffeomorphic to bake face morphs to shapekeys:
This explains the Blender FBX export options to export FBX for UE5 (general understanding from their source code of current version):
Transform
Forward: Y Forward (FBX Object +Y axis = Blender Global Forward(-Y), UE5 Asset Editor uses FBX +Y as forward direction)
Up: Z Up (FBX Object +Z axis = Blender Global Up(Z))
Armature
Primary Bone Axis: Y Axis (FBX Bone +Y axis = Blender Bone Local Primary/Forward(+Z), UE5 Asset Editor uses FBX +Y as bone local forward direction)
Secondary Bone Axis: X Axis (FBX Bone +X axis = Blender Bone Local Secondary/Up(+Y))
Armature FBXNode: root (Create FBXNode name = Blender Armature name, UE5 uses FBXNode as root bone if there isn't any root bone named "root" so the FBXNode should be named "root", if there is already a root bone called "root" then set the FBXNode option to Null)
-----------------------------------------------------------------------------------------------
Attached the process of converting the G8.1 rig to UE4 Rig for UE5 after it's imported with Diffeomorphic, for more details refer to AutoRig Pro documentation.
This method preserves original G8.1 weight map and additional face rig for G8.1 morphs to work correctly. It needs to change the Daz A pose to Unreal A pose, tweak the IK bones and delete the extra pelvis bone after converted and reimported to Blender for further editing.
Simpler method is to auto rig and skin the character as posted in previous posts, but that doesn't generate good skin weights for different body proportions.
----------------------------------------------------------------------------------------------------------------------------------
Experimented more and found some missing steps of the rig converting process, that it needs to transfer weights of the unneeded bones, and then delete those bones before converting to UE4 skeleton:
Transfer weights: pelvis -> hip, neckUpper -> neck, lCarpal1-4 -> lHand, rCarpal1-4 -> rHand, lMetatarsals -> lFoot, rMetatarsals -> rFoot
Delete: pelvis, neckUpper, lCarpal1-4, rCarpal1-4, lMetatarsals, rMetatarsals
Convert the G8.1 rig to UE4 rig with AutoRig Pro QuickRig extension.
The other steps as demonstrated with the images are correct.
Nice. Thank you for this. Before I start learning this, are the JCM's / driven morphs preserved in this process? If not, how can we get them back?
JCMs are not preserved if not using the G8 skeleton, the post processing animation blueprint provided by DazToUnreal bridge doesn't work for other skeletons.
The advantage of using UE4 skeleton in Unreal 5 is that animations and animation blueprints can be used out of the box, by assigning them with the identical UE4 skeleton of the imported characters, with additional bones like face rig and breast bones which don't affect the hierarchy, also lots of store bought assets, blueprints and plugins are based on UE4 skeleton and very difficult to modify them to use other skeletons. The new UE5 mannequin skeleton hasn't been adopted by most asset vendors because it's buggy and over complicated.
There are two methods used as alternatives for the JCMs:
Create custom JCMs based on UE4 skeleton, there's new plugin under development with similar feature, not sure what skeleton would be used by the plugin.
https://www.daz3d.com/forums/discussion/590086/showcase-bringing-daz-figures-to-life-in-ue5#latest
Mod the Unreal engine source by changing one of the engine shading code files, to use dual quaternion skinning mechanism as supported in Blender with Preserve Volume option of Armature SkinBinding modifier, and rebuild custom Unreal engine from source using the free version Visual Studio Community 2019, and modding Unreal engine isn't more difficult than modding Skyrim. I've not rebuilt the new UE5.1 from source, would try it after completing the framework of the game development and updating the project from UE5.0 to UE5.1.
https://www.daz3d.com/forums/discussion/134926/adding-dual-quaternion-support-to-unrealengine4-images-inside#latest
Edit: Changing the Unreal engine mechanics seems to be impossible to not break the engine, would prefer they include this feature in the official builds or as engine plugin so that the plugin error would not mess up other components of the engine.
----------------------------------------------------------------------------------------------------------------------------------
Experimented more and found some missing steps of the rig converting process, that it needs to transfer weights of the unneeded bones, and then delete those bones before converting to UE4 skeleton:
Transfer weights: pelvis -> hip, neckUpper -> neckLower, lCarpal1-4 -> lHand, rCarpal1-4 -> rHand, lMetatarsals -> lFoot, rMetatarsals -> rFoot
Delete bones: pelvis, neckUpper, lCarpal1-4, rCarpal1-4, lMetatarsals, rMetatarsals
Convert the G8.1 rig to UE4 rig with AutoRig Pro QuickRig extension.
The other steps as demonstrated with the images are correct.
-----------------------------------------------------------------------------------------------------------------------------------
After importing new character with converted UE4 skeleton, assign this new UE4 skeleton to existing animations linked to standard UE4 skeleton: https://dev.epicgames.com/community/learning/tutorials/8kO6/share-animations-between-skeletons
For other meshes to use the skeleton and its linked animations, right click it and select Skeleton -> Assign Skeleton.
Converting G8.1 to UE4 rig with Quick Rig plugin, but not working as expected in UE5:
The AutoRig Pro converted UE4 skeleton doesn't work the same as original UE4 skeleton, AutoRig Pro tries to mimic the original UE4 local bone orientations but apparently it can't provide exact match. Although it indeed provides the most compatible UE4 variant that's easy to work with. Retargeting is still needed for this converted UE4 skeleton.
It seems there is no working method currently to convert G8 skeleton to exact UE4 skeleton, the most viable method is to convert G8 skeleton to UE4 compatible skeleton, so that the retargeted animations would look better and the UE4 compatible skeleton with same bone names would mostly work with animation blueprints designed for UE4 skeleton.
To convert G8 skeleton to UE4 compatible skeleton, the AutoRig Pro is not needed as Diffeomorphic can do this job.
With Diffeomorphic imported Daz rig selected, Setup -> Rigging and select Create MetaRig. It converts the Daz deform rig to standard humanoid skeleton, and keeps the facial rig and breast bones. The extra rig it creates called metarig is not used and can be deleted. The converted deform rig is UE4 compatible and can be renamed to UE4 conventions, the local bone orientations doesn't need to match original UE4 skeleton as the new skeleton will need retargeting anyway.
It's easier to completely rig and skin any character with Auto-Rig Pro smart rigging and skinning, and it's automatically converted to exact UE4 skeleton when exporting using this plugin as shown in this video, but this doesn't preserve original Daz character skin weights. This approach is most effortless and widely used by Unreal game developers, compatible with biped or multi-ped characters. It's the way to go if you really want to complete any huge indie project, just get rid of the G8 rig and completely rig and skin them with UE4 skeleton with or without additional bones, Diffeomorphic can convert the Daz morphs and facial expressions to pure shape key animations to use with UE4 rig.
------------------------------------------------------------------------------------------
The UE4 rigged G8.1 character plays animations correctly in UE4.27. The same animations when playing in UE5 are different from playing in UE4.
Attached the image showing the differences from left to right between the mimic UE4 rig using the converting method, the character rigged with UE4 rig added breast bones using the smart rigging method, and the original UE4 mannequin exported from Unreal. The second image shows the UE4 rigged G8.1 character playing the original mannequin walking animation without retargeting. The hand pose and the toes are not correct because it's using the Daz A pose not the Unreal A pose, this can be fixed by applying Unreal A pose for G8.1 character before rigging in Blender, and it's very hard to find the Daz pose preset for the needed Unreal A pose.
------------------------------------------------------------------------------------------
The above posts are not relevant to the topic "Merging Geograft from Daz character with Diffeomorphic", any updates or better methods for character rigging would be post on the new thread "Modify Daz character rig for Unreal skeleton" https://www.daz3d.com/forums/discussion/596666/modify-daz-character-rig-for-unreal-skeleton#latest
------------------------------------------------------------------------------------------
The best answer for "Merging Geograft from Daz character with Diffeomorphic" can be found from the bottom on page1 of this thread.