New Release: Bringing Daz figures To Life in UE5

1235

Comments

  • edited May 2023
    deleted comment, sorry
    Post edited by hromkoi_038d202a10 on
  • dave_0aa47f5a80dave_0aa47f5a80 Posts: 68
    edited June 2023

    DTL 1.5 has finally been released.

    With version 1.5 it is now possible to export clothes / hair / shoes separately.
    This was a lot more difficult to implement reliably than it might sound! 

    The ability to export assets separately brings many improvements to the DTL conversion process:

     ~ Dramatically reduces processing times and memory requirements when running the Maya script 
     ~ Makes the automatic fixing of nonmanifold geometry far quicker and reliable
     ~ The separate assets are exported with JCMs and morphs that follow the exact same naming convention as the figure, so it everything works seamlessly when recombined in Unreal Engine
     ~ The conversion process filters off any JCMs and morphs that do not affect the asset, thus saving editing time and unecessary computation at runtime
     ~ Figure and asset conversions can be run in parallel using multiple instances of Maya, thus further decreasing processing times
     
    Please see here for a short movie showing how to export a figure and a hair asset with nonmanifold geometry: 


     
    DTL also now handles the export of high heels shoes and other footwear that requires a pose set on the feet.
    The DTL Component in the Unreal Engine demo project also contains functionality for adding the feet pose to realtime animation. 

    Please see here for a short movie showing how to convert and use shoes with a pose set on the feet:

    Other updates and fixes:

     ~ Supports both UE 5.1 and UE 5.2 (Conversion of the UE 5.1 demo project to 5.2 has been tested and verified)
     ~ Version 1.5 now supports the conversion of a greater range of geografts, jewelry, hair, shoes and clothes
     ~ Updates to the DTL placeholder character in the demo project (removed facial bones to avoid facial bone retargetting errors, merged meshes)
     ~ Updated the Physics Asset to use the exact joint limits found in DazStudio so that it now ragdolls nicely
     ~ The DTL configuration files all now use utf-8 for non-Latin character support
     ~ Updated installer to allow for installing into non-standard Daz library folder
     ~ Updated Daz script to allow for changing location of figure conversion folder
     ~ General cleaning up of the Unreal Engine demo project, removal of 'dead wood'
     ~ Overhaul and enhancement of the Maya script's figure report and options dialog
     
    The updated documentation can be found at https://virtuality.space/dtl/
    Note that some of the Unreal Engine Demo Project documentation is still a work in progress and will be updated shortly.

    There is also a Discord channel here: https://discord.gg/eZtaswUQZD
     
    As always, comments, suggestions, issues and feedback are very welcome

    Enjoy!

    Post edited by dave_0aa47f5a80 on
  • 366394635366394635 Posts: 0

    463558102 said:

    Hi there, I hope this message finds you well. So I sent through a donation but it did not ask me for my email to send the link? How would I proceed in this case? Will it be sent to my QQ email

    Me the same,how can i proceed after the payment?Thanks

  • The DTL installer and demo project are currently in a shared google drive folder. 

    Please allow up to 48 hours after requesting to join the beta tests for me to share the folder with you.

    If you have not recieved access after 48 hours, please send an email to: dtl at virtuality.space or send a PM via these forums.

  • catmastercatmaster Posts: 226
    edited June 2023

    When it's out of beta I could try this better importer, seems there are lots of processes involved hopefully the conversion is mostly automated.

    Post edited by catmaster on
  • tbkttbkt Posts: 0
    edited July 2023

    Hi Dave, 

    I am a freelance 3d artist and I made a donation of $100 without being invited to beta test(didn't find the link of test invitation), My PayPal account is [email removed] .I wonder if I can get the download link of DTL, Thank you for your help, hope to get your reply as soon as possible.

    Post edited by Richard Haseltine on
  • Please send the email via a PM, rather than posting it in the forum. https://www.daz3d.com/forums/messages/add/dave_0aa47f5a80

  • dave_0aa47f5a80dave_0aa47f5a80 Posts: 68
    edited September 2023

    Developer Update: No more retargetting rigs!

    DTL converted figures are now 100% compatible with the Unreal Engine MannyQuinn skeleton

    I'm working on the release version of DTL. I've just finished the new skeleton conversion process and it's come out perfectly. There will no longer be a need to retarget imported Daz figures in Unreal Engine because the DTL skeleton is now an exact, 100% compatibility match with Unreal's MannyQuinn skeleton. This will save developers huge amounts of time and hassle whilst eliminating all the minor inconsistencies that are impossible to eliminate completly when retargetting animations and animation blueprints between differing skeletal meshes in Unreal Engine.

    In the movie above you can see a converted Daz figure being imported into a standard Unreal Engine 3rd person demo project. The standard MannyQuinn figure is swapped out for the DTL converted figure and it just works - no retargetting rig is required. There is no extra work and no loss of animation fidelity.

    Two more features need to be added before release; Genesis 9 support and morph driven joint transforms. Both of these features have already been implemented as proof of concept.

    I am aiming to get the first non-beta release of DTL up for sale on the Daz Marketplace by the end of the year.

    Post edited by dave_0aa47f5a80 on
  • catmastercatmaster Posts: 226
    edited September 2023

    Congratulations on the process to make the version almost production ready, looking forward to use it immediately after it's available on market place.
    I would expect lots more Daz assets being used by Unreal games, especially if the geografts and geograft morphs are supported and better materials are ready made or can be converted for most of the characters and props

    Post edited by catmaster on
  • dave_0aa47f5a80 said:

    Developer Update: No more retargetting rigs!

    DTL converted figures are now 100% compatible with the Unreal Engine MannyQuinn skeleton

    I'm working on the release version of DTL. I've just finished the new skeleton conversion process and it's come out perfectly. There will no longer be a need to retarget imported Daz figures in Unreal Engine because the DTL skeleton is now an exact, 100% compatibility match with Unreal's MannyQuinn skeleton. This will save developers huge amounts of time and hassle whilst eliminating all the minor inconsistencies that are impossible to eliminate completly when retargetting animations and animation blueprints between differing skeletal meshes in Unreal Engine.

    In the movie above you can see a converted Daz figure being imported into a standard Unreal Engine 3rd person demo project. The standard MannyQuinn figure is swapped out for the DTL converted figure and it just works - no retargetting rig is required. There is no extra work and no loss of animation fidelity.

    Two more features need to be added before release; Genesis 9 support and morph driven joint transforms. Both of these features have already been implemented as proof of concept.

    I am aiming to get the first non-beta release of DTL up for sale on the Daz Marketplace by the end of the year.

     

    Shut up and take my money

  • metasidemetaside Posts: 176

    Sounds interesting - if you can make this work without Maya, I'm in.

  • JQPJQP Posts: 510

    I logged in to say this:

    Licensing

    Two user types are defined:

    1. Commercial: Companies with a gross turnover of more than $100,000 per year
      The suggested donation for commercial users is $300
    2. Indie: Individual users and companies with a gross turnover of less than $100,000 per year
      Indie users can download and use the DTL system whether or not they make a donation

    The End User License Agreement is available here. The licensing terms can be summarised as follows:

    • All IP rights are reserved by DTL's author with the one exception that a User can use the DTL tool to convert Daz characters for use in their own projects subject to the terms set forth in the EULA
    • Specifically, the redistribution, reverse engineering or repurposing of the DTL system or any part thereof is not permitted

    Note that this summary is intended only as an overview; please read the EULA carefully.

    That is a very reasonable pricing structure. More like generous. As a guy who's looking into indie development on a small budget - thank you very much (and if I make it I'll shoot more than $300 your way. :) )

  • catmaster said:

    Congratulations on the process to make the version almost production ready, looking forward to use it immediately after it's available on market place.
    I would expect lots more Daz assets being used by Unreal games, especially if the geografts and geograft morphs are supported and better materials are ready made or can be converted for most of the characters and props

    Thanks! The ability to convert any Daz figure to a production ready form so it can be simply dropped it into any standard Unreal Engine character blueprint with zero friction is the aim of the project. If all goes to plan, this will be a reality by the end of the year.

    Sspettmann said:

    Shut up and take my money

    Lol - thanks!

    metaside said:

    Sounds interesting - if you can make this work without Maya, I'm in.

    Due to the huge amount and complexity of operations that Maya performs during conversion / optimisation, it's unlikely that I will port it to a Blender plugin or standalone application, as it would likely take years of work. However, Autodesk do offer an Indie license ($300) and a free trial version of Maya. Please see here for links and more details: http://virtuality.space/dtl/dtl-prerequistes.html#software

    JQP said:

    I logged in to say this:

    That is a very reasonable pricing structure. More like generous. As a guy who's looking into indie development on a small budget - thank you very much (and if I make it I'll shoot more than $300 your way. :) )

    Welcome!
  • I decided to port some of the release version's functionality back to the beta version and have just released DTL version 1.1b. In particular, DTL no longer needs a high-end machine or any third party Maya python libraries to run - it will now run on an entry level gaming machine with a standard Maya installation.

    Note this update does not include the 100% skeleton conversion functionality, as the release version has had a massive refactoring, a lot of which cannot be ported back to the beta version without breaking existing functionality.

    The old DTL Maya script has been replaced with a Maya plugin.
    Installation is straightforward, just like any other Maya plugin.
    The installation instructions are here: https://virtuality.space/dtl/dtl-prerequistes.html#configmaya

    * Important: You must update Maya 2024 to the latest version *

    Updates:

     ~ There are significant improvements in both processing times (around 50%) and memory use (now a fraction of previous versions).
     ~ An edge case bug that was causing Maya to occasionally crash has been fixed. 
     ~ Although the conversion of non-manifold geometry is not officially supported, the automatic non-manifold fixing algorithm has been improved.
     ~ The PyMel library is no longer needed to run DTL. This means that DTL now runs on a standard Maya installation without having to configure any 3rd party libraries.
     ~ The AnimBP Post Process in the Unreal Engine demo projects has had an overhaul for improved foot pose handling and easier readability.
     ~ The bundled DazToUnreal plugin in the Unreal Engine demo projects has been updated to version 5.2.1.213 (released 21st September 2023).
     ~ There is also a new setting for AMD users if they are still experiencing crashes. An alternative, slower method of moving vertices during ReferencePose updating can be activated by unchecking the 'Fast Vertex  Manipulation' setting on the DTL Maya options dialog. Please let me know if this works (or not), as this is an experimental feature that can be expanded on in the future if it proves useful.

    Note that there is no need to uninstall the previous script version of DTL for Maya if you want to keep a backup. The new plugin and the old script will happily co-exist and share the same config files, file locations etc.

     

    Image: The final tests before the release of DTL 1.1b - ten instances of Maya simultaneously converting Daz figures using DTL whilst using only 40GB of memory:

    Ten instances of Maya simultaneously converting Daz figures using the DTL plugin

     

  • ARealitiARealiti Posts: 135

    Great work on this, can you confirm this,

    "Once conversion is complete, the figure is game ready and can be imported directly into any game engine."

    So Unity is a thing? Have you tried importing into Unity on a converted figure with bad joint issues on say clothing e.g. 

    Bad Under Arm:

    Should Be More Like This:

  • ARealiti said:

    Great work on this, can you confirm this,

    "Once conversion is complete, the figure is game ready and can be imported directly into any game engine."

    So Unity is a thing? Have you tried importing into Unity on a converted figure with bad joint issues on say clothing e.g. 

    DTL converted figures should import into any game engine or DCC that has functionality for loading standard fbx files complete with any morphs / JCMs. In the Unreal demo projects that are shipped with DTL, there is functionalilty that drives the JCMs in response to joint rotations so that the figure's mesh maintains a natural shape across the full range of human motion.

    There are essentially two methods for applying morphs/JCMs; linear skinning and dual quaternion. The two skinning methods are not compatible / interchangable. DazStudio uses dual quaternion, whereas Unreal, Unity and most other games engines use linear skinning because it is much more performant in realtime 3D applications. As well as converting the skeleton, DTL converts all JCMs and other morphs from dual quaternion to linear skinning - so the DTL figures, JCMs and other morphs are compatible with Unity.

    However, to see realistic mesh deformations applied at runtime in Unity, a way of driving the JCMs in response to joint rotations would need to be implemented - otherwise the mesh will deform in ways that do not look natural when joints are rotated like in the pictures you posted. I would love to implement this at some point in the future, but there's only one of me and only so many hours in a day! If you're interested in implementing JCM driving functionality in Unity and plan to work on it, please let me know as I'd be more than happy to work with you and make any required tweaks to DTL.

  • metasidemetaside Posts: 176

    dave_0aa47f5a80 said:

     

    metaside said:

    Sounds interesting - if you can make this work without Maya, I'm in.

    Due to the huge amount and complexity of operations that Maya performs during conversion / optimisation, it's unlikely that I will port it to a Blender plugin or standalone application, as it would likely take years of work. However, Autodesk do offer an Indie license ($300) and a free trial version of Maya. Please see here for links and more details: http://virtuality.space/dtl/dtl-prerequistes.html#software

    Thanks for the info! Sad but completely understandable of course. Maya subscription is not an option for me, partly because I dislike subs in general, but best of luck for this project, it really sounds good!

  • ARealitiARealiti Posts: 135

    If you're interested in implementing JCM driving functionality in Unity and plan to work on it, please let me know as I'd be more than happy to work with you and make any required tweaks to DTL.

    Thanks for the reply it explained a lot to me, again well done on this. I have found that I can get pretty good results that are good enough for me from re-rigging, this may not be a solution for everyone as it takes a bit of effort, it probably runs a bit faster than needing a JCM driver though.  Well done on your work.

  • dave_0aa47f5a80dave_0aa47f5a80 Posts: 68
    edited October 2023

    ARealiti said:

    If you're interested in implementing JCM driving functionality in Unity and plan to work on it, please let me know as I'd be more than happy to work with you and make any required tweaks to DTL.

    Thanks for the reply it explained a lot to me, again well done on this. I have found that I can get pretty good results that are good enough for me from re-rigging, this may not be a solution for everyone as it takes a bit of effort, it probably runs a bit faster than needing a JCM driver though.  Well done on your work.

    Ah, so the fixed armpit in the pictures you posted is due to re-rigging? It certainly works and as you say is more performant than using JCMs. I've been looking closely at the Metahuman and MannyQuin skeletons. They both use a lot of corrective joints, particularly around the more challenging areas like the shoulders and thigh joints - is that similar to the technique you're using? I only ask, as I already have some auto-rigging up and running for the release version of DTL (auto-rigged glute and belly jiggle joints). If it's possible to get good results by skinning strategically placed corrective joints it may be worth me looking at implementing it as an option for performance critical applications.

    Post edited by dave_0aa47f5a80 on
  • pnobspnobs Posts: 0

    Hi!
    I'm quite new to Daz, so sorry if this is a question with an obvious answer.
    I would love to use this tool to convert my characters to a 100% UE5-compatible skeleton for using mannequin-animations. 
    So my question is for animations from Daz - will it be possible to export them with this tool as well, so they are compatible with the generated skeleton? 

  • pnobs said:

    Hi!
    I'm quite new to Daz, so sorry if this is a question with an obvious answer.
    I would love to use this tool to convert my characters to a 100% UE5-compatible skeleton for using mannequin-animations. 
    So my question is for animations from Daz - will it be possible to export them with this tool as well, so they are compatible with the generated skeleton? 

    Hi - DTL does not convert Daz skeleton animations to UE skeleton compatible animations. However, it may be possible to export a Daz figure into UE using the regular DazToUnreal plugin, export the animation and then retarget from the Daz skeleton to a UE skeleton within UE. The guys on the DazToUnreal Discord channel would know more about this process than me. I personally use MotionBuilder for retargetting. It takes a little time to set up (characterising each figure) but if you have access to MotionBuilder then that would probably be the optimal way to do retagetting.

    Note that the currrent beta version of DTL does not produce a 100% UE compatible skeleton. The 100% UE compatible skeleton (as seen in the youtube movie above) is going to be in the release version.

  • What happens with the weights on the G8 body? Are those also converted/moved to work with the UE specific joints?

    For later bringing the clothes for the character, the clothes need weight painting/processed or those can be sent directly from daz to unreal?

    I've seen all those jcms that are applied, it looks like those are applied one after another, like the entire motion is split on some kind of interval then for each part of the interval one jcm starts increasing, then the next one and so on. Does that means all those jcms must be baked to clothing as well to ensure they move in sync and not clipping?

  • dave_0aa47f5a80dave_0aa47f5a80 Posts: 68
    edited November 2023

    Neverdie Axis said:

    What happens with the weights on the G8 body? Are those also converted/moved to work with the UE specific joints?

    For later bringing the clothes for the character, the clothes need weight painting/processed or those can be sent directly from daz to unreal?

    I've seen all those jcms that are applied, it looks like those are applied one after another, like the entire motion is split on some kind of interval then for each part of the interval one jcm starts increasing, then the next one and so on. Does that means all those jcms must be baked to clothing as well to ensure they move in sync and not clipping?

    The existing weights are all transferred to the renamed and reoriented joints. UE specific joints like the IK joints do not have any skinning. Optional additional joints like finger and toe end joints are also not skinned, as they are for increasing the accuracy of IK and do not need to be. For the release version, glute and stomach jiggle joints have been added and are automatically rigged by DTL, but this has not been released yet. The beta conversion process does not do any automatic skinning.

    DTL automatically handles the creation and baking in of JCMs for clothes and shoes for you.

    If the figure is exported with clothes, the clothes are merged into the figure mesh and the JCMs (and all other morphs) work on both at once. If there is no poke-through in Daz Studio, there is no poke-through on the converted figure. 

    If the figure's clothes are exported and converted using DTL separately then a set of cut-down JCMs is produced for the clothing (i.e. DTL won't make a load of shoulder JCMs for a pair of shorts, it will only make the required hip and thigh JCMs). The clothing is then driven by the figure in UE. Again, if you don't see poke-through in DazStudio whilst DTL's is exporting the morphs, you won't see it on the converted figure.

    If shoes with a foot pose are exported and converted (on the figure or separately) the foot pose can be applied using the assets supplied with the UE demo projects and the JCMs will ensure the feet maintain their proper shape when the foot pose is applied. See here for details of how shoes (and other clothes) can be exported separately and how their JCMs are applied at runtime:

    https://youtu.be/ZX0DXGI6C2Q?si=Nl77l6UurwHw6aSp

    Poke-through is rarely an issue. When it does occur it is usually due to the way the original asset was made. There are a number of ways to reduce it. See here: 

    Increasing collision offet in DazStudio: https://virtuality.space/dtl/dtl-preparation.html#conversionoptimisations

    and here:

    Using mesh offset in Daz Studio: https://virtuality.space/dtl/dtl-preparation.html#figurepreparation

    Finally, there are details of how DTL handles all Daz asset types here: https://virtuality.space/dtl/dtl-daz-to-fbx-feature-conversion.html

    Post edited by dave_0aa47f5a80 on
  • catmastercatmaster Posts: 226
    edited December 2023

    Transferring the weights properly to UE5 compatible skeleton is important, and the converted JCM morphs that work for the engine's standard skin deforms
    There are some joints from the original genesis skeletons which are necessary to keep, the breast bones for the boob physics, the metatarsals bones for the high heel transforms, and the bones for male genitals provided with the official pro packages
    "For the release version, glute and stomach jiggle joints have been added and are automatically rigged by DTL"
    It's great feature to have in addition to boob physics

    Post edited by catmaster on
  • catmastercatmaster Posts: 226
    edited December 2023

    The converted UE5 skeleton for Daz characters doesn't need to match exactly to the mannequins
    It doesn't need the exact bone joint locations and bone axes etc. (but it needs to be good enough approximation for the control rig to work)
    because the animation retargeting (either duplicating in editor or runtime retargeting) is always needed to get better results, swapping skeleton isn't better since each character will have different body proportions and slightly different rest poses
    The compatible skeleton needs to include but not limited to all of the bone names of the simple UE5 mannequin skeleton, ik bones are useful but optional as there are alternatives to them
    Currently the manual converting process with Diffeomorphic and other Blender plugins works for me, although I have to refer to the long documentation I created myself as there are too many steps involved and the manual process is prone to human errors

    Post edited by catmaster on
  • catmaster said:

    The converted UE5 skeleton for Daz characters doesn't need to match exactly to the mannequins
    It doesn't need the exact bone joint locations and bone axes etc. (but it needs to be good enough approximation for the control rig to work)

    I find that by matching all of the joint properties (including the joint orientations), dropping a converted character into existing UE demo projects works out of the box. In fact, it's possible to avoid using a retargetting rig altogether (see: https://youtu.be/BPQgRld3I7A?si=Ge6zN9KZ7xcBLUNZ)

    The beta version of DTL matches the joint names, rotation orders and twist axes but not the orientations. The beta DTL figures require a little more work in UE before they work 100% out of the box like figures converted using the DTL release version (as seen in linked movie above, not yet released). 

    Also, when animating a converted figure in Maya or MotionBuilder, the orientations ensure that no local joint rotation ever goes outside the +-180 degrees range. This elimiates any joint 'flipping', makes the automatic application of JCMs using contraints inside the DCC possible and of course ensures the motion is kept within natural, real-world human limits.

    Another reason I created a figure with exactly matching joint orientations is that I plan to implement a neural network based realtime animation solution in the future. Without going into too much detail, being able to normalise the NN inputs to within the +-180 degrees range will ensure the final motion is more even and consistent, giving higher fidelity results.

    Finally, when working on the figure outside UE, zeroing out all the joints rotations will put the figure into the default (reference) pose. When animating, rigging and sometimes modelling, the pose gets changed during the workflow. Being able to zero out the joints to achieve the default / reference pose is very convenient and saves time.

  • catmastercatmaster Posts: 226
    edited December 2023

    My project has switched to use the anim mesh technique based on using the node "retarget pose from mesh"
    https://forums.unrealengine.com/t/what-is-this-retarget-pose-from-mesh-node/594020
    Advantages of the approach is that lots of characters of different skeletons can share the same animation sets, and each character has its own ik retargeter to fix the skeleton differences
    The different characters can use their own skeletons without the need to swap skeletons

    I'm mostly looking for the JCMs made for the Unreal engine default skin shaders, and the automated material conversion when importing the Daz characters
    The ik rig made for the Daz characters needs to be compatible with other control rig assets for example the hand and foot ik and the bone transforms during the interaction with other objects
    https://youtu.be/BPQgRld3I7A?si=Ge6zN9KZ7xcBLUNZ
    From the video showing the converted skeleton it seems the converted skeleton is good enough to use the mannequin control rig without problems

    It seems the plugin has almost been completed with the most important features, is there any estimated date to release it on the Daz store?
    The geografts need to be merged with the body mesh, the feature is very important and is the primary reason for me to use Daz characters,
    and the geografts are not limited to the genitals there are other parts used as geografts like the horns, wings, tails etc. the workaround for them is using them as clothing items but the morphs won't match if they're not merged with the body mesh
    There are UE5 plugins that can merge the modular meshes in game but I've not tested them with the geograft morphs

    Post edited by catmaster on
  • The release date for both the final beta version of DTL and the release version have been pushed back due to unforseen circumstances. Life has thrown a few challenges at me over the last six weeks!

    The final beta is to be renamed DTL Free, as the beta phase will end when it's released. I'm in the process of packaging up the Maya plugin and updating the docs right now. 

    The full version of DTL is still in development. This is the version with the 100% UE compatible skeleton, morph driven bone transform changes and G9 support. Being realistic, it may be another month or so before I get it released and up for sale on the Daz Marketplace.

  • catmastercatmaster Posts: 226
    edited February 17

          

    Post edited by catmaster on
  • catmastercatmaster Posts: 226
    edited February 17

          

    Post edited by catmaster on
Sign In or Register to comment.