-
Notifications
You must be signed in to change notification settings - Fork 832
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AutoUSDZ broken in iOS 17.5 beta #4746
Comments
I think #4742 is related to this. |
That's fine, but it's still their bug. Activating WebXR on Chrome has exactly this same requirement - it's a good one. However, Chrome is smart enough to track that the simulated click originated from a user action. Safari needs to do the same. |
Weird, I was just replying to their bug and in the middle of it they removed my permission to access the bug?? |
Just thinking some more... Simulated clicks are still working fine in ModelViewer in iOS 17.5 when using a USDZ source file. It's only an issue when there's a USDZ blob. So it does seem more of a blob-handling bug rather than intentionally blocking simulated clicks, maybe. |
I can still see the ticket. And the latest comment is:
That's still a bit ambiguous though. So have asked for clarification. But could be good. 🤞 |
Also replied there. I didn’t have access rights at first but did after logging in again. The new behavior is super strange, for example the USDZ renderer in the browser is a different one than in AR (some models don’t even display in the Browser one). Plus it breaks in many different ways on visionOS…, and iFrames don't work at all. |
Also, as @hybridherbst points out, this totally breaks when opening from an iFrame. The prompt only displays the option to Download. There's no option to View. That's going to break a lot of embedded 3D viewers. See: |
FYI @AdaRoseCannon |
Thank you for bringing it to my attention please report it via Feedback Assistant so it gets tracked. Also if you like please send me the code so I can track it. |
Thanks @AdaRoseCannon - now reported via Feedback Assistant with some additional information and test cases (FB13734957) |
That's great! Thank you :) |
I made some more test cases and found some interesting observations. I stripped things back to a bare bones implementation. I removed ModelViewer from the equation and am using three.js USDZ Exporter directly. See here: Step 1. Pick a model. Some are GLB, simple and complex. Some are ThreeJS primitives. Step 2. View chosen model in ThreeJS. Step 3. USDZ blob is automatically generated (from three.js) and attached to USDZ anchor link on the page. Time taken to generate blob and the blob size is displayed underneath. Tapping this USDZ link works - all test models open in ARQL. Step 4. Update USDZ. This generates a new USDZ blob and attaches to the USDZ link. USDZ link still works - all models open in ARQL. Step 5. Simulate a click event on the USDZ link. Works fine for all models. Step 6. Generates a new blob, attaches to the USDZ Link, then simulates a click event. Some models work and open to ARQL. Some models fail. Step 7. Generates a new blob, dynamically creates an anchor tag, attaches the blob, simulates a click (replicating ModelViewer's approach). Some models work and open to ARQL. Some models fail. Step 8. View it in an iFrame and repeat all the steps above. For Steps 6 and 7, for models that fail, the prompt only shows an option to Download, not View. Observations:
Conclusions:
So it seems to be a combined factor of models with textures, generating USDZ blob, and simulating a click. Maybe...? |
Dang, @AdaRoseCannon I hope Apple appreciates all the gratis effort here to help fix their product! |
@AdaRoseCannon I had also reported this already as FB13722319 with a number of different cases that all break in slightly different ways, hope that helps |
Thank you @hybridherbst |
Still an issue with iOS 17.5 beta 3 |
Good news! This is now fixed in iOS 17.5 beta 4. Auto USDZ is once again working in ModelViewer. All of my tests from https://arquicklook-usdz-blob.glitch.me/ now pass for all model types and all methods of opening the generated USDZ. Thank you @AdaRoseCannon for helping escalate. |
Excellent work all, helping Apple to get this fixed! @AdaRoseCannon does Apple have any kind of public bug tracker where we can alert you to these issues and be notified when they're resolved? Or should model-viewer continue providing that service for you? |
Auto USDZ was fixed just in time for public release of iOS 17.5. Nice! Have just run all the test in iOS 18.0 beta, and everything still works. Closing issue. |
Discussed in #4741
@elalish - Following Apple's feedback, I'm elevating this Discussion to an Issue:
With the new iOS 17.5 beta release (21F5048f) opening AR from ModelViewer when using AutoUSDZ in Safari is broken.
When opening a USDZ blob, the user is presented with a prompt that asks:
With options to View or Download
Selecting Download, downloads the file to device storage.
Selecting View opens a new page, displays the USDZ thumbnail image with an AR icon at top right. The user must tap again on thumbnail to finally open the model in AR QuickLook.
Closing the AR QuickLook view returns the user to the USDZ thumbnail preview. From here the user must use the back button to get back to the originating HTML page.
Not a great user experience.
This seemed like a Safari/iOS issue. So I filed a bug here:
https://bugs.webkit.org/show_bug.cgi?id=272321
But now we have a response from Apple:
But I don't think the three.js USDZ Exporter is simulating a click event. I think that's from within ModelViewer here:
model-viewer/packages/model-viewer/src/features/ar.ts
Line 414 in 99b50ff
This will break a huge range of 3D/AR experiences across the internet, across many different 3D engines.
Curious what's driving this decision from Apple.
The text was updated successfully, but these errors were encountered: