Hello friends.
TL/DR: It looks like Quads imported into TD with USD are automatically triangulated which re-orders the vertices and mangles Vertex Attributes (like tex coords). This is the case here in the Alpha and also in the main release. I’m reporting it here since it’s central to attribute based workflows, and I didn’t want to allude to issues also present in the Alpha on the main forum.
Background:
I’ve been trying to use custom attributes on geo to switch between multiple texture sources while also leveraging multiple UVs. While fbx allows you to pack multiple uv sets into geo and fairly easily switch between them at the render and material level, the need to be able to procedurally determine such things meant that I wound up building the attribute setups in Houdini and then pulling them in via USD and operating on the attributes using a GLSL MAT.
Initially I was working on the release branch because this is an actual project in production and there was a high likelihood that I’d need to hand my project off to someone else, but the lack of progress I was making finally led me to try a simplified version of the workflow out on the Alpha. The results seem identical, and I think the issue may be a bug in the USD importer.
Given this input geo (houdini):
I get this output in TD:
I spent a couple days yanking my hair out about it and eventually noticed this:
It looks to me like the quads are being triangulated. The new vertices created aren’t properly inheriting the texture coordinate data.
Using an attribute promote in houdini to migrate the UV into the points instead of the verts sort of fixes it, however, the assets being delivered to me already have a vertex texture applied, and since there are fewer points than vertices, the conversion introduces other errors that would be annoying to deal with.
Example is attached. If there are any crafty suggestions for a workaround, or (better yet) if I’m just #doingitwrong I’d be very happy to get put on the right track with it.
Example attached. Thank you
usd_import_issue.zip (8.7 KB)
edit:
for my workflow I was able to work around the issue by splitting the geo into separate faces so that each vertex could have it’s own point.