USDZ UDIM Issue

Hello.

I am working on archiving USD files to USDZ.
In the process, I used the UsdUtils.CreateNewARKitUsdzPackage function.
However, this function does not support the texture rule.

If you look at [UsdUtils] Add UDIM support for dependencies/usdz and switch material… by lbiasco · Pull Request #2133 · PixarAnimationStudios/OpenUSD · GitHub, it seems to have been updated and applied, but is it not the content applied to the function?

How should I proceed if I want to use USDZ with UDIM?

Thanks

Specifically for ARKit use, udims aren’t supported anyway if you’re hoping to view them in QuickLook etc.

In a general sense though, I think there’s still a long standing issue where the dependency checker still doesn’t find udims so it would be a good issue to file on the repo

There were some bumps along the way with our big refactor, but for the last couple of releases, the core dependency analysis / packaging code in OpenUSD should support UDIMs.

@spiff
The version I’m currently using is 25.05, the version released on pypi. Should I wait for the next version?

@dhruvgovil This has been an issue in the repository for 2 years already, and it was merged and distributed, but it seems that the relevant part has not been modified. I will ask the repo again.

If it’s possible, it would be helpful if you could zip up a directory structure that illustrates the problem you are seeing. Udims should be packaged correctly in 25.05

@spiff
usdz_udim_bug_1.zip (7.1 MB)
usdz_udim_bug_2.zip (2.8 MB)

Hello
I’m sending you an error file. I split it into two because of the file size.
File description

  1. Composition the babyPig_model.lod0_geom & material.usd files and Flatten them.
  2. The result is babyPig3.usd.
  3. Then, run the UsdUtils.CreateNewARKitUsdzPackage(Sdf.AssetPath(“babyPig3.usd”), “babyPig3.usdz”) function on babyPig3.usd.
  4. In the AddFile function, it says that the textureName..jpg file cannot be found.

@spiff
I solved the problem.
After performing Export while Flatten was in progress, I tried to bind it to USDZ right away.
However, the memory was still recognized as the temp path of FlattenStage data, /var/tmp.
So I performed del flattenStage and bound it to USDZ, and it worked.

Thanks, @Daeseokchae - great to hear that!