Let's discuss USDZ Converter in details...

I found that there is still lacking of documentation of "USDZ Converter", so I might start some kind of thread talking about this. So far I found developer 'Ash' out there has been really helpful 😎 and we are still discovering USDZ feature, gotchas and limitations along the way. There is this USD Interest group at Google Groups that is more specifically talk about USD.


A bit of information about me:

I am an independent developer, mostly using Blender 3D and XCode only. I have not touched Unity or Unreal. I have old Maya and Houdini, but installing USD plugins seems like not trivial. I did manage to have some USD tools on my Mac, but it is not optimal since I do not have NVidia graphic cards. However, USDZ Converter and the intermediate USDA file generated is pretty helpful.


A couple of interesting things:

  • Make sure your 3D mesh has UV layout, without UV the PBR will simply display black on iOS devices, although it might shows okey on MacOS when using 3D or AR Quick Look.
  • USDZ makes PBR materials and shaders linking quite easy
  • When mesh is too complex or USDZ is too big, or animation has too many objects, USDZ will not display on iOS device. Might work ok on the MacOS. There is no warning about RAM exceeding iOS.
  • Watch out for Mapping, do not use 8K image texture for now.
  • Animation seems to be supported via Alembic export, works for Transform only. No vertex, no bones, no blendshapes yet.
  • USDZ can be easily imported into XCode for 3D SceneKit. I tested it using basic AR app.
  • There is this ModelIO inside XCode that can be used to unpack USDZ, it seems, but I have not gone that far.
  • Procedural animation can be embeded into USDZ, check USD example of Spinning Top animation. It's pretty cool for turntable.


I am currently investigating:

- Materials that is not PBR, but able to display color, is this possible? Because often time I just need Material with simple Color

- Can we have Lights inside USDZ?

Accepted Reply

The usdz Tools found at https://developer.apple.com/augmented-reality/quick-look/, currently support .obj and .gltf

Replies

Has anyone found a way to adjust the clipping plane range inside AR Quicklook? I am running into the clipping plane with the large objects that i am testing with. If anyone has any advise on this it would be appreciated. Thanks!

I am also wondering, if there is an option to disable either the 3D tab from the Quick Look View. I want the user to jump directly AR mode (scanning the environment) without previously inspecting the object in 3D.

Does anybody have previous experience with this?


Cheers,

Julian

Thanks for the info, this will come in handy once I get it up and running. I'm a 3D artist but so far I can't get usdzconvert to run at all.

In terminal I cd to the usdzconvert folder and then type "usdzconvert -h". I get:

"-bash: usdzconvert: command not found"


edit, now I get:

Error: failed to import pxr module. Please add path to USD Python bindings to your PYTHONPATH.

edit2:

ok changed the shell to zsh, whatever that is, now it seems to work. I think Apple should make this process A LOT easier. Also why is there no way to simply export to USDZ from, say, 3ds max?


So it works now. But when I try to convert my FBX model, it says that my file has an unsupported file extension. 😢 I think I'll leave USDZ alone for now until it's more usable. pity.


I mean if you can't export FBX, what other file format could you use that supports embedded textures, animations and materials?

Has anyone found more information about what causes the "Preview Universal Scene Description (Mobile)" error?


This is still hapening on newest iOS 12.3.1.


Can someone please help me with this? You can reach me at bruno@epigraph.us.


Thank you!

The usdz Tools found at https://developer.apple.com/augmented-reality/quick-look/, currently support .obj and .gltf

Hello


In WWDC 2019 Session 602 some slides say usdzconvert supports other formats like fbx, abc etc...


When willl we be able to see that version?


Also tried exporting a SCN file with animations from Xcode 11 Beta 2, but nohting happens. No exported file, no error, no logs...

Anyone got better success?


Thanks

It's available from https://developer.apple.com/arkit/gallery -- see the 'usdz Tools' link at the bottom of the page.

Are they supported on other platforms windows/linux?
I am running into some usdArkItchecker issues when trying to create a usdz on windows, however the USDZ gets created but the textures do not apply and it appears as a plain white mesh just like a USD

Hi Glitche123,

were you able to get usdzconvert to run on linux?


I am keep getting this error...

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "/home/***/Downloads/usdpython/usdpython/usdzconvert/usdUtils.py", line 12, in <module>

from pxr import *

File "/home/***/Downloads/usdpython/usdpython/USD/lib/python/pxr/Tf/__init__.py", line 85, in <module>

from . import _tf

ImportError: /home/***/Downloads/usdpython/usdpython/USD/lib/python/pxr/Tf/_tf.so: invalid ELF header



I've tried to run this on ubuntu 18.04.2 LTS, and a docker instance of ubuntu 14.04.6 LTS.


Edit:

I've tried it on Windows as well with the same error, how did you get it import so that asdARKitChecker runs?


Thanks!

Sorry for the late response.
What i did was

  1. Build USD on windows
  2. Set environment variables acordingly.
  3. Run usdz_convertor

Hey jackhhchan!
I got the same error, making a major mistake. The used USD Pipeline (https://github.com/PixarAnimationStudios/USD) is precompiled on MacOS. So you have to build USD on your Linux OS (or Windows...) first (see README.md on above GitHub Repo). Copy the created USDPython/lib and replace the USD/lib. After that you will be able to use usdzconvert on your OS.
Better late than never. :-)

Thanks for input. How's the current state of things? I am particularly interested in:
a) video texture support (supposedly RealityToolkit has it now).
b) image sequence support (see this thread: https://github.com/PixarAnimationStudios/USD/issues/750)
c) possibility to have vertex color (animated in time).

I am not bound to any toolkit, can be Reality Composer, Houdini, or plain text editing of .usd(a).

Best regards
Hi VForsmann!

Could you elaborate on how you managed to run usdzconvert on Linux? I've managed to build USD on Linux, but I'm a bit lost when it comes to what to do next. What files should I import from the usdz tools from Apple? What else is necessary?

Thank you in advance,
Adam

Hello everyone, has anyone found how to convert USDZ to any other format to open it in FUSION 360?

I made a scene in Reality Composer and want to export it to Fusion 360