Slot: Difference between revisions

From Resonite Wiki
Marked this version for translation
m minor fix: tvar name deduplicate
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>


<translate><!--T:6--> Every object in Resonite exists as a '''Slot'''. Slots form ''hierarchies'', exist in 3D space via a ''transformation'', and contain ''[[<tvar name=1>Component</tvar>|Components]]'' to add additional behavior.</translate>
<translate><!--T:6--> Every object in Resonite exists as a '''Slot'''. Slots form ''hierarchies'', are positioned in 3D space via their ''transformation'', and may contain ''[[<tvar name=1>Special:MyLanguage/Component</tvar>|Components]]'' to add additional behavior.
</translate><translate>
== Basic Properties == <!--T:7-->  


== <translate><!--T:7--> Basic Properties</translate> ==
=== Hierarchy === <!--T:8-->
 
</translate>
=== <translate><!--T:8--> Hierarchy</translate> ===
[[File:Example_Slot_Hierarchy.webp|thumb|300px|<translate><!--T:9--> A simple slot hierarchy, as shown in the [[<tvar name=1>Special:MyLanguage/Scene Inspector</tvar>|Scene Inspector]]</translate>.|alt=<translate><!--T:10--> A hierarchy of slots as shown in the Scene Inspector. The Example slot has three children, the first of which has another child itself.</translate>]]


[[File:Example_Slot_Hierarchy.webp|thumb|300px|<translate><!--T:9--> A simple slot hierarchy, as shown in the [[<tvar name=1>Scene Inspector</tvar>|Scene Inspector]]</translate>.|alt=<translate><!--T:10--> A hierarchy of slots as shown in the Scene Inspector. The Example slot has three children, the first of which has another child itself.</translate>]]
<translate>
<!--T:11--> 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.


<translate><!--T:11-->
<!--T:12--> This hierarchy is used for organization, transformation (see below), and many other features in [[<tvar name="1">Special:MyLanguage/Resonite</tvar>|Resonite]].
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.
</translate>
</translate>
<translate>
=== Transformation === <!--T:13-->


<translate><!--T:12--> This hierarchy is used for organization, transformation (see below), and many other features in [[Resonite]].</translate>
<!--T:14--> Each slot has a 3D transformation consisting of translation, rotation, and scale. A child slot's transformation is specified in ''local space'', i.e. relative to its parent slot's transformation, so even though a child may use the default transforms, it may be transformed in ''world space'' due to its parents' transforms.


=== <translate><!--T:13--> Transformation</translate> ===
</translate><translate>
=== Components === <!--T:15-->  


<translate><!--T:14--> 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".</translate>
<!--T:16-->
''Main article: [[<tvar name=1>Special:MyLanguage/Component</tvar>|Component]]''


=== <translate><!--T:15--> Components</translate> ===
<!--T:17-->
 
Slots contain '''components''', which provide almost all the functionality in Resonite. See the main article for details.
<translate><!--T:16--> ''Main article: [[<tvar name=1>Component</tvar>|Component]]''</translate>
</translate>
 
<translate>
<translate><!--T:17--> Slots contain '''components''', which provide almost all the functionality in Resonite. See the main article for details.</translate>
=== Fields === <!--T:18-->  
 
</translate>
=== <translate><!--T:18--> Fields</translate> ===
[[File:Scene_Inspector_Slot_Example.webp|thumb|400px|<translate><!--T:37--> A slot's fields and available operations, as shown in the [[<tvar name=1>Special:MyLanguage/Scene Inspector</tvar>|Scene Inspector]]</translate>.|alt=<translate><!--T:38--> Refer to caption.</translate>]]
 
[[File:Scene_Inspector_Slot_Example.webp|thumb|400px|<translate><!--T:37--> A slot's fields and available operations, as shown in the [[<tvar name=1>Scene Inspector</tvar>|Scene Inspector]]</translate>.|alt=<translate><!--T:38--> Refer to caption.</translate>]]


<translate><!--T:19--> Similar to [[Component]]s, slots have a number of fields that can be modified:</translate>
<translate><!--T:19--> Similar to [[<tvar name="1">Special:MyLanguage/Component</tvar>|Component]]s, slots have a number of fields that can be modified:</translate>


{{Table TypeFields
{{Table TypeFields
|Name|String|<translate><!--T:20--> The name of the component, as shown in the scene inspector.</translate>
|Name|String|<translate><!--T:20--> The name of the component, as shown in the scene inspector.</translate>
|Parent|Slot|<translate><!--T:21--> A reference to the parent slot in the hierarchy.</translate>
|Parent|Slot|<translate><!--T:21--> A reference to the parent slot in the hierarchy.</translate>
|Tag|String|<translate><!--T:22--> A string tag used for identifying slots in various systems.</translate>
|Tag|String|<translate><!--T:22--> A string [[<tvar name="1">Special:MyLanguage/Tag</tvar>|Tag]] used for identifying slots in various systems.</translate>
|Active|Bool|<translate><!--T:23--> 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.</translate>
|Active|Bool|<translate><!--T:23--> 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.</translate>
|Persistent|Bool|<translate><!--T:24--> 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.</translate>
|Persistent|Bool|<translate><!--T:24--> Whether this slot will be saved, for example to the [[<tvar name="1">Special:MyLanguage/Inventory</tvar>|Inventory]]. If this is disabled, the slot and all its descendants will not be saved.</translate>
|Position|Float3|<translate><!--T:25--> The position offset this slot has relative to its parent.</translate>
|Position|Float3|<translate><!--T:25--> This slot's position in local space.</translate>
|Rotation|FloatQ|<translate><!--T:26--> The rotation this slot has relative to its parent.</translate>
|Rotation|FloatQ|<translate><!--T:26--> This slot's rotation in local space.</translate>
|Scale|Float3|<translate><!--T:27--> The scale this slot has relative to its parent.</translate>
|Scale|Float3|<translate><!--T:27--> This slot's scale in local space. Defaults to (1, 1, 1).</translate>
|OrderOffset|Long|<translate><!--T:28--> 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.</translate>
|OrderOffset|Long|<translate><!--T:28--> Controls the sort order of this slot relative to its siblings. Slots with a higher value are processed after siblings with a lower value. This controls the order both in the scene inspector and in many of Resonite's internal processes.</translate>
}}
}}
== <translate><!--T:29--> Working With Slots</translate> ==


=== <translate><!--T:30--> With the Scene Inspector</translate> ===
<translate>
== Working With Slots == <!--T:29-->  


<translate><!--T:31--> As a user, slots are primarily manipulated through the [[<tvar name=1>Scene Inspector</tvar>|Scene Inspector]]. You can view, create, destroy and modify slots and their components.</translate>
=== With the Scene Inspector === <!--T:30-->  


=== <translate><!--T:32--> With ProtoFlux</translate> ===
<!--T:31-->
As a user, slots are primarily manipulated through the [[<tvar name=1>Scene Inspector</tvar>|Scene Inspector]]. You can view, create, destroy and modify slots and their components.
</translate>
<translate>
===  With ProtoFlux === <!--T:32-->


<translate><!--T:33--> [[ProtoFlux]] has a set of nodes for working with the slot hierarchy, see [[:Category:ProtoFlux:Slots]] for a list.</translate>  
<!--T:33-->
[[<tvar name="1">Special:MyLanguage/ProtoFlux</tvar>|ProtoFlux]] has a set of nodes for working with the slot hierarchy, see [[<tvar name="2">Special:MyLanguage/Category:ProtoFlux:Slots</tvar>|:Category:ProtoFlux:Slots]] for a list.
</translate>
<translate>
=== Limitations === <!--T:35-->
</translate>
* <translate><!--T:36--> There is no way to access a Slot's components with ProtoFlux.<ref><tvar name=1>{{CiteResoniteIssue|57|A way to use components on Protoflux}}</tvar></ref></translate>


=== <translate><!--T:35--> Limitations</translate> ===
<translate>
== Other Features ==


* <translate><!--T:36--> There is no way to access to a Slot's components with ProtoFlux.<ref><tvar name=1>{{CiteResoniteIssue|57|A way to use components on Protoflux}}</tvar></ref></translate>
=== Slot Transferring ===


== <translate><!--T:34--> References</translate> ==
* Slots can be moved across [[<tvar name="1">Special:MyLanguage/World</tvar>|worlds]] via a feature called [[<tvar name="2">Transcient Grabbing</tvar>|Transcient Grabbing]]. This is when a user is holding onto a slot when focusing to a different world.
</translate>
 
<translate>
== References == <!--T:34-->  
</translate>

Latest revision as of 18:30, 17 August 2025

Every object in Resonite exists as a Slot. Slots form hierarchies, are positioned in 3D space via their transformation, and may contain Components to add additional behavior.== Basic Properties ==

Hierarchy

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 simple slot hierarchy, as shown in the Scene Inspector.

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

Each slot has a 3D transformation consisting of translation, rotation, and scale. A child slot's transformation is specified in local space, i.e. relative to its parent slot's transformation, so even though a child may use the default transforms, it may be transformed in world space due to its parents' transforms.

Components

Main article: Component

Slots contain components, which provide almost all the functionality in Resonite. See the main article for details.

Fields

Refer to caption.
A slot's fields and available operations, as shown in the Scene Inspector.

Similar to Components, slots have a number of fields that can be modified:

Fields
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 This slot's position in local space.
Rotation FloatQ This slot's rotation in local space.
Scale Float3 This slot's scale in local space. Defaults to (1, 1, 1).
OrderOffset Long Controls the sort order of this slot relative to its siblings. Slots with a higher value are processed after siblings 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.

Limitations

  • There is no way to access a Slot's components with ProtoFlux.[1]

Other Features

Slot Transferring

  • Slots can be moved across worlds via a feature called Transcient Grabbing. This is when a user is holding onto a slot when focusing to a different world.

References