Component:AssetMultiplexer: Difference between revisions

From Resonite Wiki
m ProbablePrime moved page AssetMultiplexer (Component) to Component:AssetMultiplexer: Creating component Namespace
m Add extra information to Examples to prevent headaches for future people
 
(4 intermediate revisions by 3 users not shown)
Line 2: Line 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
{{stub}}
{{Infobox Component
{{Infobox Component
|Image=AssetMultiplexer`1Component.png
|Image=AssetMultiplexer`1Component.png
Line 8: Line 7:
}}
}}


The AssetMultiplexer component is used to drive a field to one asset from a list, based on its position in the list.
The '''AssetMultiplexer''' component is used to drive an asset field from a list of assets and an index within the list.


<!--T:2-->
<!--T:2-->
== Fields ==
== Fields ==
{{Table ComponentFields
{{Table ComponentFields
|Target|AssetRef`1|TypeString0=AssetRef<ITexture2D>| The field to drive.
|Target|{{RootFieldType|DriveRef`1|[[Type:AssetRef`1|AssetRef`1]]&lt;A&gt;}}|TypeAdv0=true| The field to drive.
|Index|Int| Which element in <code>Assets</code> to drive to <code>Target</code>
|Index|Int| Which element in <code>Assets</code> to drive to <code>Target</code>
|Assets|SyncAssetList`1|TypeString2=SyncAssetList<ITexture2D>| The list of assets to multiplex between.
|Assets|{{RootFieldType|SyncAssetList`1|A}}|TypeAdv2=true| The list of assets to multiplex between.
}}
}}


<!--T:3-->
<!--T:3-->
== Usage ==
== Usage ==
Add the list of assets you want to use through the SyncAssetList<IAsset`1> area, then add in your assets into the items. Then you can specify the field through the Target you wanna switch between different assets for. Changing the Index will change which asset the Target has in it.
Ensure you can set the Target field on this component before making any other components reference the Index field on this component if you don't wanna waste your time.
{{Note|This component directly drives a value, not a reference. Therefore, trying to combine it with other components using an [[Type:IAssetProvider|IAssetProvider]]<T> type, such as a [[Component:ReferenceMultiDriver|ReferenceMultiDriver]], will not work. To drive by reference and thus interop this component, use a [[Component:ReferenceMultiDriver|ReferenceMultiDriver]]<IAssetProvider<T>>|information}}


<!--T:4-->
<!--T:4-->
== Examples ==
== Examples ==
Using an asset multiplexer to allow your avatar to switch shirts via changing the texture, a pattern changer for a music visualizer.


== Related Issues == <!--T:5-->
To do texture swapping, use AssetMultiplexer<[[Type:ITexture2D]]>, not to be confused with AssetMultiplexer<[[Type:Texture2D]]>
[https://github.com/Neos-Metaverse/NeosPublic/issues/247 #247 - Allow importing a complete directory into a AssertMultiplexer]


<!--T:6-->
<!--T:6-->
== Related Components ==
== Related Components ==
</translate>
</translate>
[[Category:ComponentStubs]]
[[Category:Generics{{#translation:}}]]
[[Category:Generics{{#translation:}}]]
[[Category:Components{{#translation:}}|Asset Multiplexer`1]]
[[Category:Components{{#translation:}}|Asset Multiplexer`1]]
[[Category:Generic Components{{#translation:}}|Asset Multiplexer`1]]
[[Category:Components:Assets:Utility{{#translation:}}|Asset Multiplexer`1]]
[[Category:Components:Assets:Utility{{#translation:}}|Asset Multiplexer`1]]

Latest revision as of 20:16, 9 August 2025

Component image 
Asset Multiplexer`1 component as seen in the Scene Inspector

The AssetMultiplexer component is used to drive an asset field from a list of assets and an index within the list.

Fields

Fields
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. Some components stop their functionality when this field is disabled, but some don't.
Target reference drive of AssetRef`1<A> The field to drive.
Index Int Which element in Assets to drive to Target
Assets list of A The list of assets to multiplex between.

Usage

Add the list of assets you want to use through the SyncAssetList<IAsset`1> area, then add in your assets into the items. Then you can specify the field through the Target you wanna switch between different assets for. Changing the Index will change which asset the Target has in it.

Ensure you can set the Target field on this component before making any other components reference the Index field on this component if you don't wanna waste your time.

This component directly drives a value, not a reference. Therefore, trying to combine it with other components using an IAssetProvider<T> type, such as a ReferenceMultiDriver, will not work. To drive by reference and thus interop this component, use a ReferenceMultiDriver<IAssetProvider<T>>

Examples

Using an asset multiplexer to allow your avatar to switch shirts via changing the texture, a pattern changer for a music visualizer.

To do texture swapping, use AssetMultiplexer<Type:ITexture2D>, not to be confused with AssetMultiplexer<Type:Texture2D>

Related Components