Updating to match new version of source page |
Updating to match new version of source page |
||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
Every object in Resonite exists as a '''Slot'''. Slots form ''hierarchies'', exist in 3D space via a ''transformation'', and contain ''[[Component|Components]]'' to add additional behavior. | |||
== Basic Properties == | |||
=== Hierarchy === | |||
[[File:Example_Slot_Hierarchy.webp|thumb|300px|A simple slot hierarchy, as shown in the [[Scene Inspector|Scene Inspector]].|alt=A hierarchy of slots as shown in the Scene Inspector. The Example slot has three children, the first of which has another child itself.]] | |||
A slot can contain zero or more slots, forming a '''hierarchy''' or "'''tree'''". A slot is a '''child''' if it is contained within another slot; that slot is its '''parent'''. The only slot without a parent is the '''root''' of the world, which contains all other slots. | |||
Slots can be | |||
This hierarchy is used for organization, transformation (see below), and many other features in [[Resonite]]. | |||
=== Transformation === | |||
Every slot can be '''transformed''' in 3D space: it can be translated (moved), rotated, and scaled. A child slot's transformation is relative to its parent, so even though a child slot might specify no transformation, in global space it may be rotated or scaled because its parents are. Thus, a child's transform is called "local". | |||
=== Components === | |||
''Main article: [[Component|Component]]'' | |||
Slots contain '''components''', which provide almost all the functionality in Resonite. See the main article for details. | |||
=== Fields === | |||
Similar to [[Component]]s, slots have a number of fields that can be modified: | |||
{{Table TypeFields | |||
|Name|String|The name of the component, as shown in the scene inspector. | |||
|Parent|Slot|A reference to the parent slot in the hierarchy. | |||
|Tag|String|A string tag used for identifying slots in various systems. | |||
|Active|Bool|A general-purpose field to "disable" this slot and its components. If a slot is deactivated, its children are deactivated too. Note that not all components and features respect this field. | |||
|Persistent|Bool|Whether this slot will be saved, for example to the [[Inventory]]. If this is disabled, the slot and all its descendants will not be saved. | |||
|Position|Float3|The position offset this slot has relative to its parent. | |||
|Rotation|FloatQ|The rotation this slot has relative to its parent. | |||
|Scale|Float3|The scale this slot has relative to its parent. | |||
|OrderOffset|Long|Controls the sort order of this control relative to its siblings. Slots with a higher value are "after" sibling with a lower value. This controls the order both in the scene inspector, and in many of Resonite's internal processes. | |||
}} | |||
== Working With Slots == | |||
=== With the Scene Inspector === | |||
As a user, slots are primarily manipulated through the [[Scene Inspector|Scene Inspector]]. You can view, create, destroy and modify slots and their components. | |||
=== With ProtoFlux === | |||
[[ProtoFlux]] has a set of nodes for working with the slot hierarchy, see [[:Category:ProtoFlux:Slots]] for a list. Note that access to a slot's components is currently limited.<ref>{{CiteResoniteIssue|57|A way to use components on Protoflux}}</ref> | |||
== References == |
Revision as of 08:35, 6 March 2024
Every object in Resonite exists as a Slot. Slots form hierarchies, exist in 3D space via a transformation, and contain Components to add additional behavior.
Basic Properties
Hierarchy
A slot can contain zero or more slots, forming a hierarchy or "tree". A slot is a child if it is contained within another slot; that slot is its parent. The only slot without a parent is the root of the world, which contains all other slots.
This hierarchy is used for organization, transformation (see below), and many other features in Resonite.
Transformation
Every slot can be transformed in 3D space: it can be translated (moved), rotated, and scaled. A child slot's transformation is relative to its parent, so even though a child slot might specify no transformation, in global space it may be rotated or scaled because its parents are. Thus, a child's transform is called "local".
Components
Main article: Component
Slots contain components, which provide almost all the functionality in Resonite. See the main article for details.
Fields
Similar to Components, slots have a number of fields that can be modified:
Name | Type | Description |
---|---|---|
Name
|
String | The name of the component, as shown in the scene inspector. |
Parent
|
Slot | A reference to the parent slot in the hierarchy. |
Tag
|
String | A string tag used for identifying slots in various systems. |
Active
|
Bool | A general-purpose field to "disable" this slot and its components. If a slot is deactivated, its children are deactivated too. Note that not all components and features respect this field. |
Persistent
|
Bool | Whether this slot will be saved, for example to the Inventory. If this is disabled, the slot and all its descendants will not be saved. |
Position
|
Float3 | The position offset this slot has relative to its parent. |
Rotation
|
FloatQ | The rotation this slot has relative to its parent. |
Scale
|
Float3 | The scale this slot has relative to its parent. |
OrderOffset
|
Long | Controls the sort order of this control relative to its siblings. Slots with a higher value are "after" sibling with a lower value. This controls the order both in the scene inspector, and in many of Resonite's internal processes. |
Working With Slots
With the Scene Inspector
As a user, slots are primarily manipulated through the Scene Inspector. You can view, create, destroy and modify slots and their components.
With ProtoFlux
ProtoFlux has a set of nodes for working with the slot hierarchy, see Category:ProtoFlux:Slots for a list. Note that access to a slot's components is currently limited.[1]