XSI Texture Coords revisited...


I am having lots of trouble getting XSI to do anything useful with Collada.

I’d have posted this on the XSI forum, but only mods can post there, despite the suggestion in the release postings that we can report bugs etc. there…


I have a textured model which appears to correctly display inside XSI (fully textured, etc). Upon exporting, I get a file which contains references to textures, a texcoord array, and an appropriate accessor. However the polygon elements do not contain any reference to a texcoord input or any indices - making it somewhat broken IMO.

I tried importing a simple texture cube to test with, but the Collada importer appears to have trouble with this and doesn’t load the texture. Exporting it anyway, I get a file with an empty common profile in the shader, and no sign of a texture anywhere. Given that it didn’t even import the blame is probably shared there…

I tried to compile the plug-in to debug it locally, but ran into a few issues with the code. Firstly the project has hard-coded paths to someone’s F: drive where a 3rd party library is apparently located. This dependency is not documented, but having googled around and downloaded the extra stuff, it appears to compile. I then had to dig around with a DLL dependency checker to work out that the version of the external lib required is in fact different as the one I have seems to need an extra DLL whereas the one presumably used in the released exporter is statically linked.

On finally debugging, it appears that CXSItoCollada::GetUsedTexCoord() is not finding a match between the UV input and any available mapping (I apologise if this is not the right terminology, I am not an XSI user let alone XSI developer or SDK expert.) - it then returns 0 for the number of used texcoords, even though there is clearly a texcoord array on the mesh and they are referenced by the polygons and material. At this point I am pretty stumped as to the cause. Either the existing scene has a hidden problem that doesn’t affect XSI but upsets the Collada exporter, or the Collada exporter is just plain broken.

I tried a few other Collada files and XSI seems to have some real trouble importing them. The cylinder man animation from the sample files, for example, loads with no texture and a mangled animated hierarchy.

This appears to be very similar the bug someone noticed way back in March, though there seemed to be no firm resolution to that other than a suggestion that the texture wasn’t being used. Mine most certainly is.