Announcement

Collapse
No announcement yet.

Import a morph target with unique normal data

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

    [FEATURE REQUEST] Import a morph target with unique normal data

    This is in reference to UE-19861, where morph targets can display really bad normals. FBX's can only store one set of normal data from the base mesh. I've contacted Autodesk about FBX's storing a morph's normal information. But it doesn't sound like that'll be in a new FBX plugin anytime soon.

    An alternative fix that is DCC driven, is to possibly allow users to manually import morph targets outside of the initial skeletal mesh.

    Users would export/import to Unreal their base skeletal/static mesh from the FBX as usual. But from the DCC they would also export the morph target with the unique normals each to a separate FBX. In UE4 they'd then import the morph target FBX's with the unique normals one by one (or batched).

    It's suboptimal, but it'd be a reliable method and option for those wanting to import unique normal data for each morph target.

    #2
    Aren't morph target normals already recalculated in realtime? I can see it being an issue for some robot type character with custom normals but for normal characters it should work fine as it is now.

    Comment


      #3
      Thanks for the interest and reply.

      By default, morph normals are not recalculated AFAIK. That has to be enabled through the Skin Cache project setting and enabling "Recompute tangents" on the mesh LOD. And this does a really great job if the base mesh and the morph need to have similar normals/tangents.

      But if you need to do a large shift in display normals, like morphing a cube into a sphere (with all soft edges on the sphere, and hard edges on the cube), it doesn't deal with that well right now.

      A lot of games are using low poly stuff these days, so I'm thinking it'd be a good feature to add, even with the probable extra overhead from unique display normals on some morphs.

      Click image for larger version

Name:	spheriphy morph normals.png
Views:	1
Size:	736.6 KB
ID:	1129308
      Last edited by jmalaska; 06-11-2017, 11:25 PM.

      Comment


        #4
        ^This is a bad example, because the Normals seem correct, but the Smoothing Groups from the Cube are making the hard edges

        Comment


          #5
          Originally posted by jmalaska View Post
          Thanks for the interest and reply.

          By default, morph normals are not recalculated AFAIK. That has to be enabled through the Skin Cache project setting and enabling "Recompute tangents" on the mesh LOD. And this does a really great job if the base mesh and the morph need to have similar normals/tangents.

          But if you need to do a large shift in display normals, like morphing a cube into a sphere (with all soft edges on the sphere, and hard edges on the cube), it doesn't deal with that well right now.

          A lot of games are using low poly stuff these days, so I'm thinking it'd be a good feature to add, even with the probable extra overhead from unique display normals on some morphs.

          [ATTACH=CONFIG]144423[/ATTACH]
          We're looking into option to fix this issue. It seems if we export with morphtarget mesh, we could get the normal, but will need some investigation. Thanks for the suggestion.

          Comment


            #6
            Hello nikolobin Appreciate the update, and thanks for taking a look!

            Comment

            Working...
            X