Home Technical Talk

FBX and vertex normals of a skinned mesh

There is an annoying problem I'm having with exporting a skinned mesh from maya as a fbx file. Any vertex normal that has been set manually is ignored when the fbx file is imported back into maya, max, or udk. This only happens when the mesh is skinned.

To illustrate the problem I've created a 20 sided cylinder without any end caps. One edge of the cylinder has been split into two edges, and the vertices of these two edges have the exact same normal vector (1,0,0). The shading across the pair of edges looks "smooth".

The two notches are just markers to indicate that the split edge is between them. Exporting the mesh as fbx without skinning and importing it back into Maya works without any problems:
qmCWV.jpg

qW0dt.jpg


Skinning the mesh to a pair of joints and then exporting/importing causes problems. The vertex normals are recalculated the standard way and any normals that were manually set are ignored:
2JeVZ.jpg

VSYrH.jpg


It also happens in udk if the skinned mesh fbx file is imported as a skeletal mesh. Oddly, importing as a static mesh works.
czWHK.jpg


I don't have access to 3ds max, but I've sent the example file to someone else to test, and he had the same problem. Here is another example with just a triangle with one vertex that has a edited normal:
mZP3Q.jpg


I'm using maya 2012 and the current fbx plugin. My main concern is getting a skinned asset into UDK and preserving vertex normals that were set.

Replies

  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    I was under the assumption that explicit normals don't work with Skeletal mesh's, fbx, and UDK. I am searching for documentation on this, so I may be off my rocker.
  • Ace-Angel
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    No, you're correct, as of today, there is still no way to get explicit normals to work with Skele-Mesh in UDK. Only static.
  • jonatanl
    Sorry if hijacked but which version of UDK are you using? The checkbox for explicit normals was removed a couple of versions back for .fbx - importing (or have they moved it?). Find it very annoying to have to use an old version for importing static meshes.
    Have googled with no results except some other thread with the same question but no answer. Anybody know anything about this?:(
  • m4dcow
    Offline / Send Message
    m4dcow interpolator
    jonatanl wrote: »
    Sorry if hijacked but which version of UDK are you using? The checkbox for explicit normals was removed a couple of versions back for .fbx - importing (or have they moved it?). Find it very annoying to have to use an old version for importing static meshes.
    Have googled with no results except some other thread with the same question but no answer. Anybody know anything about this?:(

    They put it back in the November build.
  • TimS
    That's a huge bummer that udk doesn't support custom normals for skeletal meshes. This raises the question what's the point of the "Import tangents" check box if udk calculates the normals for a skeletal mesh? Don't the tangents and binormals for a given vertex depend on the vertex normal as well as the uvs and position?

    http://www.terathon.com/code/tangent.html

    I guess it only makes sense if the normals of the exported mesh just so happens to coincide with normals that udk calculates internally?
  • JimmyMarshall
    I stumbled across your post while investigating the exact same problem, and wondered if you ever found a way to fix this? Specifically the part where the manually set normals on a skinned mesh are lost when you re-import to maya. Everything works fine for me on export since I'm using Unity and it supports all sorts of custom normals, but if I ever have to edit one of my fbxs by bringing it back into maya I have to reset all my normals on my skinned meshes.
Sign In or Register to comment.