Added note about driving scale of grabbable objects |
m ProbablePrime moved page Grabbable (Component) to Component:Grabbable: Creating component Namespace |
(No difference)
|
Revision as of 06:29, 20 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.