Announcement

Collapse
No announcement yet.

Skeletal Mesh+Shadow Glitch in UE4

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Sent you a PM.

    Leave a comment:


  • replied
    Still no success (same result) and for this test I didn't use any shape keys or modifiers beyond the armature. Maybe I can provide the .blend file and you could see it for yourself. But where to upload it?

    Leave a comment:


  • replied
    Disable leaf bones in the export.
    Check the apply all modifiers on the main tab.
    Change smoothing to faces only (to see if you get any differences).

    Export only a base pose in A or T pose to get a master skeleton going with the proper mesh.

    import in unreal - I would reset all the settings just to be sure first. Disable the animation when taking in just the master pose.
    this will create the mesh, the skeleton, and optionally the materials.

    Secondly, export the "raising arms" animation without the mesh.
    select only the armature in blender, export the FBX
    Check the only selected box during export and tweak the values as above.

    When you import into ue4 now, you will just be taking in the bones.
    Select the previous skeletal mesh during import.

    Play the animation and check to see if you are still seeing the issue.
    hopefully you won't.

    If you still see the issue I would suggest getting rid of the shape keys first in the master pose, import in a fresh one after deleting the skeleton/mesh, and repeating the steps.
    try and isolate if the issue stems from the mesh or from the shape key associated with the mesh.
    afterall one of your edge loops is bulging out. Something is causing this, and it can't be the bone rotation or everyone would be complaining about issues.

    Oh and within blender - what type of bones are you actually using?
    normally you would use the octahedral or whatever the ones that look like cones are.
    you can change the display to sticks, like you seem to be doing, but you could also be using bendy bones, which aren't going to work in UE4.
    Last edited by MostHost LA; 07-20-2019, 04:59 PM.

    Leave a comment:


  • replied
    If I export only the posed mesh without armature, it looks smoother (as expected) than the posed mesh with armature.

    I can describe what I'm doing exactly to reproduce the problem.

    I've got a skeletal mesh, which has been exported / imported with the following settings:


    Click image for larger version  Name:	blender-export-and-ue-import.jpg Views:	1 Size:	247.1 KB ID:	1644573

    Skeletal Mesh in Blender and UE4:


    Click image for larger version  Name:	mesh-distortions.jpg Views:	1 Size:	206.3 KB ID:	1644574

    This is with the UE 4.22.3 Version. In the Dual Quaternion Version from the DAZ site (link given above) the distortion is even more pronounced / worse.
    As for the rotation angles ue should deliver the same results as blender no matter how extreme the bone rotations may be.
    Normally I'm using the Dual Quaternion Version + Corrective Shape keys for the armpits, so some poses may look wrong without preserve volume checked, but look good with preserve volume + shape key.
    Last edited by Bronislaw666; 07-20-2019, 04:03 PM.

    Leave a comment:


  • replied
    What happens if you pose the mesh in blender and export only the mesh?

    Also, I have literally rewritten half the FBX exporter. The issue is not on the blender end or the import to unreal end.
    The armatures and meshes behave like expected (comparable to maya and 3dsmax, which is exactly as drawn.

    The things that affect a character animation import are the retargeting and improper setup of bone rotations as well as bad export settings.

    Maybe you could film your import/export process so we can review it and try to catch the issue.

    Another thing you may want to check is that your shoulder bones aren't rotating 360 deg around in this animation compared to where they are suppose to be.
    reset the pose with alt g, alt s, alt r, and move the hands up again to see if you notice any changes.

    Yuo could even just animate the arms going all the way up to spot when (at what rotation angle approximately) the issue starts to occurs.

    Also, remember your kinetic chain. When you lift arms up the shoulder and clavicle adjust with it. If they don't you end up stretching and deforming the mesh rather then having a natural look. This may be part of your proble too. (The adjustment on the clavicle is very slight usually, so maybe there's even more to the issue).
    Last edited by MostHost LA; 07-20-2019, 11:18 AM.

    Leave a comment:


  • replied
    It still doesn't change a thing. It seems as if blender takes smaller weights into consideration than UE4 (even without any warning about this in UE), esp. where the bones meet.
    You can follow the discussion here for more background infos: https://www.daz3d.com/forums/discuss...ages-inside/p5

    Leave a comment:


  • replied
    I think the issue might be just the retargeting again (it's fairly common).
    are you leaving the skeleton empty when importing? Give that a try...

    Leave a comment:


  • replied
    The animation is correct (have even reset the rotation of the bottom bone of the upper arm where the distortion is and in blender it looks smooth, but on import into UE there are distortions.
    I've limited the bone influences to 8, set smoothing to face in blender and even without showing any warnings the mesh does look worse in UE than in blender.
    Is it possible that UE is truncating some bone influences on import in the background without even giving a warning about it or is it some rounding issue? I've got a high resolution mesh and need precise bone weight values for most realistic look of my character.
    And if it is a problem with some shader calculations / rounding of values, where in the source code can I find that part and hopefully correct it?

    Leave a comment:


  • replied
    Originally posted by Bronislaw666 View Post
    mesh distortion at the upper arms, when they are raised.
    Which might be caused by bone translation in the original animation.
    Read as - It looks like you dislocated his shoulder bones, are you sure they are where they need to be?

    Leave a comment:


  • replied
    I'm using just one 4k skin texture for the the whole body and the shadows look realistic.
    But what causes problems, is a mesh distortion at the upper arms, when they are raised.

    Leave a comment:


  • replied
    as far as the slight tweak goes, I think your weight painting is either too strong - or - you are accidentally translating those bones in the animation. You should only be affecting Rotations, not Translations as you animate.

    Leave a comment:


  • replied
    Originally posted by Bronislaw666 View Post
    I was successful in removing the glitchy shadows by enabling "recompute tangent+skin cache (with force all skinned meshes to recompute tangents checked)". Will do further tests, but it looks good so far with several test poses.
    I just tested your approach, for me it doesn't work. It reduces incorrect normals in the armpits but it creates incorrect normals somewhere else, on the uv shells border where the arm and the torso uv shells connect. No luck

    Leave a comment:


  • replied
    @Bronislaw666: Sorry I thought you were working with Daz3D characters. It looked like the same issue I was having with bones not rotating the same way in UE4 as they do in Daz3d Studio causing morph target to not work correctly either.

    Leave a comment:


  • replied
    I was successful in removing the glitchy shadows by enabling "recompute tangent+skin cache (with force all skinned meshes to recompute tangents checked)". Will do further tests, but it looks good so far with several test poses.
    Concerning the distortion issue of the arm I now think too, that it has nothing to do with blender, but with the Dual Quaternion Version of UE4, because there is no arm distortion in blender, even after having limited the weights, doing normalisation, quantisation etc.

    @Kednerpo: Do you want to know the bone names and what translation settings info do you need?
    The morph targets I'm using are made by me in blender, because I'm using MakeHuman. (a higher resolution mesh) The export from blender to UE4 is done in fbx file format. (armature+mesh export)

    Leave a comment:


  • replied
    For your first issue, enabling "Force all skinned meshes to recompute tangents" in the project settings definitely works. No idea though whether this specific version with dual quaternion skinning will work with that setting.
    For your second issue, I would suspect that the dual quaternion implementation in Blender and your Unreal version could be different causing the distortion.
    Just to be sure you can in Blenders weight painting tools use: "Limit Total" with subset "deform pose bones" and a limit of 8 (8 is the max amount unreal can deal with), then "Normalize all" with "deform pose bones" uncheck "lock active" and last use "Quantize" with "deform pose bones" and 255 steps (vertex weights get stored as a byte value as far as I know.)

    Leave a comment:

Working...
X