LookAt の設定

最終更新 2021/08/16 update (110d9f1c)

VrmObject の LookAt GUI で設定します。

VRM 3種類の LookAt をサポートしています。 モデルに応じて、以下の3種類の何れかの設定をしてください。

Boneタイプ

Alicia を例に説明します。 デフォルトでボーンタイプに設定されるので特に変更する必要ありません。 以下の項目が関連します。

humanoid に eye ボーンが存在する。

VrmObjectLookAt 設定で LookAtTypeBone を指定。

動作確認 の項に進んでください。

Expressionタイプ(Morph Target タイプ)

new_seedsan を例に説明します。

preset expression
LookLeft
LookRight
LookUp
LookDown

VrmObjectLookAt 設定で LookAtTypeExpression を指定。 Y Range に 1 を設定

動作確認 の項に進んでください。

Expressionタイプ(Texture Transform タイプ)

unity chan を例に説明します。

© Unity Technologies Japan/UCL

preset expression
LookLeft
LookRight
LookUp
LookDown

VrmObjectLookAt 設定で LookAtTypeExpression を指定。 Y Range に 1 を設定

動作確認

  • シーンに Cube を作成(scale [0.1, 0.1, 0.1])
  • VrmController の Gaze にセット
  • VrmController の LookAtTargetType に Calc Yaw Pitch To Gaze を設定(デフォルト)
  • Play
  • Cube を動かして目が動くことを確認

LookAt 基準位置を調整

HeadBone位置 + Offset From Head が LookAt の基準位置になります。 両目の間辺りを目安に設定してください。 この設定は、 VR 時の HMD 座標と兼用です。

TODO: UI

可動範囲を調整

VrmObject の LookAt 画面下部の HorizontalOuter, HorizontalInner, VerticalDown, VerticalUp のスライダーを調整してください。

Curve X Range

  • 大きくするゆっくり動く
  • 小さくすると速く動く

LookAt は 以下の2直線の角度を計算します。

  • LookAt 基準位置から Head ボーンの正面方向(local Z+)
  • LookAt 基準位置から 注視点方向(VrmControllerのGaze)

角度を Yaw(水平) と Pitch(垂直) に分解します。 Yaw は +-180度、Pitch は +-90度 になります。 Yaw, Pitch の上限角度を設定できます。 Curve X Range がその設定で初期設定は 90度 です。

Curve Y Range(LookAt Type: Bone)

  • ボーンの回転角度の制限

上限を制限された角度をそのまま、 EyeBone に代入すると回転しすぎになる場合が多いです。 これを適当な角度に減らす設定が Curve Y Range です。 初期設定は 10度 です。上限角度のときに 10度 回転します。

初期設定では、注視点が 90度 のときに EyeBone が 10度 回転します。 0-90度 では比例して回転し、90度 を超えないようになっています。

Curve Y Range(LookAt Type: Expression)

Expression は角度ではなく 0-1 の Weight になります。 1 を設定してください。

1 で多すぎる場合はいかのいずれかの方法で調整してください。

  • 1 以下に減らす
  • Expression の設定を調整(お勧め)

VRM - humanoid 3d avatar format for VR