Hacker News new | ask | show | jobs
by wildpeaks 1054 days ago
I look forward to USD & USDZ being supported more consistently. The same file can look quite different even within the Apple ecosystem, as these screenshots from a few monthes ago show: https://twitter.com/mrdoob/status/1654494500230778887
3 comments

The issue actually turned out to be three.js itself in that case, so the poster himself was at fault. The way it writes out materials and texture coordinates was wrong because it doesn’t use the USD API.

Different apps had different tolerances for correctness leading to that mishmash.

That’s not to say USD support can’t be improved, but that post is actually a bad example.

Are you sure?

Apple's USDZ viewer didn't support true independent second UV channels and multiple texture transforms per material, rather it makes a bunch of assumptions that are much more restrictive than the USD format.

That is why that example is messed up I understand.

For example these caveats which screw things up tremendously:

https://developer.apple.com/documentation/realitykit/validat...

"RealityKit supports a single UV Set in iOS 15 and macOS 12. In iOS 16 and macOS 13, it supports two."

"RealityKit supports only a single packed texture per material. You can, however, reference multiple scalar channels within a single texture."

"RealityKit supports USD texture scaling except for normal map textures."

"RealityKit supports a single UsdTransform2d per material. If a material contains multiple UsdTransform2D instances, the renderer will use the first one it finds."

I can't tell you how much I'm looking forward to seeing assets distributed in USDZ format. Specifically: nuts.
Something is broken with your texcoords. The whole texture atlas is misaligned.
The issue is that Apple doesn't support multiple texture transforms per material, rather it only supports one.