Replies: 4 comments 5 replies
-
Hi @elbobo thanks for the thoughtful investigation and the inquiry. This project is not the authoritative source for Quicklook or Scene Viewer information. That said, I can try to offer some commentary about your investigation and its findings: Scene Viewer and Quicklook are different native "apps" made by different teams at different companies. To the extent that they share anything in common at all, it is a coincidence due to the fact that their designers arrived at the same common sense conclusion about what makes a good user experience when placing objects in AR via a handheld device. There is a ton of room for subjectivities here. One app may decide that the best way to place an object is based on the object's bounding box. Another app may decide to place objects based on their relative position in the model's root scene. Ultimately there is no canonical "spec" for how AR placement should work (perhaps we need one? 😅), so every app should be assumed to have come to its own conclusions about what makes for good UX. As far as animations are concerned, I would drop this into the same bucket as above. There are probably articulable reasons why any given app does something peculiar when animations are playing, but those reasons will be specific to that app. I'll CC @tpsiaki who may be able to comment on any peculiarities related to Scene Viewer. If you happen to have specific questions about |
Beta Was this translation helpful? Give feedback.
-
Hi @elbobo - you are correct regarding how the positioning of the models works in Scene Viewer. Most of the initial use cases for Scene Viewer involved placing an object in front of the user, starting with the animals in Google Search (some of which are quite large). This behavior was what we decided on to avoid the experience where the user starts with the model placed in a way that will intersect with their phone. I understand that for more immersive experiences this behavior might be undesirable, so if there are particular use cases where a different behavior would be helpful we'd love to hear about it. |
Beta Was this translation helpful? Give feedback.
-
This is also a bit different in WebXR mode. Here the model can be turned before it is placed (if you move your phone a bit), so instead of anchoring on the middle of the forward edge of the bounding box, it uses the point where the view vector to the bounding box center crosses over the floor projection of the bounding box, but it amounts to the same thing if the object is facing the camera. In addition, the hit test ray I use to place the object is not the one from the center of the screen, but one pointed 20 degrees downward, which helps both with hitting a detected plane quicker and with placing the object so that it is better centered onscreen. |
Beta Was this translation helpful? Give feedback.
-
I'd like to bump this issue up again @elalish . Especially with larger models the placement on Android WebXR is completely uncontrollable and leads to the desired scene just being placed very far away. Basically everyone has to (when they know how to) drag the model closer again after initially placing it; we're seeing a large amount of users on Android drop out at this point in contrast to iOS where the placement is where expected. Incidentally, I was just reminded by that from the 2.0 announcement video on Twitter which shows exactly that problem: https://twitter.com/modelviewer/status/1570064958909456385?t=vveUk9YjEcua2IKiw7RgZQ&s=19 Placement is much too far away and you're dragging the model closer again to the point where the pivot matches with the expected placement point. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
This is more of a query than a bug and I understand it relates to both
quick look
andscene-viewer
rather than model-viewer itself but am posting here in the hope that someone can enlighten me.I'm trying to understand how models are placed in space when in AR mode. It seems to me from testing that once the plane is detected, the model is placed directly on the plane at a point as though a straight line is drawn directly from the camera view to the plane.
Assuming that's correct, that makes sense. What is a little bit more baffling is that IOS and android seem to handle this slightly differently. IOS seems to place the model so that the origin point of the model matches the anchor point of the viewer. Android on the other hand, seems to match the front edge of the model's bounding box to the anchor point. Is that what others experience?
To clarify what I think is going on to myself (and to help get some advice) I've made a diagram.
The difference is not ideal but as long as its consistent that's fine. My final query is one that I can't find any logic to. Sometimes when models contain animation, they are elevated above the ground level even though they exist in the original file, at same height as a static version. This seems to happen more in IOS than android but as I say there is no consistency to it. You can see an example of what I mean by that here https://ninth-worried-mice.glitch.me/ you can see the cube is elevated into the air even though it is on the groun when in model-viewer (and in the original file).
If anyone could clarify any of the above for me it would be much appreciated.
Great work on the project
Testing on
Safari, iPhone XR, IOS 13.3
Chrome, firefox, Pixel 3, Android 9
Versions
Latest version of model viewer
Beta Was this translation helpful? Give feedback.
All reactions