- Category
- 游戏
[问题记录] 在 Unity 中使用 Animancer + Animation Rigging 出现权重随机重置的问题
本文解释了在Unity中使用Animancer插件结合Animation Rigging进行IK瞄准动画时,切换动画状态会导致Rigging参数重置为场景默认值的“鬼畜”问题。其根本原因是Animancer底层使用Playable API,在运行时切换状态或动态添加动画片段时会修改Playable Graph,进而触发Animator.Rebind(),强制重置相关参数。解决方案核心是防止Playable Graph被修改:一是设置`Animancer.Playable.KeepChildrenConnected = true`,避免状态切换时断开Playable连接;二是提前通过`Animancer.Play(ITransition)`初始化所有动画状态,防止进入新状态时修改Graph。目前尚无其他方法能在修改Playable Graph的同时避免触发Rebind。
在 Unity 中安装和使用 Yarn Spinner
本文介绍了Yarn Spinner在Unity中的安装与使用方法。插件支持付费(Itch.io或Unity Asset Store)与免费(GitHub或通过OpenUPM注册表安装)两种方式,后者更灵活但需注意版本兼容性。核心部分解释了Yarn脚本(.yarn文件)、Yarn工程(用于管理脚本与本地化)及关键组件:Dialogue Runner(对话运行器)、Variable Storage(变量存储)和Line Provider(本地化文本提供者)。文章通过快速入门演示了创建脚本与工程、配置Dialogue Runner并运行对话的基本流程,并详细指导了如何定制对话UI,包括创建自定义Line View实现文本输出、通过按键/鼠标/按钮控制对话前进,以及使用Option List View和Option View构建选项系统,最终实现一个可完全自定义的对话界面。