m I promise I'll do more than just fix spelling errors this one is just driving me mad |
Added note about driving scale of grabbable objects |
||
Line 6: | Line 6: | ||
== Introduction == | == Introduction == | ||
{{Quotation|Grabbable is a complicated thing|AlexFromAlaska}} | {{Quotation|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]] | The '''Grabbable''' component allows you to grab any slot it is attached to, provided it has some type of [[Collider]]. | ||
== Usage == | == Usage == | ||
Line 37: | Line 37: | ||
#If an [[:Category:GrabbableExtensions|Grabbable Extension]] exists above this component in the hierarchy, and it is within the <code>MaxDepth</code> specified in the block, the slot will be parented to [[Local User Space]] | #If an [[:Category:GrabbableExtensions|Grabbable Extension]] exists above this component in the hierarchy, and it is within the <code>MaxDepth</code> specified in the block, the slot will be parented to [[Local User Space]] | ||
#Otherwise, the slot is parented to root. | #Otherwise, the slot is parented to root. | ||
----You can drive the scale of a Grabbable object if the <code>Scalable</code> boolean is false. | |||
== Examples == | == Examples == |
Revision as of 20:43, 12 January 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 | When attempting to grab multiple objects at once, only those with the highest grab priority are grabbed. |
GrabPriorityWhenGrabbed
|
Int | |
CustomCanGrabCheck
|
GrabCheck | Not Usable inside Resonite |
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
|
UserRef | A list of users that are allowed to grab this slot. |
Scalable
|
Bool | The parent slot can be scaled |
Receivable
|
Bool | The parent slot can be dropped onto a GrabbableReceiverSurface |
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.