視線追従の設定

[最終更新日:2019/01/15]

ここでは、モデルの視線などをマウスカーソルに追従させる方法を説明します。

 

概要

視線の追従を設定するには、Cubism 3.0 SDKでは、 Lookat というコンポーネントを利用します。

SDKにはこのコンポーネントを使った[LookAt]というサンプルシーンが同梱されておりますので、そちらもあわせてご覧ください。
こちらはモデルの頭上を回るGameObjectの位置を視線で追従するサンプルとなっております。
/Assets/Live2D/Cubism/Samples/Lookat

 

Lookatを設定するには、以下の3つを行ないます。

  1. Lookatを管理するコンポーネントのアタッチ
  2. 追従させるパラメータの指定
  3. 視線を追従させる対象の設定

 

Lookatを管理するコンポーネントのアタッチ

モデルのルートとなるGameObjectに、視線追従を管理するCubismLookControllerというコンポーネントをアタッチします。

CubismLookControllerには、設定項目が4つあります。

- Blend Mode:視線追従させる際に変動する値をパラメータにどう反映するかの設定です。設定できるものは以下の3つです。

Mutiply:現在設定されている値に掛け合わせます。
Additive:現在設定されている値に足し合わせます。
Override:現在設定されている値を上書きします。

- Center:ここには、追従させる座標の中心として扱うためのGameObjectを設定します。
中心は、GameObjectのBoundsの中心になります。
Centerに設定されるものは、[モデル]/Drawables/以下のGameObjectになります。
この項目に何も設定しなかった場合、CubismLookControllerがアタッチされたGameObjectの中心を使用します。

- Damping:対象に追従するまでにかかる時間です。値が小さいほど追従の速度が上がります。

- Target:視線を追従させるターゲットを設定します。詳細は後述しております。

 

今回は、Blend Mode を[Override]に設定してください。

 

追従させるパラメータの指定

[モデル]/Drawables/ 以下には、そのモデルのパラメータを管理するGameObjectが配置されています。
また、このGameObjectに設定されている名前はパラメータのIDとなっております。
これらはCubismModel.Parameters() で取得できるものと同一です。

このパラメータ用のGameObjectの中から、追従をさせたいIDのものに、CubismLookParameterというコンポーネントをアタッチします。

パラメータ用のGameObjectに CubismLookParameter がアタッチされていると、前述のCubismLookControllerがそれを参照して追従させるようになります。

 

CubismLookParameterには、2つの設定項目があります。

- Axis : 設定されたパラメータを、何軸の変形として扱うかを指定します。例えば、Xを指定した場合、TargetのX軸の値から計算して設定します。

- Factor : 計算された値に掛ける数値を設定します。計算結果の値は-1~+1の範囲になるため、
パラメータによってはその範囲を大きくしたり小さくしたり、または+と-を反転したりする方が自然な動きになることがあります。

 

視線を追従させる対象の設定

最後に、追従させる対象を用意します。

CubismLookControllerコンポーネントの[Target]には、[ICubismLookTarget]インターフェースを実装したコンポーネントを設定します。

ターゲットの設定次第では、視線を追従させる対象をマウスカーソルやGameObjectの位置にしたり、ドラッグ中のみ追従させる等特定の条件をつけることも可能です。

「CubismLookTarget」というC#スクリプトを作成し、コードを以下のように書き換えます。
ここでは、ドラッグ中のマウスの座標を追従するようにしております。

 

空のGameObjectを作成し、それに上記のCubismLookTargetをアタッチします。

 

モデルを選択し、InspectorビューからCubismLookControllerの[Target]に、上で作成したGameObjectをドラッグ・アンド・ドロップします。

 

これで設定は完了です。

シーンを実行して、Gameビューをマウスの左ボタンでドラッグすると、モデルの視線が追従します。

Copyright © 2018 Live2D Inc.