DazToHue 1.0 is out now!
mrpdean_7efbae9610
Posts: 127
DazToHue release 1.0 is now available for download.
Get it on ArtStation
Get it on Gumroad
Discord: https://discord.gg/R5CEFAjZVN
Note: DazToHue is not meant to be a one-click solution for transferring Daz characters to game engines. It trades simplicity for complete flexibility in all aspects of how to want to set up your characters, including joint corrective morphs. Watch the tutorials (link below) for a better understanding of how it works.
Requirements:
- Daz Studio 4.21: https://www.daz3d.com/daz_studio
- Daz To Maya Bridge: https://github.com/daz3d/DazToMaya/releases
Note: you only need to Daz Studio plugin from the bridge. You do not need Maya. - Sagan Alembic Exporter: https://www.daz3d.com/forums/discussion/428856/sagan-a-daz-studio-to-blender-alembic-exporter/p1
- Houdini Indie or higher: https://www.sidefx.com/products/houdini/houdini-indie/
Discord: https://discord.gg/Y7T8XBa9FK
Tutorials:
Watch the tutorials on YouTube
More tutorials and documentation coming soon.
Post edited by mrpdean_7efbae9610 on
Comments
Crazy! I'm dong same thing in Blender. Looking forward to your script!
This is really impressive and a clever use of Alembic as well. I'm a Houdini user, and while I don't do game development, I do very much appreciate the pipeline you're developing, especially in reference to the specific sort of idioms re: Daz resources. Looking forward to trying this out.
I've opened up Blender a few times and tried to import a simple fbx from Daz but it came in all messed up so I quickly gave up on Blender :) I've no doubt there are workaround or perhaps I'm just not doing it right. I'm all for technical challenges but I feel like step 1 (import fbx into application) should just work without too much hassle. I do wish the Blender devs would import the fbx support.
There's actually not a lot of scripting in this tool. A bit of python and vex here and there, but it's mostly just a lot of nodes in a network.
The asset will be black-boxed on release but feel free to PM me if you want to chat about how I've approached different things under the hood.
Thanks! I'm not a game developer either really. I get more enjoyment out of making these sorts of tools than trying to make games :) I mainly just like trying to solve technical challenges.
it's looks interesting, any chances to try to find a way to fix the issue with moprhs which works with bones transformations???, currently any morph which deform the joints(scale, rotation and orientation), they only affect the mesh like a height moprh, if you try to export the height morph to be used in real time it only scale the mesh the skeleton remains the same, it only works if you apply the morph into the mesh and export it with the character already applied then the skeleton will be on the right size, but you can't change it in real time as a morph.
another thing which i would like to see being fixed is about the geograft which when you export a model with a geograft like for exemple centaur, it will generate 2 meshes for the centaur one with textures and other blank.
I'll need to look into this further at some stage, and a lot more testing, but a quick experiment with this today has yielded promising results.
EDIT: actually I spoke too soon. It isn't working correctly. Will look into it further but I suspect if Daz isn't exporting the skeleton changes correctly then it's unlikely I'll be able to do much inside Houdini to fix it.
Yes, this issue was was resolved early on in the tools development.
Would love a functional DAZ to Houdini pipeline and will follow this thread with great interest. Appreciate the time and effort you've put into the script and would be happy to pay for such a script.
Just to clarify, this particulr tool is aimed at getting Daz figures into game engines, via Houdini. Not so much about getting the figures into Houdini itself.
Having said that, a tool to get fully rigged Daz characters into Houdini along with blendshapes, materials etc is something I've been thinking about as well. I've already made most of what would be required however Houdini's KineFX toolset, which are what I'm using, as still in it's infancy so I've been waiting for better animation and blendshape control tools to be released. For example, applying corrective morphs based on joint rotations etc is still very fiddly in Houdini but I've read that better tools are on the roadmap. Then again, Houdini supports dual quaternion skinning, same as Daz, so perhaps corrective morphs would be as nessecary as they are with real-time game engines.
Thanks for clarifying. Hopeully KineFX matures quickly. Would open up so much creative potential if DAZ models could easily be used in both Unity and Houdini.
How good is Houdini compared to Blender or Maya? Is there any reliable pipeline between Daz and Houdini?
Honestly the best and most reliable Daz plugin is the Blender Diffeomorphic plugin, which works back and forth between Daz and Blender for both the characters, environments and animations. However there's lack of bridge support between Blender and Unreal other than basic FBX export and some plugins based on that, without material conversion, keyframes preservation or reliable scene conversion etc.
I don't think I'm qualified to answer that as I've basically never used Blender and I've rarely used Maya. Before Houdini I spent most of my time in 3DS Max. The answer to "how good is application X vs Y" is invariably "it depends". Speaking from just my own experience, Houdini has a steeper learning curve (I'm still just a beginner) but the payoff has been worth it. It's an insanly powerful application especally when it come to procedural and non-destructive workflows. Tools like Houdini Engine for Unreal and Unity as well as Live Link and also really powerful.. and fun to play around with.
Prior to KineFX, Houdini's support for skeletal FBX workflows was very clunky. KineFX has vastly improved things but it's still in it's infancy. All of the low-level tools are now in place but they are yet to add the more artist friendly tools for things like character animation etc. That's how SideFX tends to work though. They first add the low-level tools to the platform and then eventually they will add more "artist friendly" tools built on top of those.
Not yet that I know of, but then again there wasn't one for Blender either until someone decided to put a huge amount of work into making one. I'm aware of one person who went a long way toward achieving it but sadly it seems they had a bit of a falling out with Daz and have apparently paused the project: https://www.youtube.com/watch?v=2v9wWll1vkE
Personally I think we're all just trying to find ways (hacks) to get around the shortcomings of Daz Studios own lack of interoperability with other applications. If Daz are really wanting to improve things in this regard then I think it's up to them to lead the charge. For example, all of the major 3D platforms, Blender included, have adopted Pixar's Universal Scene Description framework as a way of exchanging entire scenes between applications. I'd really love to see Daz adopting this as well.
Unreal 5 already has insane learning curve, I'd rather not dive into too many difficult apps other than Unreal as I'm developing games all by myself. Blender has quite steep learning curve and Unreal is 10x times more difficult than that o_O
My next workflow after my current game is released would use the USD instead of FBX, hopefully that would save lots of work rebuilding assets in Unreal. It'd be best if we could import Daz content directly into Unreal with decent features that current DazToUnreal bridge is lack of, notably the genital support and correct material and animation support, via the new USD pipeline and not the old FBX pipeline.
Looks great, has this plugin been released yet? Can you tell me more about how to use it?
No it hasn't been released yet. Sorry all for the delay.
As I began testing the tool with more and more complicated character setups I began to run into edgecases which proved very difficult to solve automatically. Some types of geograft clothing for example.
I realised that I was never going to be able to cover off every possible scenario that various Daz figure/clothing/prop combinations could throw at me, in a procedual way, without any sort of user intervention. I also realised that, due to me creating the tool as a single node in Houdini, I was effectively preventing the user from using any of the numerous other tools available in Houdini to deal with these edgecases themselves.
Basically, long story short, rather then realising it as a single digital asset, I've broken it down into several digital assets, each performing specific tasks in the workflow.
This means that at any point in the node network, users can intercept the data streams and make any changes they require to achieve what they want, based on their specific requirements. It also makes it a lot easier for me to add in additional functionality for specific parts of the workflow down the track. The node network of the original tool was getting very large and complicated so I think that breaking things down into smaller chunks will be better in the long run.
The only real downside to this is that there is no longer a single "presets" option for the entire workflow, rather each of the nodes would have their own presets... but I have a plan for that which I think could work.
In addition to splitting the tool into multiple nodes, I also implemented mesh subdivision and poly reduction capabilities. This was quite challenging for me to figure out as any topology changes applied to the FBX character, also needed to be applied to the animated alembic cache exactly the same, otherwise things like corrective morph generation would break... but this has now been implemented and is working well. It's really flexible too. For example, you can paint areas of the character that you want to retain mesh density around, while reducing the poly-count in other areas of the character.
I've still got a few nodes to finish off for a v1 release but it shouldn't be too much longer now.
I'll also need to record a series of tutorials as well, something I've never done before.. so that should interesting.
Hopefully this gets release soon, eger to test this out in my workflow
I finally bit the bullet and released the beta version of the assets.
See the first post for how to download them.
Very cool, but somewhat complex, with a steep learning curve. Can you explain the material tutorial?
The next version, which I hope to release in a few days, will come with a Daz Studio preset of a fairly detailed range of motion animation for G8.1 characters, as well as the preset for the Pose Asset node to apply the definitions and a sample animation blueprint for Unreal to drive the poses.
Hopefully this will be a good starting point for users to work from when it comes to the JCM's.
The next release also has a bunch of time saving features to help minimise the tedium of defining JCM's and setting up the pose drivers.
As for the materials, with the exception of the eye shader part which I don't think I can explain any better than what I did in the video, the rest of the material node deals solely with altering the material slots that will be applied to your character when it's imported into unreal engine.
It's important to make the distinction between materials and material slots. The materials node currently doesn't generate any materials for you, it simply adjusts the materials slots. You need to create the materials for your character yourself in Unreal.
I did it this way mainly because I didn't want to perscibe a material setup for characters as everyone tends to have their own preferred way of creating things like skin shaders for their characters. Also, I'm not allowed to bundle any Daz textures with the assets.
As I think I mentioned in the video, at some point I'd like to implement things like texture baking and at that point, I might also look at getting the material node to generate some example materials as a starting point.
Looking forward to the new version.
From your demonstration, the character material is better than directly importing the UE material. Is this automatically generated by Houdini?
No, I created the materials myself in Unreal, still a work in progress though.. They're not generated by Houdini.
How did you get this POSE?
I just made it in Daz by importing the unreal engine Manny skeleton into Daz and aligning the bones as best I could.
A quick preview of some example JCMs I'm currently working on for the next release of DazToHue.
These will be for G8.1 figures. Took around 10 minutes to generate them all (over 700) for this subd 1 figure, including fingers.
I'm fairly certain the number of JCM's could be reduced without much noticible difference in output quality, but it's a matter of a lot of trial and error as I'm still trying to work out the finer details of the Pose Driver node in Unreal Engine.
El maximo kudos! Getting closer to making time to try all this out. Thanks for making this available!
This looks great! It would be useful to be able to get this to work for characters within Houdini.
Well, you have everything you'd need on the outputs of the Pose Assets node.. skin, skeleton and blendshapes. The challenge would be to figure out the best way to drive the blendshapes based on the joint orientations. It's possible to do now, but not simple. Personally I'm waiting and hoping for improvements to Kine FX to make this process easier. You'd also need to set up the materials for your renderer of choice inside Houdini. It's on my list of things to look into one of these days.
Some very early R&D into physically correct skin tones and improved skin materials, variable secondary physics motion and full body morphs.
All of them still need more work but I'm happy with the results so far.
Yeah I've been looking into this and you aren't kidding. Driving blendshapes via joints is not trivial (actually I haven't even come up with a working solution). I hope SideFX doesn't wait till Siggraph to release H20 - but I suspect they might.
Pete