跳转至

模型变体选择原理

Java DSL、Builder 和运行时方法见 API reference。

共享定义与实例状态

Multiplexer 用变体节点和带守卫的转移边描述上下文到外观的选择。定义本身不持有运行时状态, 同一内容类型共享定义,每个宿主实例保存自己的当前变体、目标变体与淡入淡出进度。 上下文以快照交付方块属性、红石状态等信息,选择器不依赖特定 Minecraft 对象。

选择与推进

只读选择根据当前上下文评估可用变体;推进则同时更新实例的转移进度和已选状态。 守卫命中时启动转移,交叉淡入淡出期间当前输出对应目标变体,并保留混合过程所需的实例信息。 每个宿主独立推进,所以相同定义可以在不同场景中选择不同外观。

与状态机分工

上下文驱动的开关、挡位和模型变体适合变体选择器;依赖持续时长、动作、并行层和动画序列的 行为适合 分层状态机。变体选择决定使用哪个模型,状态机继续驱动所选模型的姿态与动作时序。