Actions reference guide
Actions are operations that happen when all conditions in your proxy are met.
Face landmarks action (FaceLandmarksAction
)
Adds face landmarks as children gameobjects to the proxy for later anchoring content. More info can be found on the face landmarks section.
Target Relation | Description |
---|---|
Create all face landmarks | Creates children landmarks for every part of the face that can be tracked, such as the eyes, nose, earts, etc. Content that is a child of the landmark will be attached to that part of the face. |
Add landmark | Selectively adds face landmarks to the proxy |
Plane landmarks action (PlaneLandmarksAction
)
Adds plane landmarks as children gameobjects to the proxy for anchoring content. More info can be found in the Plane landmarks section.
Target Relation | Description |
---|---|
Show Debug Visuals | If enabled, the landmark will draw debugging gizmos in the scene when the gameobject is selected. |
Debug Color | The color to use when drawing debug gizmos for this landmark. |
Add Landmark... | Adds a landmark as a children gameobject to the proxy. Options: Centroid: Landmark is the calculated center of the plane's vertices, Bounding Rect: Landmark is the smallest rectangle that encapsulates the plane. This is a polygon landmark like the PlaneLandmarkAction itself, and it can create child landmarks from the bounding rectangle vertices. Provided Center: Landmark position is the center point that is associated with the plane by the data provider. Closest (point, edge, pose): Landmark is the closest point, edge or pose to another transform. The Pose type will orient forward towards the target, but always aligned to the surface of the plane. |
Build surface action (BuildSurfaceAction
)
Creates a surface over the tracked planes. This component requires a MeshFilter
or a MeshCollider
component to work.
If you want to make a collider for every detected plane, you can use a Proxy Replicator and on the child Proxy Object add the plane condition, the Build Surface action (you need to remove Set Pose first) and add a Mesh Collider. This will instantiate a proxy with a collider for each detected surface.
Target Relation | Description |
---|---|
Local Plane Offset | Offsets the created plane in local space. Offset in Y axis to clarify depth ordering |
Reset On Loss | When enabled, the object's pose and scale will be reset if the data for the proxy is lost. |
Body expression action (BodyExpressionAction
)
Matches a human body pose against saved BodyPoseData
poses. With this you can track if a person is seated, or raising hands or body pose you can do; for more information refer to the matching body poses section.
Target Relation | Description |
---|---|
Create Body Pose | When pressed, opens quickly the avatar editor inspector for creating body poses. For more info, refer to the Matching body poses section. |
Angle Tolerance | Refers to the maximum permitted bone angles between the current tracked human and the pose being compared against. 0 means the pose has to match exactly. A good matching value would be ~30 to 60 degrees. |
Scale To Match Height | Scales the body to match the actual height of the person. |
Trigger Events | Array of pairs of Body Poses (BodyPoseData ) and events you can trigger when the pose gets matched. |
Face action (FaceAction
)
Positions and animates a tracked AR Facemesh.
Target Relation | Description |
---|---|
Face Anchor Override | Set a transform here if you want to animate the face via the action but have it locked elsewhere, like you were putting a face on an AR statue or something. |
Face Mesh | This acts as an occluder for the face; This gets set/replaced by the animated face mesh from the active facetracking system (if available). |
Face expression action (FaceExpressionAction
)
Lets you create events when certain face movements happen.
Target Relation | Description |
---|---|
Add Event | Creates a new list of events that get triggered when a specific face movement happens. |
Available Face Events | |
---|---|
Left Eye Open | Left Eye Close |
Right Eye Open | Right Eye Close |
Left Eyebrow Raise | Left Eyebrow Lower |
Right Eyebrow Raise | Right Eyebrow Lower |
Both Eyebrows Raise | Both Eyebrows Lower |
Left Lip Corner Raise | Left Lip Corner Lower |
Right Lip Corner Raise | Right Lip Corner Lower |
Smile Engaged | Smile Disengaged |
Mout Close | Mouth Open |
Match body pose action (MatchBodyPoseAction
)
This component lets you make a mecanim humanoid avatar match movements a tracked person can do. It lets you attach assets to body landmarks (i.e a hat, a watch, a necktie) so they can be augmented and placed when tracking a person.
To understand better how the body tracking works; refer to the Body tracking section in the MARS docs.
Target Relation | Description |
---|---|
Body Rig | Transparent Default: Creates a default body rig as a child of this proxy, this body rig is useful when creating landarks in bodies, Custom Avatar: Lets you select a humanoid avatar to match to the tracked body. |
Animator | Reference to the Humanoid's Animator that you want to match body poses to the tracked person. |
Edit Bindings | Lets you edit the current assigned avatar pose that is references in the animator field. |
Scale To Match Height | Scales the humanoid avatar to match the actual height of the person. |
Reset On Tracking Loss | When enabled, the object pose and scale will be reset if the data for it is lost. |
Match action (MatchAction
)
This component lets you trigger your onw methods when this proxy's conditon is met.
Target Relation | Description |
---|---|
On Match Acquire | Event called when the conditions on the proxy are matched. |
On Match Update | Event called each frame while the conditions on the proxy are matched. |
On Match Loss | Event called when one or more conditions on the proxy are not met and the proxy match is loss. |
On Match Timeout | Event called when no query match has been found in time. |
Set aligned pose action (SetAlignedPoseAction
)
Syncs the gameobject's position with the real world object and aligns the long side to the X-Axis.
Target Relation | Description |
---|---|
Follow Match Updates | When enabled, movement of the matched data, such as surface resizing will be followed. |
Reset On Loss | When enabled, the object's pose and scale will be reset if the data for it is lost. |
Set pose action (SetPoseAction
)
Set the position of this game object to the position of the found real-world object.
Target Relation | Description |
---|---|
Follow Match Updates | When enabled, movement of the matched data, such as surface resizing will be followed.. |
AlignWith World Up | The axis that will be aligned to the world up direction. If set to None (default), the data's pose rotation will be used directly. If set to Y, the local Y axis will always be aligned with the world Up direction. If set to Z, the local Z axis will always be aligned with the world Up direction. |
Reset On Loss | When enabled, the object's pose and scale will be reset if the data for it is lost.. |
Show Objects on tracking action (ShowChildrenOnTrackingAction
)
Activates children if the parent Real World Object is tracked; disables children otherwise.
Show Objects in bounds action (ShowChildrenInBoundsAction
)
Disables any children outside of the real-world object's bounds.
Stretch to extents action (StretchToExtentsAction
)
Scales children to fit the bounds of their parent real world object.
Target Relation | Description |
---|---|
Planar Stretch | How content should be scaled to match the extents of an AR object. |
Vertical Stretch | How content should be scaled vertically to match the extents of an AR object. |
Base Scale | The default size of the proxy that will be used to scale down the effect from the bounds. |
Reset On Loss | When enabled, the object's pose and scale will be reset if the data for it is lost. |