Skip to content

Commit 661a867

Browse files
Add interactionMode description to model
1 parent 4d212f9 commit 661a867

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

source/presentation/4.0/model.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,18 +1113,34 @@ The `value` property of the UnitValue _MUST_ be between 0.0 and 1.0.
11131113
### interactionMode
11141114
{: #interactionMode}
11151115

1116-
*within* the Scene, whereas viewingDirection and behavior are across containers.
1116+
A set of features that guide or limit user interaction with Cameras viewing 3D content within a Scene that the publisher of the content would prefer the client to use when presenting the resource. This specification defines the values in the table below. Others may be defined externally as an [extension][prezi30-ldce]. The client _SHOULD_ use `interactionMode` to determine the user experience features and approaches whereby users are permitted to change or adjust Camera perspectives when viewing content within a Scene (e.g., orbiting around the scene or locking the user to a first-person perspective).
11171117

1118-
* Containers _MAY_ have the `interactionMode`
1118+
When more than one interaction mode is present, the client _SHOULD_ pick the first interaction mode that the client is capable of supporting.
11191119

1120-
Table here with values
1120+
For interaction modes that involve a Camera orbiting around a target point, the target point _SHOULD_ be the same as the Camera's `lookAt` property.
11211121

1122+
The value _MUST_ be an array of strings.
1123+
1124+
* A Container (scene?) _MAY_ have the `interactionMode` property.<br/>
1125+
Clients _SHOULD_ process `interactionMode` on a Container.
1126+
* Other types of resource _MUST NOT_ have the `interactionMode` property.<br/>
1127+
Clients _SHOULD_ ignore `interactionMode` on other types of resource.
1128+
1129+
| Value | Description |
1130+
| ----- | ----------- |
1131+
| `locked` | Camera is locked. User interaction _MUST NOT_ modify Camera. |
1132+
| `orbit` | Camera orbits around a target point in response to user interaction. A client _MAY_ allow user interacton to truck, dolly, or zoom Camera. |
1133+
| `hemisphere-orbit` | Camera orbits around a target point in response to user interaction, but orbital freedom is limited to a hemisphere. A client _MAY_ allow Camera truck, dolly, or zoom. |
1134+
| `free` | Camera mimics a first-person perspective. User interaction pans or tilts Camera perspective, trucks Camera position, and/or dollies or zooms Camera. |
1135+
| `free-direction` | Camera mimics a first-person perspective, but Camera position is fixed. User interaction pans or tilts Camera perspective. |
1136+
{: .api-table #table-interaction}
11221137

1123-
locked
1124-
orbit
1125-
hemisphere-orbit
1126-
free
1127-
free-direction
1138+
?: Allow dolly/zoom in `locked` or `free-direction`?
1139+
1140+
{% include api/code_header.html %}
1141+
``` json-doc
1142+
{ "interactionMode": [ "hemisphere-orbit", "orbit" ] }
1143+
```
11281144

11291145
other examples: no-zoom, no-scrub, rti-mode
11301146
### items

0 commit comments

Comments
 (0)