パラメータを周期的に動作させる方法
最終更新: 2020年1月30日
ここでは、呼吸や振り子のように、パラメータの値を周期的に動かす設定方法を説明します。
![](https://docs.live2d.com/4.2/wp-content/uploads/2017/12/HarmonicMotionDemo.gif.pagespeed.ce.1k8Mc2vqZc.gif)
概要
任意のパラメータを周期的に動かしたい場合は、CubismHarmonicMotionController.csとCubismHarmonicMotionParameter.csを使うことで実現できます。
実装には以下の2つを行います
1,パラメータを制御するための設定を行う
2,動かすパラメータを指定する
パラメータを制御するための設定を行う
最初にモーションを制御するためのスクリプトをモデルの一番親にアタッチします。
名前はCubismHarmonicMotionController.csです。
![](https://docs.live2d.com/4.2/wp-content/uploads/2017/12/00.png.pagespeed.ce.uvp44BKbUd.png)
![](https://docs.live2d.com/4.2/wp-content/uploads/2017/12/02.png.pagespeed.ce.m-xOtfvZE3.png)
CubismHarmonicMotionController.csには設定項目が2つあります。
– Blend Mode:指定のパラメータに現在設定されている値に対して、どう計算するのかを指定します。
Override:現在設定されている値を数値を上書きします。
Additive:現在設定されている値に数値を加算します。
Mutiply:現在設定されている値に数値を乗算します。
– Channel Timescales:任意で複数タイムスケールを作り、タイムスケールのサイズを変更することができます。
今回は、Blend Modeの設定を以下のようにします。
– Blend Mode:Override
動かすパラメータを指定する
その後、動かしたいパラメータを選択しCubismHarmonicMotionParameter.csをアタッチします。
ここでは角度Xにアタッチします。
角度Xは[root]/Parameters/ParamAngleXになります。
![](https://docs.live2d.com/4.2/wp-content/uploads/2017/12/01.png.pagespeed.ce.B_HmPVSy5P.png)
![](https://docs.live2d.com/4.2/wp-content/uploads/2017/12/04.png.pagespeed.ce.ChAlhGNif-.png)
CubismHarmonicMotionParameter.csには設定項目が5つあります。
– Channel:CubismHarmonicMotionController.csで設定したChannel Timescaleを指定します。
– Direction:パラメータの中心を基準に動く幅を指定します。
Left:パラメータの中心から左半分だけ動きます。
Right:パラメータの中心から右半分だけ動きます。
Centric:パラメータの中心から全体が動きます。
– Normalized Origin:中心にするパラメータの位置を設定します。
– Normalized Range:Normalized Originで決めた中心を基準に、中心点から動かす最大距離を設定します。
– Duration:パラメータ周期を調整します。
今回は、設定を以下のようにします。
– Channel:0
– Direction:Centric
– Normalized Origin:0.5
– Normalized Range:0.5
– Duration:3
上記設定を行うと、以下の動画のようにパラメータを周期的に動かすことができます。
![](https://docs.live2d.com/4.2/wp-content/uploads/2017/12/HarmonicMotionDemo.gif.pagespeed.ce.1k8Mc2vqZc.gif)