Model-viewer: Disable auto-rotate while user is interacting with the model

Created on 2 Apr 2019  路  10Comments  路  Source: google/model-viewer

Currently auto-rotate continues to spin the model's "turntable" even while the user is interacting with it. It seems likely that this is undesirable in most cases. Let's consider disabling auto-rotation while the user is interacting with the model.

customization interaction feature

Most helpful comment

I'm going to try to work on option 3 today.

All 10 comments

Would love this. What are people's thoughts on how it should resume animation? I see three possibilities:

1) Don't rotate anymore after it has been interacted with
2) Rotate as soon as the interaction is done (mouse up)
3) Wait a small delay of time after interaction is done before rotating again

I'm leaning towards 3 where it takes a second or two before easing back into its rotation.

I agree that option 3 (resume after a delay) is best. Generally IMO the auto-rotate capability is primarily used to indicate to the user that the element is a 3D model (not an image) and suggest that they can interact with it. Once the user interacts, we should assume that they have specific intent and want to look at the model from their prescribed angle... likely for some period of time longer than a second or two. In fact I'd suggest we only want to resume rotating the model when it's likely the user has finished interacting, may have moved on to something else, and the auto-rotation should resume only as a reminder that the model is still interactive. So - I agree with option 3 but suggest at least a 30-second delay before auto-rotation resumes.

I'd love to do some user testing around discoverability of 3D with auto-rotating. I'd like to know if it is effective in catching attention, but I'm more interested to find out if it is distracting at all. If you were on a wikipedia article and the image on the right was a big rotating 3D model, would that be annoying? Would it be distracting on an online store where the featured image is a spinning 3D model? hmm

What I would probably propose here is that we add a auto-rotate-delay attribute and then choose some reasonable default. That way we can bike shed about the default, with the knowledge that all delays (including no delay at all) are possible 馃槃

I'm going to try to work on option 3 today.

You'll find auto-rotate in the recently minted "Staging" feature. The attribute itself dates back to our prototyping days, so pardon our dust 馃檱

Oh, also relevant: there is a big change landing today related to controls, including a conversion of the "Controls" feature to TypeScript. You might want to take a peek at https://github.com/GoogleWebComponents/model-viewer/pull/452 if you find yourself diving through there.

@mikkoh FYI #452 has landed in master

It might take me a bit to get up and running. It's been awhile since I've looked at this code. But landing #452 will def makes a lot of sense.

This was fixed by #469

Was this page helpful?
0 / 5 - 0 ratings