immersive-web / model-element

Repository for the <model> tag. Feature leads: Marcos Cáceres and Laszlo Gombos
https://immersive-web.github.io/model-element/
Other
62 stars 11 forks source link

Dealing with format specific animations and Interaction #2

Open DRx3D opened 2 years ago

DRx3D commented 2 years ago

glTF is not a run-time format. It does not define what an application should do with a model once it is loaded and rendered. It does provide some capabilities that a run-time engine may use to enhance the user experience. glTF currently does not store any interactivity information. Currently that is solely a run-time determination. The run-time determines what parts (if any) of the model may be active and the behavior based on any trigger.

Like Interactivity, animation is not built-into glTF. glTF files may contain animation parameters that specify the type of animation (e.g., morph, skin & bones, etc.) and the associated parameters needed to perform the animation. There is nothing in the glTF specification that defines how one animation interacts with another. For example, a human model may include walk, jump, and drop animations; but it is unlikely that they should all be played at the same time.

Any HTML element that wishes to handle animation as stored in a glTF file needs to understand how the content creator intended the animation to play.

Yonet commented 2 years ago

/facetoface

marcoscaceres commented 2 years ago

We should probably split this into two (animation / interaction). I understand that the issues are interlinked (one can interact with parts of model to trigger an animation), but might be good consider the separately.

There is a question of just displaying a model in place. And then there is a question about enabling user interaction with that model (which might just be rotating t). And then then is matter of interaction targets as supplied by the the particular format (like USDZ does). We need to approach these separately.

There's a larger question about certain formats effectively working like a runtime, with their own interactive behaviors etc.

Still chewing on all this.