Possible 4 fixes by SGGhostRider
jeronimocollares
Posts: 131
I will leave this 4 easy fixes here for the few bugs i encountered
Bug 1: Saved Morphs lists csv files are missing a quote sign after the name making it unusable with the FBX export (not an intended usage but super useful). Fix 1: Open the csv file manually with a text editor after saving it and replace with "find and replace" all the ,"(comma-quote) with ","(quote-comma-quote).
Bug 2: Geograft leftovers are not deleted from the skeletal mesh after importing in UE4. Fix 2: Execute "DazToUnreal" with the UE4 closed, then go to "Documents/DazToUnreal/(Name of Exported)/", import "(Name of Exported).fbx" to a 3d program(i use maya), select leftover geograft and delete it and export as FBX replacing the old file, open your project and manually execute the import with "right click over the Content window in UE4 -> Import -> choose (Name of Exported).dtu".
Bug 3: After import, "bone retargeting options" for the face joints/bones is set to "AnimationRelative" which makes the face to distort if it's not the default one because joints/bones has shifted positions compared to the default skeleton. Fix 3: Open the Skeleton, show the "Bone Retargeting Options" by checking it inside the "Options" dropdown from upper-left corner, then select the facial joints/bones, right click them and choose "Skeleton" or "Animation", both works look ok with native animations, but "Animation" uses absolute positions for the joints/bones, so it may look strange/distorted if animations that don't belong to that character are used.
Bug 4: Geografts don't use "Subsurface" Parent Material making them look different and odd if the geograft is meant to extend the body skin surface like tails, custom ears or other anatomical elements. Fix 4: Just open the material used for the geograft, then go to the "Details" panel and search for the "General" section and change the "Parent" material from "IrayUberBaseMaterial"(or whatever is there) to "IrayUberSkinMaterial" by opening the drop down and searching for it.
All here: https://www.youtube.com/watch?v=LdwjUBhLZOA (Daz official channel on Youtube)
Comments
"Daz to Unreal 4 bridge solves Genesis 8 problems.
09-06-2020, 05:07 AM
OK so the new bridging plugin for Daz Studio to send Genesis 3 and 8 character models has solved a few issues. Of note the strange shading issue at the under arm locations is gone as well handles applied morphs much better.
Better still
1) Auto material creation is handled much better as to material types. SSS and metal shaders work well and the fidelity issues greatly improved.
2) Now supports JCM post processing
I thought of mentioning this as in if you do use Daz Studio the the bridge is a must have as it officially adds Genesis 3 and 8 support to Unreal 4 " - by FrankieV - Mythic
https://forums.unrealengine.com/development-discussion/animation/1808586-daz-to-unreal-4-bridge-solves-genesis-8-problems
-----
- i hope help this comunity with this topic.
hey man i could not find the "tutorials" you told, this guy seens to have no videos and only links for others videos, you could proper link all the videos on all the tutorials? if not ask too much??
Actually, I meant to make the format to same as a convenience for power users. I guess I made a mistake, thanks for pointing that out. I added that to my Trello so I don't forget.
Yea, I haven't gotten to that yet. I have a partial solution currently. http://davidvodhanel.com/daz-to-unreal-hiding-figure-geometry/
That's intentional. You want to set the retarget source for the animations (second half of this document) http://davidvodhanel.com/daz-to-unreal-animations/
The reason I set it up this way is so that facial poses \ animations can be shared between characters. Of course, if your change works better for your workflow, you should stick with it.
I think this works sometimes depending on the surface names. The issue is, sometimes you don't want to use the same parent material (for instance a robot arm). Will need to think o nthis one some.
Thanks for all the feedback.
Hi
I just found this information in official channel (on coments) from Daz on Youtube and in the UE4 Official forum. Im trying find or waiting, more tutorials about too. Just the oficial tutorial i have for now.
Ty and sorry.
Ty so much :) and you is welcome.
Hi, i saw the link Jeronimo left in the youtube section as response to my message and i decided to take a look :)
David Vodhanel , as it seems (if i'm not mistaken) you are the original developer of the plugin, and so i have few more contributions if you don't mind ^_^
1 - For the "geograft leftovers" part, in the link you gave it seems you are talking about a different problem, which i did not even knew it was a problem because Daz Studio (in my experience) always gets rid of the hidden geometry, what i was talking about in the message Jeronimo pasted over here was that after the export, the FBX contains 2 copies of the geograft, one welded and completely integrated with the body and one loose copy that serves no purpose and has to be deleted because it's a useless duplicate, this is always true for the TRUE geografts, the ones that are welded to the original model and/or replace parts of it, like in the case of tails, wings or anatomical elements per example, here i screenshot of what i'm talking about:
Every geograft that leave leftovers, groups the garbage shapes/models into a group of the same name, so it should not be difficult to detect them on import and delete them afterward.
2 - The Updated FBX that the plugin stores in a subfolder after the import and processing has been finished, contains the Morph's Models and BlendShapes with the original names (with the "GenesisXGender__" prefix) and not the updated ones that shows inside the UE4 project without any prefixes, so if a modification and reimport is needed, it's imposible to achieve without breaking the correct functionality of the character, so the deletion of the imported files and a complete import from zero of the character is required...
3 - The original exported FBX gets locked after import and cannot be deleted nor overwriten while the ueproject is still open, a close or restart is needed to do so, maybe you forgot to execute the unlocking method? or if you are using direct file access, in that case you probabbly are not calling the "file.close()" method after the fbx have been processed.
4 - The Ragdoll Physics of the character have a bug where the upper and lower body are not attached during Ragdoll and each parts goes by it's own, making the waist stretch like hot cheese. Thats caused because the hip bone is not skinned to the body(has 0 influence) and because of that, the Physics solver do not work with it, to solve it the easiest solution is to just parent the "abdomenLower" joint to the "pelvis", as far as i can tell it has no effect on animations, at leasts not on the retargeted ones (which is the most probable use case as Daz's available animations sucks big time, at least the full body ones, and the facial animations are not affected at all), and if some specific Daz animation is absolutely needed a simple retargeting from a skeleton without the modification to the one with the modification should be very easy.
5 - The plugin is currently incompatible with source builded UE4, it makes the engine build fail and doesn't even allow to open any project while the plugin is installed and active, which is a boomer as DualQuaternionSkinning is ONLY available in source builds and moving imported characters from one project to another is a pain in the ass by how this plugin works as all parent files like materials and skeleton are inside the plugin's own folder, making any kind of migration cumbersome and time consuming as i have to copy and change the references to the copies for every material and skeletal mesh.Forget everything i said in this last paragraph about your plugin not being compatible with source builds of UE4, i found your Git through a post in this forum, i then downloaded and builded everything with the files from there and now seems to be working ;)
And by the way, great plugin, especially the SubDiv1 export with corrected skinning without trypophobic effects XD , i don't know how you managed to do it so seemlesly, even with geografts (which is the biggest challenge as you can't just copy some pre-made weights from a file as the vertex count changes with non standard base mesh), until now i always had to do tricks in maya with the "Transfer Attributes" tool for every export so i can have a correctly skinned SubDiv 1 and 2. I wish you could do it with SubDiv2 too in the future, that would be even more amazing :D
1 - to be fair this is a "daz issue", even without the pluging, it still happens, something i daz code, is creating the "duplicated" mesh during the process of creating the fbx, maybe void can fix it, but it's looks much more like something to be fixed in the "daz itself than the pluging(maybe void can find a work around to fix it, but it's gonna happen in any case or pluging, don't matter if its daz to unreal bridge, daz to maya daz to blender even the "base export all will have this, i also hope void can do something about it, but i've also opened a ticket to daz support about this bug.
3 - yeah this is a annoying issue for me too, would be good if he can fix it, it's annoying have to close unreal to delete those stuffs when you don't need it anymore.
4 - the ragdoll issue is because when the mesh is exported to unreal it "autogenerate the "collision capsules" and that "autogeneration is "being honest terrible" most of the capsules and constrains are generated totally wrong and broken you need to "create from 0 your own capsules and constrains, to have a proper ragdoll, which is "another chore, void already place it on his "to do list' in a way to proper export a better collision and constrains, capsules.
4 - Have you personally tested what you are affirming? Because if it's so, it would be very kind from your part to share your "hip", "pelvis" and "abdomenLower" bones setup and constraints, as by myself, after countless hours of testing, NEVER have been able to "lock/constraint" by any means other than the mentioned above; the "hip", "pelvis" and "abdomenLower" together or between them so that the "hip" don't jump around like crazy and the "pelvis" and "abdomenLower" to stay together AND keeping the hip bone dynamic(not static and locked in place, which would result in the character hanging in the air by it's hips), and ofcourse without modifying the weightmaps or skinning of the character, just with in-UE4 tools ^_^
i've tried in the past to be fair but ended giving up because i was too busy with others stuffs bu those videos can help you, specially the second
general idea
using a iclone character creator
while it's no a daz character they do "share the same type of skeleton" then the same rule can be applied, i was following it and was being able to setup the ragdoll, it was just i really was too busy with my project to proper keep going but if you follow and learn how to proper manipulate the "numbers" in the constrains you can make a very good ragdoll, like i was planing to make a really complex ragdoll with evern "fingers", but as i told i feel i was "losing to much time" in something i would not use anytime soon.
I'm am the original developer, and I'm still contributing updates. I just wanted to pop in and let you know I read all your notes and I'll get those on my list.
Levelly guys :) Ty all!
Ellessarr I expected that reply, it was pretty much impossible you had managed to made it work that way :P , i know very well how to make Physical Assets in Unreal, i'm not exactly a "beginner", although not a professional either, just doing this for hobby, but have been doing this for years ^_^' , and as i said it's a problem with the Daz's Skeleton, how it's made and it's weight-mapping, nothing to do with how UE4 presets the Physics Asset. And maybe it's not doing a super great job, but most of the times it leaves you with a very good head-start so you only need to make few changes to fix things up or modify something that you need it done differently, and for most use cases it's more than enough without changes.
Just to clarify EXACTLY what are the problems with the Daz's Rig and why the re-parenting change is needed and the reason it's the best route to go:
Problem: The "hip" bone has 0 (zero) influences, so it's skinned to the mesh but it's not weight-mapped to anything, in other words it's just a floating bone attached to other bones, just like the root, but unlike the root bone it's midair and has 2 other bones attached to it and for worse it's the interface between 2 other hierarchies of bones that are skinned and completely weight-mapped to the model.
Solution 1(Not a solution): Redo the weight-maps and give the "hip" bone some influence to the mesh (bad idea as this will screw up Daz's weight-maps and make undesirable deformations, beside other problems that will arise later).
Solution 2(More Work): Get rid completely of Daz's skeleton and reskin the model to another skeleton that is "Game Ready" like the IClone CC skeleton or to a custom one.
Solution 3(Best choice): Just move the "hip" bone to the same position as root (X=0, Y=0, Z=0) keeping the same absolute positions for all the rest of the bones(i do this with the "Move Skinned Joints" tool from the "Skin" menu in Maya) and parent "abdomenLower" to "pelvis" so the herarchical structure reads as "Root->hip->pelvis-> abdomenLower, lThighBend, rThighBend" and you are done, just export as it is and everything will work as expected.
Perfect, thanks for lettings us know ;)
is not about "beig a beginner or pro" just try some tricks to see if you can "fix the issue"
first the hipe bone in daz have the "same job as the "root bone" it is to move the whole figure, daz use te "pelvis" in the place of the hip, but when you export to "unreal" it's like you have 2 roots", ok the trick is use the "pelvis" and when doing the constrain, not just "constrain let's say you have bone A, B and C, normally you would constrain bone "A to B then B to C, but the in the "hip" case you go from "A(hip" to " abdomen lower, it was the Way i managed to fix it, because i had that same issue, but after some tests i could find this way for the character not anymore do that, is about how to "connect the constrain using daz, well how is a lot later night and i go to sleep but i will check again when wake up and try to show you the result, i not gonna do the "whole body but at last the parts which matter for the test because i really don't have patient to constrain the whole body, it's just a little trick you must do, instead of follow the "normal constrain line you do a trick to constrain 3 bones instead of a single one, this i how i managed to start to fix it but as i told i get tired, before i could finish the character because i started to want to make a very complex ragdoll(even fingers with capsules) then i've ended bored and give up and using "death animations without ragdoll.
to be fair i'm not sure if was that order i used to fix, but i will try again later to see how i did it and post here the result, but i rememeber i had to do some tricks on the constrainfrom hip and pelvis to make it work.
You are kind of right because it kind of works and so that makes me kind of wrong... XD but anyhow there is still few problems to solve and a possible issue with retargeting but sure it did fix the stretchy hips. You actually don't even need the "hip" bone at all, just constraint the "abdomenLower" to the "pelvis" and delete the "hip" completely from the Physical Asset's list, "pelvis" it's a weighted bone and "abdomenLower" is also weighted, i should admit that it never crossed my mind to constraint those 2 bones together, maybe because they are too far in the list from each other or maybe because for some reason i just did never thought it could work between two bones that are not parented to each other and was too focused into constraining them to the "hip" bone... even when i sure did know that that kind of constraint is possible... (facepalm)
Anyways i still think that changing the position of the "hip" to the root position and reparent the "abdomenLower" to "pelvis" is the best solution, it makes the skeleton way closer to be something "gaming industry standard" than the default one and so making the retargeting of animations way less problematic and widens it's compatibility by alot.
ok, after i've tried again and watched this video
when i've linked the 'videos" was not because wanted to give just a "basic tutorial about how to setup any ragdoll, but it was exactly about "how to setup a "ragdoll" for daz character inside unreal, because that was the "real issue" i was trying to adress, because again daz character bones are different.
i've remembered how to fix it, the reason i've linked this video is exactly because it's use a CC character from the previous version 2 which used a "skeleton" the same as daz use, then on that video he shows the trick on how to setup the constrains from hip to lowerbody and legs, to make the distortion don't happen, it's show a little trick to prevent it, as i told the reason which i've stopped of work on it was because i was getting tired to take a full day to just setup the ragdoll, it looked like a "nightmare for me then i've ended giving up, but i would say which i was around 70%, already covered most of the body, the only issue was on the leg bending a little wrong and i could not find how to proper fix it then get tired of losing too much time on it, then i'm trying again and here the "result".
it's just a partial as you can see the "lower body and upper body are proper connected, because you have some little tricks to fix it on this video.
I was having exactly the same issue as you, before this video, then after that i could fix it and was setting up a good ragdoll but as i told at one point i got tired and give up on this because i feel which was much easy just add some "death animation and ignore the rag doll.
Another note, while the bone names are different in some cases, like instead of lowerbody you have waist and others just follow the same "order" and logic, then later you can try to adjust the constrain and capsules for you like
your fix of "remove the extra bone also can work, but this option is when you want to fix all "inside unreal" without have to go to "extra steps", normally when doing tutorials i'm trying to make it more "simple" and clean as possible and avoiding using "third programs" as much is possible to make everything "daz to unreal" without need to pass any other "tool" ofcourse many cases is impossible and you have to go a "extra step" and use a third part program like to make a "normal bake" you need to use a program to bake normals since neither daz or unreal can do that, but normally before go look for "this extra step i'm trying to keep everything inside daz and unreal as much as possible to make things more easy.
The only problem i had was specifically with the hip, with the rest of the body i never had trouble into doing it in no time as i understand how it works so most of the time i just go stright to the values that needs to be modified, i already made many of them for other rigs that by default follows the gaming industry standards, but anyhow i never used CC characters in Unreal before so i did not knew it had the same problem, and nobody shows it in any video, i can asure you that because i saw so many of them when i started learning ue4), everybody just go straight to "lets put this here as this and this too and that like this and you do the same as me" while they narrate their actions while making them (as if the viewer is blind or something XD) without explaining much or anything at all about the holy "why", and when they do explain something they just barely touch the very basics that most of the time are explained too many times already or are just very obvious, and few are the times they point what possible problems people might face and how to solve them... i'm not the kind of guy that stays there watching and copying what is a guy doing in a video, i want to understand it and do it by myself, i want the knowledge, not the method/solution, so videos like that bore me to death and most of the times i just listen them in the background while i do other stuff or speed them to x2 so they finish faster and later i end up learning by myself by experimenting and testing because i barely learnt anything... ^_^'
And by the way, i value your reasoning towards making more simple solutions that can be done by anyone, but i value also doing things the right way from start because i learned the hard way that what you skip now might and very probably will give you more headaches later, or even problems you could not even solve because they need even more advanced knowledge and to be fair there is already too many people showing basic things and too few teaching how to do thing the right way, of which most of them are only in paid courses... but yea, anyhow my target is more toward requesting David Vodhanel to include this fix in the DazToUnreal plugin so it's done automatically during the import, which i hope it happens sooner or later :P
Thank you for that clarification. I'm working on a script to make the Daz skeleton as compatible as possible with UE4 animations.
Right now I'm removing the Pelvis bone and renaming the Hip to Pelvis to make it match. I will test to see if I can get the script to implement your changes instead.
More about the script can be found here:
https://www.daz3d.com/forums/discussion/434757/experimental-dazuerig-converter-script
That's actually awesome, i did not knew someone was making a script like that and btw i just noticed there is a DazToUnreal discord channel, so i will join to see whatup over there :P
Edit: I suppose the "I'm removing the Pelvis bone and renaming the Hip to Pelvis to make it match" part is a typo and you wanted to say you are "removing the hip bone and renaming the pelvis to hip" ^_^'
Glad to see you over there!
Now that I'm double checking, does the UE mannequin have a hip bone? I thought it was:
>root
--> pelvis
----> spine_01
----> thigh_l
----> thigh_r
root being the base
pelvis - rotating the entire character
spine_01, thigh_l, thigh_r having weights
In Daz Genesis 3 and 8
>CharacterName
--> hip
-----> pelvis
--------->lThighBend
--------->rThighBend
----->abdomenLower
--------->abdomenUpper
Character Name - changed to root via Daz to Unreal Plugin
hip translates/rotates entire character so I rename to pelvis to match UE
pelvis swings both legs back and forth. No UE equivelant - So I remove
thighs automatically reparent to hip - only now it's named pelvis
No, the UE manequin has no "hip" bone, just "pelvis", which is the same when only one is used(pelvis or hip), in Daz there is two of them and the "hip" serves no purpose other than just rotate the character and the "pelvis" is the one controlling the hip part, so if you are removing some bone it should be the "hip" not the "plevis", it would not make any sense otherwise. And yes, in Unreal the "hip" bone is called "pelvis", but they are very commonly used interchangeably, but if you want to be as close to the Mannequin skeleton you may want to just remove the "hip" bone and leave "pelvis" untouched(plus moving "abdomenLower" as child of "pelvis"), so at the end it ends like this:
>root
--->pelvis
------>abdomenLower
--------->abdomenUpper
------>lThighBend
------>rThighBend