本文翻译自:https://docs.live2d.com/cubism-sdk-tutorials/parameterstore/
译者注:注意!这并不是一篇严谨的翻译,本人并不是翻译行业从业者,也根本不会日文。官网的中文翻译会连带代码一起翻译,而且还不如机翻日文,官网的英语翻译版本有的语法很奇怪,看起来也是机翻。本文主要来自日文机翻,然后再结合实际开发经验调整到通顺,修改不该翻译的东西并润色。
[最后更新日期: 2020/01/30] 译者注:这是这个日文原文的更新日期
本页介绍使用 Cubism 模型中的 ParameterStore 来保存/恢复参数值和零件不透明度。
假设在项目中已经实现 [ 导入 SDK-放置模型 ] 「UpdateController的设置」。
如果在 Unity 编辑器菜单中选中「Live2D/Cubism/OrignalWorkflow/Should Import As Original Workflow」导入的模型的话,生成的Prefab
将自动设置 CubismParameterStore
。
CubismParameterStore
是一个可在播放 AnimationClip
之前和之后恢复和保存 Cubism 模型的参数值以及零件的不透明度的组件。
您可以使用它来避免其他 Cubism 组件修改相对值(例如 Additive 和 Multiply)时出现问题。
如果 AnimationClip
是直接覆盖当前值,这种情况下通常会得到预期的效果。
但是,如果播放的动画没有覆盖这个值,而且上一个动画已经修改了这个值,那么这个动画很可能不会按照预期工作。
CubismParameterStore
在处理动画后在 LateUpdate()
时立即保存它所附加的模型的所有参数值(译注:应用动画之后),并在下一帧的 Update()
时恢复保存的值(译注:应用动画之前)。
这样可以保证即使不覆盖也能按照预期工作。
以下,如果要「通过常规方法生成的模型」中保存/恢复参数值和部分不透明度,请遵循以下步骤。
- 附加CubismParameterStore
※ 使用 ParameterStore 需要 配置 UpdateController。
附加 CubismParameterStore
到模型依附的 GameObject
上,以将值保存/恢复值参数值。