google / model-viewer

Easily display interactive 3D models on the web and in AR!

Home Page:https://modelviewer.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Object requires a newer version of iOS

ermincelikovic opened this issue · comments

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

  • model-viewer: v3.5.0

Browser Affected

  • Chrome, version: xx.x.xxxx.xx
  • Edge
  • Firefox
  • IE
  • Safari

OS

  • Android
  • iOS
  • Linux
  • MacOS
  • Windows

AR

  • WebXR
  • SceneViewer
  • QuickLook

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)?

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

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

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

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.

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

@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).

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.

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

Totally missed it, my bad!

@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.

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

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