观察 ViewModel 变化(Observing ViewModel Changes)
在 Unreal Runtime 中,Rive 向 Unreal 回传状态的标准方式是 ViewModel 属性变化。
Legacy 的 State Machine 事件与旧回调机制已弃用。
观察机制
在 Artboard 的一次更新周期中:
- Unreal 写入 ViewModel
- State Machine 计算
- State Machine 可能修改 ViewModel
- 发出属性变化回调
- 完成渲染
回调是同步触发的。
注册回调
每个 ViewModel Instance 属性都可观察。
建议:
- 创建实例后注册
- 销毁前解绑
- 回调所有权与实例所有权保持一致
可使用 Add Field Value Changed Delegate 来监听字段变化。
Trigger 适合动作;Bool/Number 等适合持续状态。
结构化数据
ViewModel 可嵌套,嵌套实例同样可观察,且沿用同一回调机制。
生命周期注意事项
- 不要观察已销毁实例
- 销毁前务必解绑
- Artboard 重建后,不要假设旧回调仍有效
小结
ViewModel 是 Runtime 的输入/输出边界:
Unreal 写入 -> State Machine 评估 -> Unreal 观察结果