google / model-viewer

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

Object requires a newer version of iOS #4772

Open ermincelikovic opened 6 months ago

ermincelikovic commented 6 months 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 6 months 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 6 months ago

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

AdaRoseCannon commented 6 months ago

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

elalish commented 6 months ago

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

mrdoob commented 6 months 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 6 months ago

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

elalish commented 6 months 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 6 months 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 6 months ago

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

AdaRoseCannon commented 6 months ago

Totally missed it, my bad!

mrdoob commented 6 months 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 6 months ago

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

ermincelikovic commented 6 months ago

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

ermincelikovic commented 2 months ago

I see that the issue is flagged as "not model-viewer". Shall I open the issue elsewhere? cc @AdaRoseCannon @mrdoob

elalish commented 2 months ago

Yes, I think we've been told to file Apple issues through their feedback assistant, though I personally find that kind of one-way communication irritating, so I'd also recommend filing it on their WebKit bug tracker where you might at least get an update.