Incorrect displaying in morph targets

Hello, i want to create simple example for morph targets in UE4.
I just make cube in blender, create 2 blend shapes, in second i change cube model by extruding parts, exporting FBX to UE4 with “Import morph targets” (Skeletal mesh), and problem is in that skeletal mesh, i open it, drag “Morph target Weight” and here:
Normal cube in Blender


Extruded cube in Blender, blend shape

Extruded cube in UE4 by morph target = some parts don’t show

Win10, UE4.23/4.24, write for additional info if needed

It’s not that “strange”.
Your mesh normals are probably inverted.

In blender.
Select cube.
Edit mode.
Select all
Ctrl N for recalculate normals.

Export and re-import.

I think about that too, i check normals and they is fine
When Ctrl + N - i see menu, i try Ctrl + Shift + N and normals has opposite side, re-importing this get me same result

Try to display the normals in blender.
Maybe the way the model is made is just causing them to flip opposite.

Also you can tick tow sided inside the material instance to confirm the issue isn’t something else.

Display normals of blend shape


Normals in basis blend shape

Face orientations

I tick this tow here


And got same result

Try and set the morph to 1 to test the base item.
If it doesn’t appear the exact same as it does in blender then there’s something wrong with the import.

Toss everything and import a new one with a new skeleton to see if that clears it up.

Make sure the material has the option checked to work with morph targets too. It should. The engine should be forcing it on. But you never know.

  1. I don’t know what you mean about testing base item, it’s get just normal cube


    If you mean that i need to do same extruding operations with object and set base blend shape, here is result

    But if i turn off material, that “non visible normals” get strange texture i think
  2. “Toss everything” - you mean delete object and create new one? I do it every time i upload picture here :slight_smile:
  3. This thing was not checked initial, i checked it

    And result is with same problem, same with “two sided material” too
  1. I mean you test the base item. Without changing the morph value to 0.6 like in your screenshots.

As you can see. That does seem to work correctly.
So the value of the morph is what is causing the issue - no idea how or why. That depends on the animation linked to it.

  1. yes, it’s a good idea to do that every time until you get it right at least once.

  2. ok. It definitely should be checked. But you should also have the same behavior with the default material.

That’s perfectly normal if you didn’t UV map the object in blender.

What isn’t normal is that the sides just disappear with .6 blend value.

Compare what .6 looks like in blender to what .6 looks like in engine.
I’d they aren’t the exact same, there’s an issue somewhere.

Things to keep in mind:

  1. all meshes are slightly optimized by the engine engine importing. Usually because if they aren’t triangulated they need to be.
    To avoid this, simply add a triangulation modifier to the mesh and make sure to click the experimental apply all modifiers when exporting to fbx.

  2. the engine dumps bone weights below .01 this doesn’t apply to this ofc. Since the item isn’t weighted, but It’s something worth knowing.

  3. in engine, morph values can go well below and above the minimum.

  4. morph are usually only linear translations.
    To move a vertex in more than one vector you need to mix several morphs / it can get problematic.
    (Doesn’t seem like what you are doing here anyway. Unless blender shows weird results at 0.6 too).

That “0.6” is just to show non default value, problem is happened in any value that i choice, in blender is normal in any value.

  1. Done
  2. Ok
  3. I know, in below zero is same problem
  4. Don’t know how to do this

Also after importing to UE4, i got this


If i add triangulation modifier then morph targets don’t importing and yes, i checked “import morph targets”

You would need to share your blend or fbx.

I don’t see why there would be any problem at all, when adding triangulation.

The same model made from me, works for me. So it has to be something you did or an import/export setting.

1 Like

untitled.fbx (14.7 KB)

So,
The mesh you shared is a bit of a mess.

First of. You need to remove all hard edges. If you want to the mesh to be able to morph, it cannot use hard edges otherwise things will literally “break” apart.

Second. It doesn’t actually have a morph target.

Third, It’s not UV unwrapped correctly.

Fourth.
The engine is at fault here, culling faces that are too close to each other. to make it work I have a section like this.

Fifth.
Blender and Triangulation causes the morph to be removed, so let the engine triangulate instead.

When you fix it.

here’s the modified file.
untitled.fbx (17.0 KB)