google / model-viewer

Easily display interactive 3D models on the web and in AR!
https://modelviewer.dev
Apache License 2.0
6.68k stars 799 forks source link

Object requires a newer version of iOS #4772

Open ermincelikovic opened 1 month ago

ermincelikovic commented 1 month ago

Description

Hi Folks, first of all, thank you for this wonderful library!

However, I'm not sure what am I doing wrong since my AR on iOS does not seem to work - it returns the message: Object requires a newer version of iOS.

I assume that something might be wrong with my model: https://cdn.glitch.global/40b96037-9b1b-4d40-8f86-6c16abe963fc/model.glb?v=1715287619810

Once I try to run it in AR, I can find following warning in my console: THREE.USDZExporter: USDZ does not support double sided materials When I set double sided material to false, the AR still shows "Object requires a newer version of iOS".

To be clear, I’m on the latest version of iOS and i tried several others too.

Thanks in advance for any help!

Live Demo

https://smooth-abalone-molybdenum.glitch.me/

Version

Browser Affected

OS

AR

elalish commented 1 month ago

Considering it says you need a newer version of iOS, could you at least include your iOS version? :)

@AdaRoseCannon @mrdoob Maybe you two can work out some kind of testing regimen so that Apple's Quick Look isn't constantly making breaking changes to its USDZ reader (this file is produced by Three's USDZExporter)?

ermincelikovic commented 1 month ago

@elalish I apologize, of course. I'm on 17.5, but I tested it also on 17.3 and older.

AdaRoseCannon commented 1 month ago

Just to clarify, what version of THREE.js does this USDZExporter come from?

elalish commented 1 month ago

r163 - we're generally up to date at whatever the time of our release was.

mrdoob commented 1 month ago

From my side I have no other option than reverse engineer the iOS viewer by disabling things until it works again.

It would be greatly appreciated if iOS could offer a mechanism to know what the issue actually is.

AdaRoseCannon commented 1 month ago

Can you link the USDZ model generated so I can take a look?

elalish commented 1 month ago

@AdaRoseCannon do you have a tool to extract it from a QuickLook session? MV just generates it in memory and passes the blob across, so there isn't super easy file access without hacking MV a bit. You might consider setting up a Glitch with Three.js for converting glTF to USDZ so you can easily repro problems like this (they are very common with our users).

AdaRoseCannon commented 1 month ago

I’ll do that, if @ermincelikovic has the original gltf then that would also be fine and I will make a glitch to test it with.

elalish commented 1 month ago

I believe the original GLB is the first link in the description above.

AdaRoseCannon commented 1 month ago

Totally missed it, my bad!

mrdoob commented 1 month ago

@AdaRoseCannon do you have a tool to extract it from a QuickLook session? MV just generates it in memory and passes the blob across, so there isn't super easy file access without hacking MV a bit. You might consider setting up a Glitch with Three.js for converting glTF to USDZ so you can easily repro problems like this (they are very common with our users).

Or you can load the glb in https://threejs.org/editor/ and export to usdz from there too.

AdaRoseCannon commented 1 month ago

That is a really useful tip and will save a lot of time.

ermincelikovic commented 1 month ago

Thanks everyone for checking this out! If there is anything I can help with, let me know.