Component:AvatarAnchor: Difference between revisions

From Resonite Wiki
add info
 
(One intermediate revision by the same user not shown)
Line 25: Line 25:
|RestoreNode|UserNode|The part of the user's avatar that the transforms should be changed to <code>_originalPosition</code>, <code>_originalRotation</code>, and <code>_originalScale</code> when the user exits the anchor. Which space the transforms refer to (aka what it would be parented to) depends on what <code>TransformRestoreMode</code> is set to.
|RestoreNode|UserNode|The part of the user's avatar that the transforms should be changed to <code>_originalPosition</code>, <code>_originalRotation</code>, and <code>_originalScale</code> when the user exits the anchor. Which space the transforms refer to (aka what it would be parented to) depends on what <code>TransformRestoreMode</code> is set to.
|RestoreReference|Slot|This will be used from when <code>TransformRestoreMode</code> is set to "Reference". The specified <code>RestoreNode</code>'s transform will be set to this slot's space using <code>_originalPosition</code>, <code>_originalRotation</code>, and <code>_originalScale</code>.
|RestoreReference|Slot|This will be used from when <code>TransformRestoreMode</code> is set to "Reference". The specified <code>RestoreNode</code>'s transform will be set to this slot's space using <code>_originalPosition</code>, <code>_originalRotation</code>, and <code>_originalScale</code>.
|Filters|{{RootFieldType|SyncList`1|[[#BodyNodeFilters|BodyNodeFilters]]}}|TypeAdv14=true|A list of pose filters to use. Each one can control the position of a specific body node
|Filters|{{RootFieldType|SyncList`1|[[#BodyNodeFilters|BodyNodeFilters]]}}|TypeAdv14=true|A list of pose filters to use. Each one can control the position, rotation, and/or speed of a specific body node
|UserFilters|{{RootFieldType|SyncRefList`1|[[Type:IAvatarAnchorUserFilter|IAvatarAnchorUserFilter]]}}|TypeAdv15=true|Nothing currently implements [[Type:IAvatarAnchorUserFilter|IAvatarAnchorUserFilter]] so this currently does nothing.
|UserFilters|{{RootFieldType|SyncRefList`1|[[Type:IAvatarAnchorUserFilter|IAvatarAnchorUserFilter]]}}|TypeAdv15=true|Nothing currently implements [[Type:IAvatarAnchorUserFilter|IAvatarAnchorUserFilter]] so this currently does nothing.
|UserAnchored|{{RootFieldType|SyncDelegate`1|[[Type:AvatarAnchorUserEvent|AvatarAnchorUserEvent]]}}|TypeAdv16=true|Internal
|UserAnchored|{{RootFieldType|SyncDelegate`1|[[Type:AvatarAnchorUserEvent|AvatarAnchorUserEvent]]}}|TypeAdv16=true|Internal
Line 36: Line 36:
|_dummyObjectSlots|{{RootFieldType|SyncRefList`1|[[Component:AvatarObjectSlot|AvatarObjectSlot]]}}|TypeAdv23=true|Internal
|_dummyObjectSlots|{{RootFieldType|SyncRefList`1|[[Component:AvatarObjectSlot|AvatarObjectSlot]]}}|TypeAdv23=true|Internal
}}
}}
== BodyNodeFilters ==
{{Stub}}


<!--T:4-->
<!--T:4-->
== Behavior ==
== Behavior ==
By itself, an AvatarAnchor does nothing. It requires either an [[AvatarAnchorTouchTrigger (Component)|AvatarAnchorTouchTrigger]] component or a [[ProtoFlux:Anchor User|Anchor User]] [[ProtoFlux]] node to place an avatar into it.
By itself, an AvatarAnchor does nothing. It requires either an [[AvatarAnchorTouchTrigger (Component)|AvatarAnchorTouchTrigger]] component or a [[ProtoFlux:Anchor User|Anchor User]] [[ProtoFlux]] node to place an avatar into it.

Latest revision as of 16:20, 14 October 2024

Component image 
AvatarAnchor component as seen in the Scene Inspector


An anchor allows for an avatar to be attached to a slot. This component can also allow for pinning of a user's limb(s) for posing, and is most commonly used as a seat.

Usage

Fields
Name Type Description
persistent Bool Determines whether or not this item will be saved to the server.
UpdateOrder Int Controls the order in which this component is updated.
Enabled Bool Controls whether or not this component is enabled.
Highlight Bool Whether a user is pointing at this anchor and it is possible for them to activate the enter dialogue by pressing Primary at this moment.
ParentSpace direct RootSpace The coordinate space in which to work with the avatar.
MinScale Float If an avatar has a scale below the MinScale, it will be scaled up to that size.
MaxScale Float If an avatar has a scale above the MaxScale, it will be scaled down to that size.
PositionNode UserNode Which part of the avatar to use to position the avatar.
PositionReference Slot Where to position the avatar to.
RotationNode UserNode Which part of the avatar to use to rotate the avatar.
RotationReference Slot Where to rotate the avatar to.
PreserveUpOnEnter Bool Whether to keep the user's root slot's up direction pointing the same direction it was in global space before entering, or to align them to the up of the slot of the anchor. This is disabled when RotationNode and RotationReference are set to not none.
PreserveUpOnExit Bool Whether to keep the user's root slot's up direction pointing the same direction it was in global space before exiting, or to align them to the up of the slot they get parented back under. This is disabled when TransformRestoreMode and RestoreNode are set to not none.
UnparentEverythingOnDestroy Bool Unparent all slots under ParentSpace's Space slot and parent them under the parent of the nearest ObjectRoot (doesn't need an explicit ObjectRoot component). If ParentSpace's Space slot is null, or the ObjectRoot parent is null, then all children are deleted anyway.
TransformRestoreMode RestoreMode What slot or space to use when setting the user's transforms to what they were before they entered the anchor.
RestoreNode UserNode The part of the user's avatar that the transforms should be changed to _originalPosition, _originalRotation, and _originalScale when the user exits the anchor. Which space the transforms refer to (aka what it would be parented to) depends on what TransformRestoreMode is set to.
RestoreReference Slot This will be used from when TransformRestoreMode is set to "Reference". The specified RestoreNode's transform will be set to this slot's space using _originalPosition, _originalRotation, and _originalScale.
Filters list of BodyNodeFilters A list of pose filters to use. Each one can control the position, rotation, and/or speed of a specific body node
UserFilters list of IAvatarAnchorUserFilter Nothing currently implements IAvatarAnchorUserFilter so this currently does nothing.
UserAnchored AvatarAnchorUserEvent Internal
UserStay AvatarAnchorUserEvent Internal
UserReleased AvatarAnchorUserEvent Internal
_originalSpace Slot Internal
_originalPosition Float3 Internal
_originalRotation FloatQ Internal
_originalScale Float Internal
_dummyObjectSlots list of AvatarObjectSlot Internal

BodyNodeFilters

This article or section is a Stub. You can help the Resonite Wiki by expanding it.



Behavior

By itself, an AvatarAnchor does nothing. It requires either an AvatarAnchorTouchTrigger component or a Anchor User ProtoFlux node to place an avatar into it.

To exit an anchor, a AvatarAnchorLocomotionRelease component or a Release User ProtoFlux node needs to be used.

Examples

Related Components