HarmonicMotion

[最后更新时间:2020/01/30]

概述

HarmonicMotion 是一种定期重复指定参数值的函数。
它主要用于不断运动的事物,例如呼吸。
单击此处了解如何设定 Harmonic Motion。

Cubism SDK for Unity 中的 HarmonicMotion 包含两个元素。

  1. 用于指定要操作的参数的组件
  2. 操纵每个参数值的组件

 

1. 指定参数操作的组件

使用 CubismHarmonicMotionParameter 指定用于 HarmonicMotion 的参数。

CubismHarmonicMotionParameter 是一个继承 MonoBehaviour 的组件。
它通过附加到位于 [Root of Prefab] / Parameters / 下的 GameObject 来使用。
这会定期操作与附加 GameObject 具有相同 ID 的参数值。

CubismHarmonicMotionParameter 有 5 个设定项。

  • Channel

指定在 CubismHarmonicMotionController 中设定的正弦波周期的倍率。
在 HarmonicMotion 中,您可以为一个模型设定多个周期,您可以在 CubismHarmonicMotionController 中设定它们。
在此处设定 CubismHarmonicMotionController.ChannelTimescales 的索引。

  • Direction

根据参数的中心设定周期运行的范围。
有以下三个设定项目。

- Left : 它仅在参数中心的左半部分有效。
- Right : 它仅在参数中心的右半部分有效。
- Centric : 它适用于所有参数。

  • NormalizedOrigin

在 Direction 中设定要用作参考的参数的中心。
设定参数最小值为0,最大值为1时的值。

  • NormalizedRange

设定使值从 NormalizedOrigin 中设定的值的中心运行的幅度。
设定参数最小值为 0,最大值为1时从中心行进的距离。
该值只能设定在 NormalizedOrigin 设定的中心位置到参数的最小值或最大值的范围内。

  • Duration

调整参数周期。

 

CubismHarmonicMotionParameter 也被 CubismHarmonicMotionController 用作获取参考的标记。

 

2. 操纵每个参数值的组件

使用 CubismHarmonicMotionController 将打开/关闭值应用于每个参数。
这是一个继承自 MonoBehaviour 的组件,使用时会附加到 Cubism 的 Prefab 的根。

获取对在初始化期间附加到 Prefab 的所有 CubismHarmonicMotionParameters 的引用。
如果在执行过程中追加/删除一个周期性操作值的参数,调用 CubismHarmonicMotionController.Refresh() 再次获取引用。

 

CubismHarmonicMotionController 在每帧的 LateUpdate() 时间应用为 CubismHarmonicMotionParameter 标记的参数计算的值。

 

CubismHarmonicMotionController 有两个设定。

  • BlendMode

用于将值应用于参数的混合模式。
可以设定以下三个值。

- Override : 覆盖当前值。
- Additive : 添加到当前值。
- Multiply : 乘以当前值。

  • ChannelTimescales

设定正弦波的周期。
您可以设定多个周期。

© 2010 - 2022 Live2D Inc.