ValueMultiplexer 组件
Value Multiplexer 官方介绍
ValueMultiplexer 组件允许用户管理一个数值列表,并使用其中的某一个值来驱动 (Drive) 目标字段,其功能类似于电子学中的多路复用器。
字段 (Fields)
| 属性名称 | 类型 | 描述 |
|---|---|---|
| Target (目标) |
FieldDrive<T> | 由当前选定的列表数值所驱动的字段。 |
| Index (索引) |
Int | 基于 0 的索引,决定选择 Values 列表中的哪一个值。若数值超出 [0; length-1] 的范围,将在内部自动循环(Wrap around)。 |
| Values (数值列表) |
SyncFieldList<T> | 数值列表。其中的每个元素也可以被单独驱动或写入。 |
| AllowWriteBack (允许回写) |
Bool | 当设置为 true 时,对 Target 的写入操作,或来自代表选中值的 Source(源)的写入操作,都将重定向到当前索引对应的列表项中。 |
用法 (Usage)
该组件的行为类似于 ValueCopy,它将 Index 指定的列表项作为值进行输出。每当驱动(Drive)评估时,对 Index 或列表项的任何更改都会直接影响到 Target。
此外,该组件实现了 IValue 接口。这意味着你可以通过使用 ProtoFlux 工具尖端(Tip)抓取并拉出组件页眉,从而将其作为 ProtoFlux 源 (Source) 使用。这让你在同时提取 Index 字段源时,能像使用数组(Array)一样操作该组件。需要注意的是,该组件的“源”更新是即时的,而“驱动”则受限于每帧一次的更新频率。
示例 (Examples)
- ProtoFlux 中的类数组访问:配合
AllowWriteBack设置,你可以像操作数组一样读写列表,但请注意一次只能访问单个值。
- 索引循环演示:当
Index设为超出列表长度的值时(例如列表长度为 3,索引设为 3),它会自动循环回 0。
参见 (See Also)
- ReferenceMultiplexer(引用多路复用器)
- ProtoFlux: Multiplex



No comments to display
No comments to display