关于从Cubism 2.1到3.0的框架变更点
最終更新: 2019年9月3日
在2.1的SDK中,物理模拟、视线跟踪等功能被硬编码在Framework类,模型类Update中。
在3.0或更高版本的CubismComponents中,这些功能的配置已经过全面审查,并且每个功能都已重新制作为每个功能的一个组件。
可以在Inspector上直观地设置属性值,从而可以轻松地在运行时追加或删除各功能。
CubismComponents中各功能的组件基本有如下结构。
- 控制器
- 指定输出目的地
- 输入控制器要处理的值
控制器
这是控制CubismComponents的各功能的核心组件。
设置名称“Cubism[功能名称]Controller”。
该组件中设置了与功能相关的各种设置,后面描述的控制器要处理的值的输入源也在这里指定。
在控制器原始化时,获取用于指定稍后描述的输出目的地的组件的参考。
因此,如果可以从外部调用参考获取,则可以在执行期间追加或删除输出目标组件。
如果要使用它,请附加生成的模型根目录中的GameObject。
指定输出目的地
这是应用控制器处理结果的输出组件。
使用该组件时,附加到[模型根]/Parameters/下的参数、[模型根]/Parts/下的部件、
[模型根]/Drawables/下网格的GameObject中。
该组件名称设置为“Cubism[功能名称]Parameter”、“Cubism[功能名称]Part”、“Cubism[功能名称]able”,因此,
您可以从名称中推测要附加到哪个物体。
输入控制器要处理的值
该组件是输入用于口形同步的音量、用于跟踪视线的座标等
供控制器处理的数值的组件。
它在2.1中是硬编码的部分,但从3.0开始,实装了接口处理,具有很高的自由度,
且用户自定义非常容易。
using UnityEngine; namespace Live2D.Cubism.Framework.LookAt { /// <summary> /// Target to look at. /// </summary> public interface ICubismLookTarget { /// <summary> /// Gets the position of the target. /// </summary> /// <returns>The position of the target in world space.</returns> Vector3 GetPosition(); /// <summary> /// Gets whether the target is active. /// </summary> /// <returns><see langword="true"/> if the target is active; <see langword="false"/> otherwise.</returns> bool IsActive(); } }
如果要该此组件,请将其附加到任意GameObject,并将该参考设置为控制器上的输入属性。
请问这篇文章对您有帮助吗?
是否