Page MenuHome

FBX from Maya imports with incorrect UVs in 2nd channel
Closed, ArchivedPublic

Description

System Information
Operating system: Windows-10-10.0.17763 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.67

Blender Version
Broken: versions: Blender 2.79 5b8ac9, 2.80 (sub 57), branch: master, commit date: 2019-04-16 06:07, hash: rBedc1b0167518
Worked: n/a

Short description of error
FBX from Maya imports with incorrect UVs in 2nd channel. UVs that have not been unwrapped in Maya either show as the UVs from the first UV channel (2.79) or are scaled to single pixel at (0, 0) (2.8).

I realise that the Blender FBX implementation does not use the Autodesk SDK, but the FBX SDK has a pUnmapped flag that indicates if the polygon vertex does not have an associated UV and it looks like Blender is not parsing this correctly. It is my understanding that the FBX specification allows individual faces to not have a uv assigned within a uv layer, which is somewhat odd because the uv set itself is received at mesh level, but this alone does not mean all the faces are using it.

For more details on pUnmapped see the following: https://help.autodesk.com/cloudhelp/2018/ENU/FBX-Developer-Help/cpp_ref/class_fbx_mesh.html#a806ac0979b1920ba8c23eebe916d3f5d


Maya LT

Blender 2.7

Blender 2.8

Details

Type
Bug

Event Timeline

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.Apr 17 2019, 3:02 PM
Bastien Montagne (mont29) lowered the priority of this task from Confirmed, Medium to Needs Information from User.Sat, May 11, 5:22 PM

Imho 2.8 is handling this correctly then? In Blender all faces are part of an UV map, so using default (0, 0) value for those unspecified in FBX make sense to me, it’s as good of a default as anything else.

@Bastien Montagne (mont29)

Thanks for the reply!

I'm unsure why Blender cannot default to a state where a mesh doesn't have a UV map layer assigned within Object Data for faces that are not unwrapped, as currently if you create a mesh without UVs, Blender does not show any data in the UV editor and the mesh doesn't have a UV map layer assigned within Object Data. Only when you unwrap a face (any face within an object) does the non-UV data show in 0, 0. Can't we just mark such faces as if they have no UVs?

As far as I can tell, the non-UVd data within the attached FBX from the first post is/was not part of any unwrapped UV layer within Maya, so by including it within the uvSet layer within Object Data my concern is that Blender may be altering the UV data of such imported meshes and by doing so, may help to propagate this error forwards when it is exported. Ideally this data should remain isolated from the rest of the UV data.

Screenshots from Maya below.



Again, Blender does not support partial UV maps per se, way to do it in Blender is to set 'unmapped' UVs to (0, 0), so there is no bug here from FBX importer in 2.8.

Question of whether Blender should support that feature is totally unrelated to IO/FBX, and is not a bug anyway. ;)