Merging Geograph from Daz character with Diffeomorphic
I been working several programs to try to get Daz Characters with Anatomical Elements (Daz version, New Gens, Golden Palace) into Programs like Character Creator 3,IClone, or Unreal Engine. The big issues is those programs do not like the Geografts (particular shells). So doing some testing and research, I have read post on where I can merge geograft to the character in programs like blender, and that Diffeomorphic can automate that process.
The problem is I do not model and very unfimilar on how to achieve that process even with a script like Diffeomorphic. All I want to do is take my character with a geograph regardless what ever it is weather it is horns, feet, gentials, what ever and merge them to the character. and then export it out of Blender (perferably with the textures that were generated in Daz) and be able to bring them into programs like Character Creator 3, Iclone, and Unreal Engine via the reallason's 3dexchange to use them with working morphs in those programs.
I hope that was clear enough and if someone has a tutorial or can post the steps for a simple minded person to understand
Thanks
Comments
You can easily import geografts to blender that's what diffeo is for. As for exporting to iclone or other game engines you can try fbx from blender, but fbx will not support complex materials so you probably will need to fix something, depending on the material.
Yes I understand this all to well. I can get the character into blender, but I am not really sure how to do the merge part. Also when I bring into daz the textures do not seem to come in and textures almost look like they were colored in with caryons, so I am not sure I am importing textures correctly into blender. I was hoping someone could point me in the correct directions to read a tutorial or step by step instructions and how to do this.
I need to either be able to get the character and geograft into blender with textures applyed properly and as you mention export the fbx to bring into another program like CC3, Iclone, Unreal Engine or bring it back into Daz and apply the textures correctly there before I export out the fbx,
As for importing daz to blender with diffeo you can use the easy import that does it all for you. Just check merge geografts.
https://diffeomorphic.blogspot.com/p/import-into-blender-version-16.html
Thank you Padon, you have been most helpful. When I did that it does not seem to import the textures I had in Daz. Not sure if that even matters since I plane to send her back to daz or to Character Creator 3. Is that possible becuase when i export my character as fbx there are few issues.
Daz issue when I bring back in as an obj file I can not reaply textures nor can not use morphs or move arms, legs etc. If try to bring back in as and fbx file it is really messed up
Character Creator 3 if I try to bring in the fbx it wont allow me because it says it needs and FBXkey file. not sure what that is exactly other then something more to make me angry.
Again I know this because my unfamilarity of blender and again thank you for your help as I learn how to do this and become friends with blender. What should I be doing after I get my character into blender with graphs merged. Ideally I like to just get it into blender with morphs and textures then save it as an FBX file and take right into Character Creator 3. Just do not know that process yet.
If you have any more tips please let me kn ow again you have been very helpful
You shouldn't have any issues importing the daz materials and textures to blender via diffeomorphic. Unless may be you use separate folders for your content, if so you have to setup diffeomorphic accordingly.
https://diffeomorphic.blogspot.com/p/setting-things-up-version-16.html
As for importing obj and fbx to daz studio those are known issues. That is, daz studio is not very good at importing external models, and daz doesn't seem interested in fixing those issues since they're around forever now. So daz studio is mainly designed to support the daz format, for obvious reasons.
As for CC3 or any other game engine can't help I know nothing of them.
I ran across this thread as I wanted to do the same thing, use geografts in UE5.
I downloaded the latest blender, this diffeomorphic plugin, followed all the steps and got it set up.
Got the figure and graft sent to blender and after a couple tries, finally got the graft and character merged (using the vague instructions on the diffeomorphic blog)
Except after getting them merged in blender, I exported the figure as a wavefront obj.
I then imported the object back into Daz, converted the obj to a weight mappped figure and used the transfer utility to first transfer only the morphs for the figure from the original to the new
-Click the show uptions button then in the general option uncheck everything except Morph Targets. Select Morph Targets and there is another option to the left, in the dropdown select All (or if you set up favorites, select that option).
- Uncheck all the post transfer options
Then I used the transfer utility again the transfer just the morphs from the geograft to the new figure, this time making sure to uncheck the override existing option as the first time it erased all the previous morphs I transfered.
With all the morphs transfered, I ran the transfer utility 1 more time and transfered the rigging, making sure to uncheck the Morph Targets option this time.
Now I have the rigged figure meged with the geograft with all the morphs available that I was able to send to UE5 via the bridge :)
This is interesting but didn't get what do you need blender/diffeo for. Can't you export obj from daz studio ?
Alternatively the geograft morphs can be added using Diffeomorphic "Easy Import" option in Blender. Check the "Use Favorite Morphs" option and include a link to the file which saves the favorite morphs. ( Refer to the Diffeomorphic documentation "Import Into Blender" page )
Link to documentation as a zip file: https://www.dropbox.com/s/yllqktxscidw7ha/Diffeomorphic documentation.zip ( For Diffeomorphic stable version 1.6.1 with Blender 2.93 LTS )
After importing into Blender with Diffeomorphic there're many powerful tools to use, then use the Blender "Send to Unreal" plugin to export into Unreal 5.
(mod edit to fix formatting)
[delete]
The other method with Diffeomorphic Easy Import options also works correctly. I was wrong because I didn't select the custom part before importing the custom morphs.
Here's the correct method captured in the images, images has been censored for the Golden Palace geograft:
(Mod edit: duplicate post was removed. Images with nudity were removed. Please see https://www.daz3d.com/forums/discussion/3279/acceptable-ways-of-handling-nudity#latest )
Any idea about how to use the HD Morphs plugin? ( https://gitlab.com/x190/daz-hd-morphs ) They don't provide any document about how to use it.
Diffeomorphic "Export HD To Blender" option does not export the shape keys. The document says it needs the HD Morphs plugin to apply shape keys to HD meshes.
If using FBX export or using Daz To Blender bridge it exports only low poly characters at base subdivision level with a subdivision midifier, which can't be applied to meshes with shape keys.
These low poly characters even with morphs are pretty useless except for cartoon games, even for rendering in Unreal it needs better detailed characters.
https://bitbucket.org/Diffeomorphic/import_daz/issues/357/blender-addon-to-generate-rigged-hd-meshes
I covered that a little in my video:
But, I did not have much practical success importing HD shape keys into Blender. Once I started adding the HD shape keys with a high poly mesh, Blender started to lag to the point it became unusable. I may have been doing something wrong though, I don't know. That is the problem with HD morphs though. Once the poly count rises, everything slows. The alternatives are to bake the HD shape keys to diplacement maps and then drive those maps in the material editor. Then you can work with a low poly mesh until render time, then render out the high poly with diplacement maps applied to get the HD details. This approach takes a lot of time and effort though. I'd be interested to see if anyone else has some solutions. I don't know that HD shape keys in Blender is it...
Well anyway HD figures with full HD morphs don't fit animation because they're too heavy they're only good for posing. Thus if you really need to work with HD the easy solution is to pose in daz studio then HD export the posed figure. You can even convert it to prop before exporting to avoid the rig.
The advantage of exporting is you can render with cycles and eevee. Especially if you don't have a nvidia card. And you can add any blender effect to the scene as smoke, flames, fog, water and so on.
There're Steam games that have Daz characters with millions of polygons, the characters can be customized by players using morphs, and the animations are not lagging even running on common gaming laptops. Unreal engine 5 can handle billions of polygons, and the CC software should catch up to enable exporting high poly characters and high definition morphs.
Thanks for the Youtube videos provided by Krys, the videos explain how to use the HD Morphs plugin, and that Daz 3D acturually has HD support, need to purchase the Victoria 8 HD add-on to unlock the HD morphs.
I started learning Unreal Engine for this reason. I'm still learning, so what is your intended workflow? Animate in Blender and export the character and animation to Unreal? Maya has a live link where we can animate in Maya and see the result real time in Unreal. That's kinda where I'm headed...
There should be no need to purchase a specific HD morph to enable anything to do with HD morphs.
I started using Daz weeks ago because it's free ( and then I've spend hundreds on its market for additional content O_o ), like Blender which is free for me to make animations in game. Blender Send to Unreal plugin can also update the meshes and animations in Unreal although not streamed like live link. Unreal 5 is a multipurpose engine not only for games it's also used for rendering, simulations etc.
There's a new Daz To Blender bridge being developed, tested it and it's currently useless for me, it can't bake subdivision levels when exporting so the result is a low poly model, and we already know the subdivision modifier in Blender can't be applied to the morphs. They might just buy Diffeomorphic and integrate that since it's much more useful.
No they can't "buy" diffeomorphic because it's free. They could join Thomas in the development so to add resources to the same project. But there's a difference since the daz bridge is intended to be multi platform while diffeomorphic is focused on blender, so I guess the required architectures are different.
They should also join Xin in the plugin development as his HD Morphs plugin is the only solution to apply existing morphs to true HD meshes not the subdivisioned version. The exported result of true HD in Unreal is dramastically better and has needed morphs to use in game.
There's no need to animate high poly models in Blender, should export the high poly model without animations to Unreal, then animate the low poly version in Blender and export only its animations to its high poly version in Unreal.
That's lots of tries and errors until solutions were found, how difficult it is to get HD bodies with geographs and morphs.
Found an alternative method without using HD Morphs plugin, not tested yet may not work with lots of morphs:
https://devtalk.blender.org/t/apply-subdivision-surface-modifier-on-mesh-with-shape-keys/25193
I'll update a dummy proof tutorial for how to do this from Daz to Blender later.
@acatmaster All insights on how to export to game engines are welcome and useful, though don't concern diffeomorphic directly. Be aware that exporting to Unity/UE you'll lose some material conversion and you will need to fix materials by hand. You may also try to use eevee with adaptive subdivision that will deliver a better material conversion and should somewhat handle HD meshes. Or convert HD to displacement/normal maps with the HD addon by Xin, but then setting up HD morphs requires extensive work by hand.
Look forward to your tutorial or any other info you find on this subject. Diffeomorphic also does an excellent job converting hair cards to particles (and then to curves) for export. Maybe not useful for real time rendering quite yet, but that seems to be the direction we are going. Currently can be used for animations rendered in Unreal with nice results. Unreal is the only place we can take full advantage of the wonderful HD morphs in DAZ and that seems to be the direction everyone is headed right now since Unreal 5 was released. It is nothing short of amazing. Fun stuff!
Here's the tutorial for how to use Diffeomorphic and HD Morphs plugin to merge geograft, generate HD mesh, and transfer geograft shape keys to HD mesh:
Tutorial: https://streamable.com/pdj3b3
( Blender version: 2.93LTS / Diffeomorphic version: 1.6.1 stable / HD Morphs plugin: Blender 2.93 branch downloaded here: https://gitlab.com/x190/daz-hd-morphs/-/branches )
Instructions:
-> Install Diffeomorphic and run the scripts in Daz to save the Daz file path.
-> In Blender load the Daz file path in Diffeomorphic Global Settings. Import base Daz mesh with Diffeomorphic importer Import DAZ, select the geograft, Import Custom Morphs, then Save Favorite Morphs, and then discard the current blender file and start a new file, this step is just to save Favorite Morphs.
-> Import base Daz mesh with Diffeomorphic importer Easy Import DAZ.(both body and geograft should be subdivision 0 in Daz, must not have multires modifier when exported) Using Easy Import DAZ to merge rigs, import morphs with Favorite Morphs checked, but don't merge geograft yet. (Because vertex order must be intact for use with HD Morphs plugin)
-> Create a copy of the base body mesh and base geograft meshes just before merge.
-> Merge one set of body-geografts meshes with import_daz, as usual. Assume the merged mesh is called “merged”.
-> Open HD Morphs plugin side panel, and generate geograft file with the Geograft operator: select the body mesh, then the geograft meshes and finally the “merged” mesh, which should be the active one. Click the button. A .json file will be generated in the working directory.
-> If you ever want to use the “merged” mesh as a “base mesh” with this addon (for example, to create a rigged HD merged mesh from it), you need to also specify the generated file above in this addon’s main settings for the morphs to work properly.
-> Select Base Mesh in the Main settings panel, and a Working directory.
-> Go to HD mesh → HD mesh generation. Select the number of subdivisions, and select either Rigged HD or Unrigged HD, then press Generate HD mesh to create an HD mesh that can have HD shape keys imported to it.
-> To import the shape keys on the newly created mesh, go to the HD shape key panel, press the + button to add morph files,
(The number in the first column in the Morph Files list is the “group”. All files in each group are imported as if they were a single morph mixture according to their weights (number in the second column). So, if you want to import 5 morphs separately, you would add the 5 files, then make sure that the group is different for each file, then make sure that the weight is 1.0 for each one. The “Component” option (third column) defines whether the base mesh deformation of the morph is imported, or if only the HD deformation of the morph should be imported (subdivisions 1+). This is useful if the base mesh already had base morphs “baked” on it upon import with import_daz, in which case you don’t want to import the base deformations of the corresponding morphs again.)
-> Finally, in “HD mesh” select the mesh created in HD mesh generation, then press “Generate shape keys on HD mesh”.
(The instructions were collected and edited from Xin's posts on Bitbucket and merged into the whole process https://bitbucket.org/Diffeomorphic/import_daz/issues/357/blender-addon-to-generate-rigged-hd-meshes)
When generating HD mesh the auto transferred shape keys from base mesh genitals do not work on the generated HD mesh, but all body shape keys excluding some drivers work well on the HD mesh. The bug with HD Morphs plugin leads to array index out of boundary and not copy the geograft morphs (or it's not a bug but because that its morph transfer function only works with Daz vertex order and not have additional geograft support).
To use shape keys made for genitals currently have to use Diffeomorphic generated base mesh. I tried to manually add the genital shapekeys using the method as shown in the attached image below (change the base mesh morph applying one genital morph, then copy that morph into a new shape key for the HD mesh), but the new genital shapekeys still do not morph the HD mesh. (to solve this use the MeshDataTransfer Plugin: https://mmemoli.gumroad.com/l/tOKEh)
Switched to Diffeomorphic 1.6.2.1090 and Blender 3.21, as the new Diffeomorphic update solves Blender no responding issue when importing hundreds of morphs, new version correctly imports Genesis8.1 materials, and the Blender Send to Unreal plugin works with Blender 3.21.
Tested the new Diffeomorphic version currently does not work with HD Morphs plugin, but the Diffeomorphic generated base mesh merged with geografts and HD materials looks good enough in Unreal.
After the characters were imported to Unreal 5, which rig is the best to create correct animations to Unreal, MHX or Rigify or other control rigs? What skeleton to bake the final animations to, Daz skeleton or UE4 mannequin or UE5 mannequin or else? (This post has useful info to help understand that: https://bitbucket.org/Diffeomorphic/import_daz/issues/675/what-is-the-point-of-using-rigify-when-mhx Auto-Rig Pro seems to do the tricks well and easy to use, currently following CGDive Youtube videos for new tutorials.)
There's UE5 buildin Control Rig which also can be controlled by code at runtime, that makes very exciting features such as players can free pose characters in game, or alter any playing animation by moving the character rig, though Skyrim VR already has similar features.
The characters in Skyrim VR are pretty low poly, and the animations lack excitement, guess the modders can use Daz models for better result.
Would update info for such engine features on Unreal Discussion cause this is out of topic for the thread.
[delete]
How are you using the UE5 Bridge? I'm having issues with retargeting the animations. I've fiddled with the settings, using fixroot and 0rot, my char comes in with arms like the inflatable ballon man (https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQc9XhcCQolA1DMxelXfr7X3hkUWV5KwiW3pQ&usqp=CAU)
without them, the arms deform when retargeting via the IK rig (the left arm bends backwards in the middle of the bicep, and forearm). I'm struggling with Daz and unreal. The only minor success I've had is going from DAZ to CC4 to Unreal.
The official bridge can't get the working geografts into UE5, that's what I experimented for weeks and discovered more bugs that can't be fixed by users, most obvious bugs are the duplicated geografts and incorrectly imported local bone axes and physics bodies. Also it doesn't need to pay thousand dollars to buy CC4 and iClone, to bring the functional Daz characters into UE5.
What worked for me is to read the Diffeomorphic documentation, this helps understanding how Daz studio works and how to correctly use its assets, and then it's few clicks work to automatically bring Daz assets to Blender. It's great to have Daz assets in Blender they can be further sculpted, rigged with advanced controls etc. This is the reason I use Daz characters instead of game ready characters sold elsewhere, Daz characters are fully customizable no other characters have such flexibility even MetaHuman does not have such customization support.
[delete]
(The best answer for "Merging Geograft from Daz character with Diffeomorphic")
There's simpler method to merge geograft with HD mesh as described on this post: http://diffeomorphic.blogspot.com/2020/09/hd-meshes-and-geografts-revisited.html Merging basic resolution mesh with geograft doesn't need this method as it's very simple with Diffeomorphic just click the merge geograft button on the Diffeomorphic panel in Blender.
To bake HD meshes / apply the subdivision or multires modifier and keep the genital morphs: SKkeeper - The Shapekey Keeper: https://blendermarket.com/products/skkeeper
After using Diffeomorphic to import Daz morphs and animations, the default FBX exporter in Blender3.2 above is all that needed to export correct characters with geografts and animations into UE5 and no additional plugins are needed. Attached images showing the correct steps to export animations from Blender and retarget in UE5 using the retargeter from DazToUnreal bridge.
DazToUnreal bridge has some useful staff in its plugin folder that you can grab and fix for use, e.g. the Daz master material template, the G8 Control Rig, the post processing animation blueprint enabling the JCM morphs, etc.
--------------------------------------------------------------------------------------------------
To correctly export FBX from Blender to UE5 the Blender unit has to be set to centimetres, the x100 scaling method won't work correctly because Blender FBX exporter will try to also scale the root bone and bone sockets, which shouldn't be scaled for correct animations.
If the blender unit is changed to centimetres the Diffeomorphic import unit has to be changed too.
--------------------------------------------------------------------------------------------------
Note: If import Daz characters from blender, don't use the Genesis8ToHumanoidPose asset from DazToUnreal bridge, this pose asset is for DazToUnreal imported characters, DazToUnreal uses different bone orientation than Diffeomorphic imported characters, but the IK retargeter works fine for all the G8 characters.
For characters imported to UE5 from Blender with Diffeomorphic, it needs to create its own Unreal A-Pose pose asset, to use as the retarget base pose, if retargeting the Unreal mannequin animations. (Retargeting other animations need their specific rest poses, e.g. Maximo animations need the T-Pose)
https://docs.unrealengine.com/5.0/en-US/creating-a-pose-asset-in-unreal-engine/
The pose asset can be applied as new rest pose for the skeleton, on the retarget sources panel within the skeleton editor (Open the retarget source panel from the Windows menu as shown in the attached image)
------------------------------------------------------------------------------------------------------
Unreal engine current version UE5.0.3 retargeting system still has serious bugs that it can't maintain the reference pose after changing it, but if you build your own UE5.1.0 from source, the bug is fixed in this coming Unreal version UE5.1.0, with added features of import / export pose presets for retargeting.
Making animations with current UE5 version is more difficult than UE4, the workaround for this bug is to extract UE5 mannequin animations into Blender and retarget them there, or use the good old UE4 simple retarget manager to create retargeted animations and import them into UE5.
-------------------------------------------------------------------------------------------------------
Unreal 5.1.0 Preview 1 just came out after I posted this :)
There are many exciting new features and bug fixes with this update, in fact this version should be called the true UE5 official release.
https://portal.productboard.com/epicgames/1-unreal-engine-public-roadmap/tabs/80-unreal-engine-5-1-in-progress
--------------------------------------------------------------------------------------------------------
Unreal 5.1.0 finally gets the retarget system working, adds the essential feature of importing custom base poses for source and target skeletons. UE5.0 plugins are not supported until the formal release of UE5.1, possibly after several UE5.1 preview versions are tested by users.