くろみ
1
SDKチュートリアルのやり方になぞってCubismLookControllerとCubismLookParameterを使ってマウスの動きに視線追従させました。
それ自体は上手く言ったのですが、ただ画面内の顔がかなり下の位置にあったので、その顔のパーツであるArtMesh11を中心にマウスの位置座標を取ろうとして、CenterにArtMesh11を入れたのですが、Centerが空欄のときと同様モデルの中心か画面の中心が基準に成ってしまっているようです。
他の設定等は問題ないと思われるのですが、中心の位置を変えるためにCenterにアートメッシュを入れるだけでは足りないのでしょうか?
大変お手数かと思いますが、ご回答よろしくお願いいたします。
↓モデルのインスペクタ
↓ 追従させるパラメータのインスペクタ
@くろみ 様
いつも弊社製品をご愛顧くださり誠にありがとうございます。
Live2Dスタッフでございます。
CubismLookControllerのTargetは、そのモデルにおける中心座標を設定するものです。
しかし、チュートリアルで使用している追従先の座標は、モデルの位置が画面の中心にあることを想定した値になっています。
もしモデルの位置を変更させるのであれば、CubismLookTargetが返す座標にモデルの位置を計算させるよう改修します。
以下の手順は、モデルの位置を画面の中心から移動させる場合のCubismLookTargetの改修例です。
- CubismLookTargetの10行目を以下のように書き換える。
return Vector3.zero + transform.position;
- CubismLookTargetの15行目を以下のように書き換える。
targetPosition = (Camera.main.ScreenToViewportPoint(targetPosition) * 2) - Vector3.one + transform.position;
- CubismLookTargetをモデルのGameObjectにアタッチする(CubismLookControllerと同じ場所)
- CubismLookControllerのTargetにセットするオブジェクトに、モデルのGameObjectをドラッグ・アンド・ドロップする
よろしくお願いいたします。