Skip to content

Commit f78e4f0

Browse files
author
Unity Technologies
committed
com.unity.xr.interaction.toolkit@2.3.0-pre.1
## [2.3.0-pre.1] - 2022-12-07 ### Added - Added new Affordance System. This introduces the XRI Affordance state provider, which connects to an XR Interactable to determine new affordance states, which then power Affordance Receivers to animate tweens using Affordance Theme scriptable Objects. This can be used for audio, ui, material and other kinds of animation tweens, reactive to interaction state changes, all powered by the Job System. - Added an option to **Edit** > **Project Settings** > **XR Interaction Toolkit** to automatically instantiate the prefab in the [XR Device Simulator](../manual/samples.md#xr-device-simulator) sample. - Added XR Interaction Group component, which allows only one member Interactor or Group within the Group to be interacting at a time. - Added the option **Disable Visuals When Blocked In Group** to XR Base Interactor, which controls whether to disable the Interactor's visuals when the Interactor is part of an Interaction Group and is unable to interact due to active interaction by another Interactor in the Group. This option is enabled by default. - Added an XR Interaction Group to each hand in the `XR Origin Preconfigured` prefab in the `Starter Assets` sample. Each Group prioritizes Direct interaction over Ray interaction. - Added a runtime UI for the XR Device Simulator. Users can now also move the player position around the physical play space using `WASD` and `Q`/`E` to simulate the user walking around. Reimport the XR Device Simulator sample to access this new functionality and UI. - Added ability to control the tracking state of the simulated devices in the XR Device Simulator Inspector window. - Added properties to XR Device Simulator to control the `[0.0, 1.0]` amount of the simulated grip and trigger inputs when those controls are activated. - Added lazy follow functionality for UI which can be enabled by adding the [LazyFollow](xref:UnityEngine.XR.Interaction.Toolkit.UI.LazyFollow) component to a GameObject. - Added [`IXRInteractionStrengthInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.IXRInteractionStrengthInteractor) and [`IXRInteractionStrengthInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.IXRInteractionStrengthInteractable) interfaces that are implemented by [`XRBaseInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor) and [`XRBaseInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable), respectively. These add additional properties and methods related to interaction strength, which conveys a variable (that is, analog) selection interaction strength between an interactor and interactable. This is typically based on a motion controller's grip or trigger amount, or based on a poke depth for those interactable objects that support being poked. - Added the [`IXRInteractionStrengthFilter`](xref:UnityEngine.XR.Interaction.Toolkit.Filtering.IXRInteractionStrengthFilter) interface. Instances of this interface can be added to Interactables to extend their interaction strength computation without needing to create a derived class. - Added `IsHovered` and `IsSelected` methods to [`XRBaseInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable) that works similarly to `IsHovering` and `IsSelecting` on [`XRBaseInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor) for querying whether a specific interactor is hovering or selecting that interactable. - Added [XRPokeInteractor](xref:UnityEngine.XR.Interaction.Toolkit.XRPokeInteractor) and [XRPokeFilter](xref:UnityEngine.XR.Interaction.Toolkit.Filtering.XRPokeFilter) classes that provide basic poking functionality for both hands and controllers. - Added XR Poke Follow Affordance component in the `Starter Assets` sample to control the smooth visual pressing of a Transform component (such as a button, for example) driven by the current select value of a poke interaction. - Added XR General Grab Transformer which supports moving and rotating unconstrained with one or two interactors, and scaling when using two interactors. - Added [`XRGazeInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.XRGazeInteractor), driven by either eye-gaze or head-gaze pose information. This allows a developer to use eye or head gaze to hover or select by dwelling on interactables. - Added [`XRInteractableSnapVolume`](xref:UnityEngine.XR.Interaction.Toolkit.XRInteractableSnapVolume) to allow snapping a ray interactor to a nearby target interactable. This can be combined with the `XRGazeInteractor` to achieve gaze-assisted hover and selection. - Added Gaze Configuration properties to [`XRBaseInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable) related to gaze interactions, automatic selection and deselection from hover, and gaze-assisted hover and selection. - Added a `drawOnNoHit` property to `XRInteractorReticleVisual` that forces the reticle to draw when no ray cast hits are detected. - Added a `snapEndpointIfAvailable` property to `XRInteractorLineVisual` to allow bending the visual ray towards a specified target point, such as guided by an `XRInteractableSnapVolume` for more user-friendly object selection. - Added `Eye Gaze Position` and `Eye Gaze Rotation` actions to the `XRI Default Input Actions` asset along with corresponding `XRI Default Gaze Controller` preset to the `Starter Assets` sample. - Added an Integer Fallback Composite binding for Input System input actions, which is useful for a tracking state action. This composite works similarly to the Vector 3 Fallback and Quaternion Fallback Composite bindings. - Added `GetCustomReticle` method to `XRBaseInteractable` to allow lookup of the custom reticle associated with a particular Interactor. - Added `Poke Interactor` to each hand in the `Complete XR Origin Set Up` prefab in `Starter Assets` ### Changed - Changed the default grab transformers from XR Single Grab Free Transformer and XR Dual Grab Free Transformer to XR General Grab Transformer. This new grab transformer does not respond to the pose of the Attach Transform of the XR Grab Interactable changing while grabbed. If you need to modify the pose after being grabbed, you will need to add a different grab transformer from the **Component** > **XR** > **Transformers** menu. - Changed **GameObject** > **XR** > **Grab Interactable** to add the XR General Grab Transformer component by default. - Changed XR Grab Interactable to re-initialize the dynamic attach pose when changing from multiple grabs back to a single grab by default. Disable **Reinitialize Every Single Grab** (`reinitializeDynamicAttachEverySingleGrab`) for previous behavior. - Changed `XRDeviceSimulator` to destroy itself if another instance already exists at runtime. - Changed XR Device Simulator to initialize the simulated controllers to position them in front of the HMD instead of at (0, 0, 0). - Changed XR Device Simulator to start manipulating the HMD and controllers as if the whole player was turning their torso, similar to a typical FPS style configuration, to simplify its use. Press `Tab` to cycle between manipulating all devices in this mode, the left controller individually, and the right controller individually. - Changed **GameObject** > **XR** > **XR Origin (VR)** to set the Tracking State Input property on the Tracked Pose Driver of the Main Camera on versions of Input System that support it. - Changed `XRSimulatedController` and `XRSimulatedHMD` to report support for updating during the before render phase. - Changed `DefaultExecutionOrder` of the `XRInteractionManager` from `-100` to `-105`. - Changed `InteractorRegisteredEventArgs` by adding a `containingGroupObject` property of type `IXRInteractionGroup` which is set when the Interactor is contained in an Interaction Group. - Changed `XRBaseInteractable` initialization logic of the `IXRInteractable.colliders` list to exclude trigger colliders when no colliders are set in the Inspector window. - Changed `XRInteractableUtility.TryGetClosestCollider` and `XRInteractableUtility.TryGetClosestPointOnCollider` to ignore trigger colliders. - Changed the default value of Select Action Trigger (`XRBaseControllerInteractor.selectActionTrigger`) on interactors from State to State Change. - Changed `com.unity.inputsystem` dependency to 1.4.4. - Changed `com.unity.xr.core-utils` dependency to 2.2.0-pre.2. - Changed `com.unity.xr.legacyinputhelpers` dependency to 2.1.10. ### Fixed - Fixed Tracked Device Graphic Raycaster to use the correct ray cast method when Check for 2D Occlusion is enabled, and changed it to use the local [PhysicsScene2D](https://docs.unity3d.com/ScriptReference/PhysicsScene2D.html). - Fixed issue with `RegistrationList` and `SmallRegistrationList` where unregistering and then registering an item that already exists in the registered snapshot would result in the item being counted twice due to being added to the buffered add list. - Fixed issue with `RegistrationList` and `SmallRegistrationList` where unregistering an item that was not yet flushed to the registered snapshot would result in the list returning an incorrect `flushedCount` due to being incorrectly added to the buffered remove list instead of just removing from the buffered add list. - Fixed issue with `RegistrationList` not reporting the registration status of items added via `MoveItemImmediately`. - Fixed Grab Transformers (that derive from `XRBaseGrabTransformer`) to skip automatic registration specified by `registrationMode` when it has already been added to the `XRGrabInteractable`. It previously only checked the Starting Single/Multiple Grab Transformers lists. - Fixed expansion state of Select Filters in the Inspector window reusing the Hover Filters state in some cases. - Fixed `XRRayInteractor` null reference exception that causes editor spam when sample points are deleted upon hot-reload. - Fixed incorrectly false return values for `AddCustomReticle` and `RemoveCustomReticle` on the `XRInteractorLineVisual` class.
1 parent 8c775cd commit f78e4f0

File tree

430 files changed

+36807
-2580
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

430 files changed

+36807
-2580
lines changed

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,62 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

77
<!-- Headers should be listed in this order: Added, Changed, Deprecated, Removed, Fixed, Security -->
8+
## [2.3.0-pre.1] - 2022-12-07
9+
10+
### Added
11+
- Added new Affordance System. This introduces the XRI Affordance state provider, which connects to an XR Interactable to determine new affordance states, which then power Affordance Receivers to animate tweens using Affordance Theme scriptable Objects. This can be used for audio, ui, material and other kinds of animation tweens, reactive to interaction state changes, all powered by the Job System.
12+
- Added an option to **Edit** &gt; **Project Settings** &gt; **XR Interaction Toolkit** to automatically instantiate the prefab in the [XR Device Simulator](../manual/samples.md#xr-device-simulator) sample.
13+
- Added XR Interaction Group component, which allows only one member Interactor or Group within the Group to be interacting at a time.
14+
- Added the option **Disable Visuals When Blocked In Group** to XR Base Interactor, which controls whether to disable the Interactor's visuals when the Interactor is part of an Interaction Group and is unable to interact due to active interaction by another Interactor in the Group. This option is enabled by default.
15+
- Added an XR Interaction Group to each hand in the `XR Origin Preconfigured` prefab in the `Starter Assets` sample. Each Group prioritizes Direct interaction over Ray interaction.
16+
- Added a runtime UI for the XR Device Simulator. Users can now also move the player position around the physical play space using `WASD` and `Q`/`E` to simulate the user walking around. Reimport the XR Device Simulator sample to access this new functionality and UI.
17+
- Added ability to control the tracking state of the simulated devices in the XR Device Simulator Inspector window.
18+
- Added properties to XR Device Simulator to control the `[0.0, 1.0]` amount of the simulated grip and trigger inputs when those controls are activated.
19+
- Added lazy follow functionality for UI which can be enabled by adding the [LazyFollow](xref:UnityEngine.XR.Interaction.Toolkit.UI.LazyFollow) component to a GameObject.
20+
- Added [`IXRInteractionStrengthInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.IXRInteractionStrengthInteractor) and [`IXRInteractionStrengthInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.IXRInteractionStrengthInteractable) interfaces that are implemented by [`XRBaseInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor) and [`XRBaseInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable), respectively. These add additional properties and methods related to interaction strength, which conveys a variable (that is, analog) selection interaction strength between an interactor and interactable. This is typically based on a motion controller's grip or trigger amount, or based on a poke depth for those interactable objects that support being poked.
21+
- Added the [`IXRInteractionStrengthFilter`](xref:UnityEngine.XR.Interaction.Toolkit.Filtering.IXRInteractionStrengthFilter) interface. Instances of this interface can be added to Interactables to extend their interaction strength computation without needing to create a derived class.
22+
- Added `IsHovered` and `IsSelected` methods to [`XRBaseInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable) that works similarly to `IsHovering` and `IsSelecting` on [`XRBaseInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractor) for querying whether a specific interactor is hovering or selecting that interactable.
23+
- Added [XRPokeInteractor](xref:UnityEngine.XR.Interaction.Toolkit.XRPokeInteractor) and [XRPokeFilter](xref:UnityEngine.XR.Interaction.Toolkit.Filtering.XRPokeFilter) classes that provide basic poking functionality for both hands and controllers.
24+
- Added XR Poke Follow Affordance component in the `Starter Assets` sample to control the smooth visual pressing of a Transform component (such as a button, for example) driven by the current select value of a poke interaction.
25+
- Added XR General Grab Transformer which supports moving and rotating unconstrained with one or two interactors, and scaling when using two interactors.
26+
- Added [`XRGazeInteractor`](xref:UnityEngine.XR.Interaction.Toolkit.XRGazeInteractor), driven by either eye-gaze or head-gaze pose information. This allows a developer to use eye or head gaze to hover or select by dwelling on interactables.
27+
- Added [`XRInteractableSnapVolume`](xref:UnityEngine.XR.Interaction.Toolkit.XRInteractableSnapVolume) to allow snapping a ray interactor to a nearby target interactable. This can be combined with the `XRGazeInteractor` to achieve gaze-assisted hover and selection.
28+
- Added Gaze Configuration properties to [`XRBaseInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.XRBaseInteractable) related to gaze interactions, automatic selection and deselection from hover, and gaze-assisted hover and selection.
29+
- Added a `drawOnNoHit` property to `XRInteractorReticleVisual` that forces the reticle to draw when no ray cast hits are detected.
30+
- Added a `snapEndpointIfAvailable` property to `XRInteractorLineVisual` to allow bending the visual ray towards a specified target point, such as guided by an `XRInteractableSnapVolume` for more user-friendly object selection.
31+
- Added `Eye Gaze Position` and `Eye Gaze Rotation` actions to the `XRI Default Input Actions` asset along with corresponding `XRI Default Gaze Controller` preset to the `Starter Assets` sample.
32+
- Added an Integer Fallback Composite binding for Input System input actions, which is useful for a tracking state action. This composite works similarly to the Vector 3 Fallback and Quaternion Fallback Composite bindings.
33+
- Added `GetCustomReticle` method to `XRBaseInteractable` to allow lookup of the custom reticle associated with a particular Interactor.
34+
- Added `Poke Interactor` to each hand in the `Complete XR Origin Set Up` prefab in `Starter Assets`
35+
36+
### Changed
37+
- Changed the default grab transformers from XR Single Grab Free Transformer and XR Dual Grab Free Transformer to XR General Grab Transformer. This new grab transformer does not respond to the pose of the Attach Transform of the XR Grab Interactable changing while grabbed. If you need to modify the pose after being grabbed, you will need to add a different grab transformer from the **Component** &gt; **XR** &gt; **Transformers** menu.
38+
- Changed **GameObject** &gt; **XR** &gt; **Grab Interactable** to add the XR General Grab Transformer component by default.
39+
- Changed XR Grab Interactable to re-initialize the dynamic attach pose when changing from multiple grabs back to a single grab by default. Disable **Reinitialize Every Single Grab** (`reinitializeDynamicAttachEverySingleGrab`) for previous behavior.
40+
- Changed `XRDeviceSimulator` to destroy itself if another instance already exists at runtime.
41+
- Changed XR Device Simulator to initialize the simulated controllers to position them in front of the HMD instead of at (0, 0, 0).
42+
- Changed XR Device Simulator to start manipulating the HMD and controllers as if the whole player was turning their torso, similar to a typical FPS style configuration, to simplify its use. Press `Tab` to cycle between manipulating all devices in this mode, the left controller individually, and the right controller individually.
43+
- Changed **GameObject** &gt; **XR** &gt; **XR Origin (VR)** to set the Tracking State Input property on the Tracked Pose Driver of the Main Camera on versions of Input System that support it.
44+
- Changed `XRSimulatedController` and `XRSimulatedHMD` to report support for updating during the before render phase.
45+
- Changed `DefaultExecutionOrder` of the `XRInteractionManager` from `-100` to `-105`.
46+
- Changed `InteractorRegisteredEventArgs` by adding a `containingGroupObject` property of type `IXRInteractionGroup` which is set when the Interactor is contained in an Interaction Group.
47+
- Changed `XRBaseInteractable` initialization logic of the `IXRInteractable.colliders` list to exclude trigger colliders when no colliders are set in the Inspector window.
48+
- Changed `XRInteractableUtility.TryGetClosestCollider` and `XRInteractableUtility.TryGetClosestPointOnCollider` to ignore trigger colliders.
49+
- Changed the default value of Select Action Trigger (`XRBaseControllerInteractor.selectActionTrigger`) on interactors from State to State Change.
50+
- Changed `com.unity.inputsystem` dependency to 1.4.4.
51+
- Changed `com.unity.xr.core-utils` dependency to 2.2.0-pre.2.
52+
- Changed `com.unity.xr.legacyinputhelpers` dependency to 2.1.10.
53+
54+
### Fixed
55+
- Fixed Tracked Device Graphic Raycaster to use the correct ray cast method when Check for 2D Occlusion is enabled, and changed it to use the local [PhysicsScene2D](https://docs.unity3d.com/ScriptReference/PhysicsScene2D.html).
56+
- Fixed issue with `RegistrationList` and `SmallRegistrationList` where unregistering and then registering an item that already exists in the registered snapshot would result in the item being counted twice due to being added to the buffered add list.
57+
- Fixed issue with `RegistrationList` and `SmallRegistrationList` where unregistering an item that was not yet flushed to the registered snapshot would result in the list returning an incorrect `flushedCount` due to being incorrectly added to the buffered remove list instead of just removing from the buffered add list.
58+
- Fixed issue with `RegistrationList` not reporting the registration status of items added via `MoveItemImmediately`.
59+
- Fixed Grab Transformers (that derive from `XRBaseGrabTransformer`) to skip automatic registration specified by `registrationMode` when it has already been added to the `XRGrabInteractable`. It previously only checked the Starting Single/Multiple Grab Transformers lists.
60+
- Fixed expansion state of Select Filters in the Inspector window reusing the Hover Filters state in some cases.
61+
- Fixed `XRRayInteractor` null reference exception that causes editor spam when sample points are deleted upon hot-reload.
62+
- Fixed incorrectly false return values for `AddCustomReticle` and `RemoveCustomReticle` on the `XRInteractorLineVisual` class.
63+
864
## [2.2.0] - 2022-09-30
965

1066
### Added

Documentation~/TableOfContents.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
* [XR Interaction Toolkit](index.md)
22
* What's new
3+
* [2.3.0](whats-new-2.3.0.md)
34
* [2.2.0](whats-new-2.2.0.md)
45
* [2.1.0](whats-new-2.1.0.md)
56
* Guides
@@ -11,6 +12,8 @@
1112
* [Interaction layers](interaction-layers.md)
1213
* [Target filters](target-filters.md)
1314
* [AR interaction](ar-interaction.md)
15+
* [Affordance system](affordance-system.md)
16+
* [XR Device Simulator overview](xr-device-simulator-overview.md)
1417
* [Debugger window](debugger-window.md)
1518
* Reference
1619
* [Glossary](glossary.md)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Affordance system
2+
3+
The XR Interaction Toolkit package provides an affordance system which enables users to create visual and auditory responses to [interaction states](architecture.md#states).
4+
5+
The [XR Interactable Affordance State Provider](xr-interactable-affordance-state-provider.md) connects to an interactable component to determine new affordance states, which then power affordance receivers to animate tweens using affordance themes.
6+
7+
## Affordance receivers
8+
9+
Affordance receivers are components that animate tweens using a referenced theme, which can be a ScriptableObject so that it can be reused across multiple interactable components.
10+
11+
There are various affordance receiver components for different primitive data types, such as `Color` or `Vector3`.
12+
13+
The theme contains a list of affordance states and the values that should be blended during interactions. The Audio Affordance Theme contains Audio Clip references for when the state is either entered (**State Entered**) or exited (**State Exited**), and Unity will play them using `AudioSource.PlayOneShot`. The other Affordance Theme types (Color, Float, Vector2, Vector3, and Vector4) contains that typed value that is interpolated between two values: the start value (**Animation State Start Value**) and the target value (**Animation State End Value**).
14+
15+
The theme assets are created by using the **Assets** &gt; **Create** &gt; **Affordance Theme** menu.

Documentation~/ar-annotation-interactable.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Controls displaying one or more annotations when hovering over the `GameObject`
55
![ARAnnotationInteractable component](images/ar-annotation-interactable.png)
66

77
| **Property** | **Description** |
8-
|--|--|
8+
|---|---|
99
| **Interaction Manager** | The [XRInteractionManager](xr-interaction-manager.md) that this Interactable will communicate with (will find one if **None**). |
1010
| **Interaction Layer Mask** | Allows interaction with Interactors whose [Interaction Layer Mask](interaction-layers.md) overlaps with any Layer in this Interaction Layer Mask. |
1111
| **Colliders** | Colliders to use for interaction with this Interactable (if empty, will use any child Colliders). |
@@ -16,4 +16,4 @@ Controls displaying one or more annotations when hovering over the `GameObject`
1616
| **XR Origin** | The `XROrigin` that this Interactable will use (such as to get the `Camera` or to transform from Session space). Will find one if **None**. |
1717
| **AR Session Origin** | This is deprecated. Use the above **XR Origin** instead. |
1818
| **Annotations** | The list of annotations, which appear when the user hovers over the `GameObject` that this component is attached to. |
19-
| **Interactable Events** | See the [Interactable Events](interactable-events.md) page. |
19+
| **Interactable Events** | See the [Interactable Events](interactable-events.md) page. |

Documentation~/ar-gesture-interactor.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ To make use of this, add an `ARGestureInteractor` to your scene and an `ARBaseGe
77
![ARGestureInteractor component](images/ar-gesture-interactor.png)
88

99
| **Property** | **Description** |
10-
|--|--|
10+
|---|---|
1111
| **Interaction Manager** | The [XRInteractionManager](xr-interaction-manager.md) that this Interactor will communicate with (will find one if **None**). |
1212
| **Interaction Layer Mask** | Allows interaction with Interactables whose [Interaction Layer Mask](interaction-layers.md) overlaps with any Layer in this Interaction Layer Mask. |
1313
| **Attach Transform** | The `Transform` that is used as the attach point for Interactables.<br />Automatically instantiated and set in `Awake` if **None**.<br />Setting this will not automatically destroy the previous object. |
14+
| **Disable Visuals When Blocked In Group** | Whether to disable visuals when this Interactor is part of an [Interaction Group](xr-interaction-group.md) and is incapable of interacting due to active interaction by another Interactor in the Group. |
1415
| **Starting Selected Interactable** | The Interactable that this Interactor automatically selects at startup (optional, may be **None**). |
1516
| **Keep Selected Target Valid** | Whether to keep selecting an Interactable after initially selecting it even when it is no longer a valid target.<br />Enable to make the `XRInteractionManager` retain the selection even if the Interactable is not contained within the list of valid targets.<br />Disable to make the Interaction Manager clear the selection if it isn't within the list of valid targets. A common use for disabling this is for XR Ray Interactors used for teleportation to make the teleportation Interactable no longer selected when not currently pointing at it. |
1617
| **XR Origin** | The `XROrigin` that this Interactor will use (such as to get the `Camera` or to transform from Session space). Will find one if **None**. |
1718
| **AR Session Origin** | This is deprecated. Use the above **XR Origin** instead. |
18-
| **Interactor Events** | See the [Interactor Events](interactor-events.md) page. |
19+
| **Interactor Events** | See the [Interactor Events](interactor-events.md) page. |

Documentation~/ar-interaction.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ AR interaction is mostly driven by an AR Gesture Interactor component that trans
1010
The XR Interaction Toolkit package comes with a number of pre-defined gestures and gesture interactables, but you can always extend this package by defining your own gestures.
1111

1212
| Gesture | Triggered by input | Maps to interactable |
13-
|-|-|-|
13+
|---|---|---|
1414
| **Tap** | User touches the screen | [AR Placement Interactable](ar-placement-interactable.md), [AR Selection Interactable](ar-selection-interactable.md) |
1515
| **Drag** | User drags finger across screen | [AR Translation Interactable](ar-translation-interactable.md) |
1616
| **Pinch** | User moves two fingers together or apart in a straight line | [AR Scale Interactable](ar-scale-interactable.md) |
@@ -25,4 +25,4 @@ The [AR Placement Interactable](ar-placement-interactable.md) component facilita
2525

2626
## AR annotations
2727

28-
Use the [AR Annotation Interactable](ar-annotation-interactable.md) to place annotations alongside virtual objects in an AR scene. These annotations are visualization GameObjects that the application can show or hide when they satisfy a set of constraints. Each annotation has a minimum and maximum range from the Camera at which it displays, as well as a maximum Field of View (FOV) center offset from the Camera to hide or minimize annotations that are not centered in the user's view.
28+
Use the [AR Annotation Interactable](ar-annotation-interactable.md) to place annotations alongside virtual objects in an AR scene. These annotations are visualization GameObjects that the application can show or hide when they satisfy a set of constraints. Each annotation has a minimum and maximum range from the Camera at which it displays, as well as a maximum Field of View (FOV) center offset from the Camera to hide or minimize annotations that are not centered in the user's view.

Documentation~/ar-placement-interactable.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Controls the placement of Prefabs via a tap gesture.
55
![ARPlacementInteractable component](images/ar-placement-interactable.png)
66

77
| **Property** | **Description** |
8-
|--|--|
8+
|---|---|
99
| **Interaction Manager** | The [XRInteractionManager](xr-interaction-manager.md) that this Interactable will communicate with (will find one if **None**). |
1010
| **Interaction Layer Mask** | Allows interaction with Interactors whose [Interaction Layer Mask](interaction-layers.md) overlaps with any Layer in this Interaction Layer Mask. |
1111
| **Colliders** | Colliders to use for interaction with this Interactable (if empty, will use any child Colliders). |
@@ -17,4 +17,4 @@ Controls the placement of Prefabs via a tap gesture.
1717
| **AR Session Origin** | This is deprecated. Use the above **XR Origin** instead. |
1818
| **Placement Prefab** | A `GameObject` to place when a ray cast from a user touch hits a plane. |
1919
| **Fallback Layer Mask** | The `LayerMask` that Unity uses during an additional ray cast when a user touch does not hit any AR trackable planes. |
20-
| **Interactable Events** | See the [Interactable Events](interactable-events.md) page. |
20+
| **Interactable Events** | See the [Interactable Events](interactable-events.md) page. |

0 commit comments

Comments
 (0)