Adding Dual Quaternion support to UnrealEngine4 (Images inside)

145679

Comments

  • MacislavMacislav Posts: 111

    You need to build the modded version from the given (in github) source code in Visual Studio 2019. (download the community version, it's free).

    https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/BuildingUnrealEngine/

  • guestest3guestest3 Posts: 14
    edited July 2021

    Macislav said:

    You need to build the modded version from the given (in github) source code in Visual Studio 2019. (download the community version, it's free).

    https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/BuildingUnrealEngine/

    i imported a genesis 8 into unreal by DazToUnreal plugin and The face with other parts of the clothes are glitched by part of the mesh going down how do i fix it? it seems like the mesh is dractically stretched and adjusting the bones wont help by restoring the mesh. i use DazToUnreal 4.0

    Post edited by guestest3 on
  • MacislavMacislav Posts: 111

    Maybe it would help to turn on "skincache usage" for the corresponding mesh?

  • guestest3guestest3 Posts: 14
    edited July 2021

    Macislav said:

    Maybe it would help to turn on "skincache usage" for the corresponding mesh?

    how do i do that? please explain like im a noob

    edit: nvm i managed to fix it somehow while playing with the settings. thank you very much for the help 

    Post edited by guestest3 on
  • EllessarrEllessarr Posts: 1,327

    ok it's a long time since my last attempt of use it then someone can give me a proper tutorial about how to "install" the moded DQ and if possible with the lastet version of unreal 4.26 (the 4.26.2), i've already downloaded it from githube now what is the next step how i "install it and again install already using the lasted if possible.

     

    thanks for any help.

  • MacislavMacislav Posts: 111

    In your mod folder you need to run GenerateProjectFiles.bat and afterwards Setup.bat (or the other way round, the program will tell you).

    If you have finished that, open UE4.sln, in Visual Studio: in the project folder: right click UE4 --> "build" and wait until it's successfully finished.

  • MacislavMacislav Posts: 111

    Attention: Unreal Engine 4.27 has been released today

  • AlexandrausAlexandraus Posts: 1
    edited October 2021

    Macislav said:

    @dizzy88:

    Yes, it's in this file:
    Engine/Source/Editor/UnrealEd/Private/Factories/SkeletalMeshImport.cpp

    --> const float MINWEIGHT = 0.01f

    I had the issue with 0.001f as well, but 0.005f works perfectly.

    Hi guys!

    I recently ran into this problem. I went even deeper into this. 

    You can get the magic number as low as 1.0f / 255.0f = 0.0039215686274509803921568627451, because UE4 is using uint8 to store weight data. Anything below this becomes "0" (in shaders I believe, or just before this), i.e. there is no weight, so you see distortion. My quick solution is:

    // if less than min weight, or it's more than 8, then we clear it to use weightif ((Influences[i].Weight * 255.0f) >= 1 && InfluenceCount < MAX_TOTAL_INFLUENCES)//if (Influences[i].Weight >= MINWEIGHT && InfluenceCount < MAX_TOTAL_INFLUENCES)

     

     

    Post edited by Alexandraus on
  • Hi

    My Epic account and my GitHub account are linked, but this link https://github.com/AlienRenders/UnrealEngine/tree/4.26-mod still returns a 404. Looking for latest 4.26 version

    Thanks for your help!

  • I built my project in 4.26.2 and then compiled up the latest DQ version of UE.

    My problem is that the latest version of the DQ enabled engine is 4.26 and cannot open my 4.26.2 project!

    ~ Do we know if there are any plans to produce DQ enabled versions of UE for 4.26.2? Is the project still in active development?

     

  • Are there any plans to update DQ to UE 5 Early Access or even 4.26.1+? I'd love to have JCMs on my character but I'm currently using some assets provided by MetaHuman and I'd rather not have to make a tradeoff.

  • norvumnorvum Posts: 6

    Does Epic using machine learning to offer DQ support make the efforts here obsolete or just different?

    https://portal.productboard.com/epicgames/1-unreal-engine-public-roadmap/c/517-ml-deformer

  • dizzy88dizzy88 Posts: 51

    Alexandraus said:

    Macislav said:

    @dizzy88:

    Yes, it's in this file:
    Engine/Source/Editor/UnrealEd/Private/Factories/SkeletalMeshImport.cpp

    --> const float MINWEIGHT = 0.01f

    I had the issue with 0.001f as well, but 0.005f works perfectly.

    Hi guys!

    I recently ran into this problem. I went even deeper into this. 

    You can get the magic number as low as 1.0f / 255.0f = 0.0039215686274509803921568627451, because UE4 is using uint8 to store weight data. Anything below this becomes "0" (in shaders I believe, or just before this), i.e. there is no weight, so you see distortion. My quick solution is:

    // if less than min weight, or it's more than 8, then we clear it to use weightif ((Influences[i].Weight * 255.0f) >= 1 && InfluenceCount < MAX_TOTAL_INFLUENCES)//if (Influences[i].Weight >= MINWEIGHT && InfluenceCount < MAX_TOTAL_INFLUENCES)

     

     

    Thank you!  Makes perfect sense now.

    I have not looked at UE5 yet.  I wonder if it's possible to implement DQS as a plugin now, or is skinning still part of the "core" engine?

  • kimobatokimobato Posts: 0

    Alexandraus said:

    Macislav said:

    @dizzy88:

    Yes, it's in this file:
    Engine/Source/Editor/UnrealEd/Private/Factories/SkeletalMeshImport.cpp

    --> const float MINWEIGHT = 0.01f

    I had the issue with 0.001f as well, but 0.005f works perfectly.

    Hi guys!

    I recently ran into this problem. I went even deeper into this. 

    You can get the magic number as low as 1.0f / 255.0f = 0.0039215686274509803921568627451, because UE4 is using uint8 to store weight data. Anything below this becomes "0" (in shaders I believe, or just before this), i.e. there is no weight, so you see distortion. My quick solution is:

    // if less than min weight, or it's more than 8, then we clear it to use weightif ((Influences[i].Weight * 255.0f) >= 1 && InfluenceCount < MAX_TOTAL_INFLUENCES)//if (Influences[i].Weight >= MINWEIGHT && InfluenceCount < MAX_TOTAL_INFLUENCES)

     

    Hi,
    There is a way to use this trick in 4.27.2?
    I'm not finding "Engine/Source/Editor/UnrealEd/Private/Factories/SkeletalMeshImport.cpp" in this folder.

    But here: "Engine\Source\Editor\UnrealEd\Private\ImportUtils/"
    And there is not this line in it: "const float MINWEIGHT = "

    Anyone have a clue?

    Thanks

  • MacislavMacislav Posts: 111

    Will there be a DQ version of UE 5.0 soon?

  • AlienRendersAlienRenders Posts: 725
    edited April 27

    I'm updating UE5 now. It seems they added my changes for TIFF directly on UE5 because it looks identical to a pull request I made a while back. So that's one thing I don't need to track anymore. They added a bunch of additions for Quaternions and Dual Quaternions, so that's more changes I don't have to track. Unfortunately, they didn't add everything I need (they did not get these changes from me as they know nothing about my branch I don't think).

    Anyways, I should have UE5 updated soon.

    edit: Still working on it. They templated all their math stuff (it's a good change), but it means I have to rewrite a lot of DQ stuff (again a good thing), but it takes a bit of time. Should have it done today or tomorrow.

    Post edited by AlienRenders on
  • AlienRendersAlienRenders Posts: 725

    Anyone been able to build 5.0 yet? I'm getting unresolved externals on one dll. Seems like it's trying to use a plugin. Decided to rebuild everything from scratch. So this will take a while.

  • AlienRendersAlienRenders Posts: 725
    edited April 28

    The 5.0 branch is completely [messed up]. No choice but to wait until Epic releases a working branch for UE5.

    Post edited by Richard Haseltine on
  • EllessarrEllessarr Posts: 1,327
    edited April 28

    AlienRenders said:

    I'm updating UE5 now. It seems they added my changes for TIFF directly on UE5 because it looks identical to a pull request I made a while back. So that's one thing I don't need to track anymore. They added a bunch of additions for Quaternions and Dual Quaternions, so that's more changes I don't have to track. Unfortunately, they didn't add everything I need (they did not get these changes from me as they know nothing about my branch I don't think).

    Anyways, I should have UE5 updated soon.

    edit: Still working on it. They templated all their math stuff (it's a good change), but it means I have to rewrite a lot of DQ stuff (again a good thing), but it takes a bit of time. Should have it done today or tomorrow.

    since epic made this big change, any chances to maybe finally see it more like a pluging or "extra code"? since they added a lot of DQ stuff? 

    as a pluging or bp or code would be more easy and fast to updated, than have to build it on each engine core.

    Post edited by Ellessarr on
  • AlienRendersAlienRenders Posts: 725

    As I've mentioned many times, the DQ stuff cannot be made into a plugin as it changes the main behaviour of the engine.

  • lustblastlustblast Posts: 0

    AlienRenders said:

    As I've mentioned many times, the DQ stuff cannot be made into a plugin as it changes the main behaviour of the engine.

    Thank you AlienRenders for dealing with this!
    I have found a dual quaternion build for UE5 early acces:

    https://forums.unrealengine.com/t/ue5-and-daz3d-characters/233813/38
    https://github.com/mikivolek/UE/tree/ue5-main-mod

    Is this helpful?

  • AlienRendersAlienRenders Posts: 725

    Don't think it'll help. It's the main 5.0 branch that won't build for me. My stuff is fine. I've updated my code and pushed to my github repo. If anyone wants to try it, it's there under 5.0-mod.

    If I can ever get a working build, I think I'll take a look at adding an option to select the skinning shaders in the asset options. Someone sent me a pull request once, but it was missing some stuff and didn't seem to work with morph targets. There was also a *lot* of changes. My current changes are rather tiny by comparison (and with TIFF being included in UE5, it's gotten a whole lot smaller). It's already a lot of work to maintain the changes. But I think the convenience of being able to add different assets with different skinning would be cool.

     

  • ssuukk2ssuukk2 Posts: 4

    AlienRenders said:

    Don't think it'll help. It's the main 5.0 branch that won't build for me. My stuff is fine. I've updated my code and pushed to my github repo. If anyone wants to try it, it's there under 5.0-mod.

    Hi is there any way to contact you for a chat? I'm struggling with a lot ot things that, it seems, were never done before. Zero answers on official UE forums. And you seem like you're some kind of mesh/bone/skinning wizard. The problems I'm facing are i.e.: I was able to import 1000 morphs on demand at runtime, and they mostly run OK, but for some morph force values they... flicker with black shadow. But there's really much more problems and you're probably the only person that knows something about this...

  • EllessarrEllessarr Posts: 1,327

    AlienRenders said:

    As I've mentioned many times, the DQ stuff cannot be made into a plugin as it changes the main behaviour of the engine.

    then our only hope is if you and others keep pushing a little more maybe they will full ad the DQ into unreal 5 base code back, since they already added a lot of it and we need a little more push towards it. 

  • ssuukk2 said:

    AlienRenders said:

    Don't think it'll help. It's the main 5.0 branch that won't build for me. My stuff is fine. I've updated my code and pushed to my github repo. If anyone wants to try it, it's there under 5.0-mod.

    Hi is there any way to contact you for a chat? I'm struggling with a lot ot things that, it seems, were never done before. Zero answers on official UE forums. And you seem like you're some kind of mesh/bone/skinning wizard. The problems I'm facing are i.e.: I was able to import 1000 morphs on demand at runtime, and they mostly run OK, but for some morph force values they... flicker with black shadow. But there's really much more problems and you're probably the only person that knows something about this...

    Black flickering with morphs is a known issue and unrelated to DQ skinning. When you are importing your skeletal mesh, change the import normals to "Compute" (or try the other options). I don't remember specifically which option it was, but that solved it for me.

  • AlienRendersAlienRenders Posts: 725
    edited April 30

    There was a recent update to the 5.0 branch. I've merged the changes to my own 5.0-mod branch and it now builds. So 5.0-mod is good to go. I'm now testing if the shaders will compile as that is done in the editor, not in visual studio.

    edit: Just finished trying updating an old project to UE5. Everything looks good. All shaders compiled. The 5.0-mod branch looks good.

    Post edited by AlienRenders on
  • AlienRendersAlienRenders Posts: 725

    I've been reading several tutorials on how to add shaders and how to create shaders in plugins in UE4/5. Every single tutorial says it's not possible to add shaders in plugins except for global shaders. GPU skinning vertex shaders are not global shaders. But the cache shaders are since those are compute shaders. Apparently, no one has been crazy enough yet to *want* to create a GPU skinning vertex shader. However, even if it's not possible to create a plugin, I have some ideas on how to separate out my changes and make it more modular. And I think I now know what was missing from the pull request that was adding the option to switch dynamically between linear skinning and DQS (related to morph targets).

    So I'm not saying it's quite possible to make a plugin just yet. But I'm no longer saying it's 100% impossible. There just might be a way. Unfortunately, it's really difficult. One tutorial said it would take 10 to 15 blog pages just to cover the basics.

     

  • ssuukk2ssuukk2 Posts: 4

    AlienRenders said:

    There was a recent update to the 5.0 branch. I've merged the changes to my own 5.0-mod branch and it now builds. So 5.0-mod is good to go. I'm now testing if the shaders will compile as that is done in the editor, not in visual studio.

    edit: Just finished trying updating an old project to UE5. Everything looks good. All shaders compiled. The 5.0-mod branch looks good.

    When I cloned main UE5 branch it required Visual Studio 2017 to compile. When I cloned yours, it's asking for 2015 :D Does it mean I have to bunch of Visual Studios when dealling with UE? :D Also, I'll keep asing. Are you available for a chat?

     

    st3ph3nstrang3 said:

    ssuukk2 said:

    AlienRenders said:

    Don't think it'll help. It's the main 5.0 branch that won't build for me. My stuff is fine. I've updated my code and pushed to my github repo. If anyone wants to try it, it's there under 5.0-mod.

    Hi is there any way to contact you for a chat? I'm struggling with a lot ot things that, it seems, were never done before. Zero answers on official UE forums. And you seem like you're some kind of mesh/bone/skinning wizard. The problems I'm facing are i.e.: I was able to import 1000 morphs on demand at runtime, and they mostly run OK, but for some morph force values they... flicker with black shadow. But there's really much more problems and you're probably the only person that knows something about this...

    Black flickering with morphs is a known issue and unrelated to DQ skinning. When you are importing your skeletal mesh, change the import normals to "Compute" (or try the other options). I don't remember specifically which option it was, but that solved it for me.

    I know it isn't. I'm just looking for anyone who knows some higher level stuff about meshes/skingin etc in Unreal, because people either have no idea about all this or they're not willing to share...

     

  • ssuukk2ssuukk2 Posts: 4
    edited May 2

    After opening Genesis 2 model in DQ UE 5, something is sticking from the jaw...

    EDIT - it is some motuh element, but hard to say if it's tongue or throat...

    jaw.jpg
    708 x 1012 - 47K
    Post edited by ssuukk2 on
  • ssuukk2ssuukk2 Posts: 4

    After opening Genesis 2 model in DQ UE 5, something is sticking from the jaw...

Sign In or Register to comment.