Added note about driving scale of grabbable objects |
add template |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 13: | Line 13: | ||
|PreserveUserSpace|Bool| The slot is reparented to [[Local User Space]] <b>{{asterisk}}</b> | |PreserveUserSpace|Bool| The slot is reparented to [[Local User Space]] <b>{{asterisk}}</b> | ||
|DestroyOnRelease|Bool| The slot this component is attached to is destroyed upon release | |DestroyOnRelease|Bool| The slot this component is attached to is destroyed upon release | ||
|GrabPriority|Int| | |GrabPriority|Int| {{Template:Grab Priority}} | ||
|GrabPriorityWhenGrabbed|Int| | |GrabPriorityWhenGrabbed|'''[[Type:Nullable`1|Nullable`1]]<[[Type:Int|Int]]>'''|TypeAdv4=true| | ||
|CustomCanGrabCheck|GrabCheck| ''Not Usable inside Resonite'' | |CustomCanGrabCheck|{{RootFieldType|SyncDelegate`1|[[Type:GrabCheck|GrabCheck]]}}|TypeAdv5=true| ''Not Usable inside Resonite'' Requires a mod for interacting with [[Sync Delegates]] | ||
|EditModeOnly|Bool| Determines if this grabbable is effective only in [[Edit Mode]] | |EditModeOnly|Bool| Determines if this grabbable is effective only in [[Edit Mode]] | ||
|AllowSteal|Bool| Other users can grab the slot this component is attached to. | |AllowSteal|Bool| Other users can grab the slot this component is attached to. | ||
|DropOnDisable|Bool| The parent slot will be dropped when this component is disabled. | |DropOnDisable|Bool| The parent slot will be dropped when this component is disabled. | ||
|ActiveUserFilter|ActiveUserHandling| | |ActiveUserFilter|ActiveUserHandling| | ||
|OnlyUsers|UserRef| A list of users that are allowed to grab this slot. | |OnlyUsers|{{RootFieldType|SyncList`1|[[Type:UserRef|UserRef]]}}|TypeAdv10=true| A list of users that are allowed to grab this slot. | ||
|Scalable|Bool| | |Scalable|Bool| {{Template:Scalable Grabber Description}} | ||
|Receivable|Bool| | |Receivable|Bool| {{Template:Receivable Grabber Description}} | ||
|AllowOnlyPhysicalGrab|Bool| Only allow grab an object with a physical interaction - remote grabs are not allowed | |AllowOnlyPhysicalGrab|Bool| Only allow grab an object with a physical interaction - remote grabs are not allowed | ||
|_grabber|Grabber| ''Automatically Assigned'' | |_grabber|'''[[Component:Grabber|Grabber]]'''|TypeAdv14=true| ''Automatically Assigned'' | ||
|_lastParent|Slot| ''Automatically Assigned'' | |_lastParent|Slot| ''Automatically Assigned'' | ||
|_lastParentIsUserSpace|Bool| ''Automatically Assigned'' | |_lastParentIsUserSpace|Bool| ''Automatically Assigned'' | ||
Line 42: | Line 42: | ||
{{stub}} | {{stub}} | ||
[[Category:Components|Grabbable | [[Category:Components:Transform:Interaction{{#translation:}}|Grabbable]] | ||
[[Category:Components: | [[Category:Components{{#translation:}}|Grabbable]] |
Latest revision as of 22:16, 3 March 2024
This article or section is a Stub. You can help the Resonite Wiki by expanding it.
Component image
Introduction
Grabbable is a complicated thing
— AlexFromAlaska
The Grabbable component allows you to grab any slot it is attached to, provided it has some type of Collider.
Usage
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. |
ReparentOnRelease
|
Bool | The slot is reparented to the value of _lastParent , instead of root when dropped *
|
PreserveUserSpace
|
Bool | The slot is reparented to Local User Space * |
DestroyOnRelease
|
Bool | The slot this component is attached to is destroyed upon release |
GrabPriority
|
Int | Determines what gets grabbed if several grabbable objects are touching someone's grab sphere. The IGrabbable with the highest priority will be grabbed first. If the highest priority ties with another IGrabbable, it will grab both of those and ignore any lower priority IGrabbables. |
GrabPriorityWhenGrabbed
|
Nullable`1<Int> | |
CustomCanGrabCheck
|
GrabCheck | Not Usable inside Resonite Requires a mod for interacting with Sync Delegates |
EditModeOnly
|
Bool | Determines if this grabbable is effective only in Edit Mode |
AllowSteal
|
Bool | Other users can grab the slot this component is attached to. |
DropOnDisable
|
Bool | The parent slot will be dropped when this component is disabled. |
ActiveUserFilter
|
ActiveUserHandling | |
OnlyUsers
|
list of UserRef | A list of users that are allowed to grab this slot. |
Scalable
|
Bool | Scalable determines if the grabbable's slot can be scaled. |
Receivable
|
Bool | Receivable determines if a grabbable can be dropped onto a GrabbableReceiverSurface when let go of. The receivable has to be close enough for the receiver to receive it. |
AllowOnlyPhysicalGrab
|
Bool | Only allow grab an object with a physical interaction - remote grabs are not allowed |
_grabber
|
Grabber | Automatically Assigned |
_lastParent
|
Slot | Automatically Assigned |
_lastParentIsUserSpace
|
Bool | Automatically Assigned |
__legacyActiveUserRootOnly
|
Bool | Automatically Assigned |
Behavior
The interaction between ReparentOnRelease
, PreserveUserSpace
and any Grabbable Extensions, such as GrabbableReparentBlock, is somewhat complex.
When released, the following will be evaluated, in order:
- If
ReparentOnRelease
is true, the slot will be parented to the value in_lastParent
- If
PreserveUserSpace
and_lastParentIsUserSpace
is true, the slot will be parented to Local User Space - If an Grabbable Extension exists above this component in the hierarchy, and it is within the
MaxDepth
specified in the block, the slot will be parented to Local User Space - Otherwise, the slot is parented to root.
You can drive the scale of a Grabbable object if the Scalable
boolean is false.
Examples
This article or section is a Stub. You can help the Resonite Wiki by expanding it.