While trying to track down an issue with texture tangents, I happened to be looking through the geometric tangent code, and something caught my eye: It appears that when exporting using per-vertex tangents, a default-initialized MObject is passed to a MItMeshVertex. This would appear to short-circuit the intended iteration over the mesh’s verticies, leaving the output tangents with their default values (all 0’s). Exporting a mesh with per-vertex tangents (basically a completely unsmoothed mesh) does indeed result in all 0 tangent values.
This is in ColladaMaya 0.89. The default-initialized MObject is on line 176 in CMeshExporter.cpp.
My Maya API chops are rusty enough that I’m not sure of a fix, but if I had to guess, I’d say:
MObject meshObject(materialMeshFn.object());
So, does this sound reasonable, or should I switch to decaf?