Enhanced EyePointer Installer

収録パッケージ: kb10uy’s Various Tools / org.kb10uy.zatools (>= 1.2.1)

2024-09-03 以降はAutomatic EyePointer Installer ではなくこちらをご利用ください。

概要

Siromori 氏の Eye Pointer のセットアップを自動化するスクリプトです。 Constraint の挿入などをアバターのビルド時に自動で実行します。

使い方

Eye Pointer のプレハブをアバターに追加したあと、その GameObject に Zatools Enhanced EyePointer Installer を追加します。

Component View Component View

  • VRC Constraint を使ってセットアップする: Unity の Aim Constraint ではなく VRC Aim Constraint を目のボーンに設定します。Eye Pointer が v1.2 以降である必要があります。
  • ダミーボーンを挿入する: 元の目のボーンの上に DummyEye_L/R を挿入します。元の目のボーンの角度が (0, 0, 0) から大きく離れている場合に有効です。
  • Global Weightを上書きする : Aim ConstraintのGlobal Weightを上書きします。Targetを同じ位置に置いた際のEyeboneの操作量を変更したい際に有効です。
    • Global Weightの操作Puppetを追加する: EyePointer操作Menuと同じ階層に上書き値を操作できるRadial Puppet Menuを追加します。 Global Weight Radial Puppet Menu Preview Global Weight Radial Puppet Menu Preview
  • FX Layer をアバターに適応させる: 後述。通常はオフのままで問題ありません。
  • 別のアバター頭部のルート(上級者向け): アバタールートの頭部ではなく別アバターの頭部を合成する場合、その別アバターのルートになる GameObject を指定します。通常は無指定で問題ありません。

現状ではVRC Constraint を使ってセットアップする,ダミーボーンを挿入するのチェックボックスを有効にするのをおすすめします。

v1.4.2 以降Eye Pointer のプレハブの配置場所はアバタールートの直下である必要はありません。 ビルド時に自動でアバタールートの直下に移動されます。

Eye ボーンの判定方法

以下の順序で判定されます。

  1. Avatar Descriptor の Eye Look が有効な場合、その設定の Left EyeRight Eye を参照します。
  2. Avatar Descriptor の Eye Look が無効な場合、アバタールートの Animator にセットされている Avatar アセット1に記録されているボーンの対応付けのうち、 Left Eye と Right Eye の値を参照します。
  3. いずれにもない場合、Enhanced EyePointer Installer は何もしません。

標準対応していない構成のアーマチュアについて (>=2.3.0)

Eye Pointer は、配布されている状態では目のボーンに到達するまでのアーマチュアの構成に対応しています(2025-05-25 時点)。 アバター本体のアーマチュアの構成がこれらのパターンに一致しない場合、目のボーンに挿入される Aim Constraint を操作できず正常に動作しない可能性があります。

  • Armature/Hips/Spine/Chest/Neck/Head/LeftEye
  • Armature/Hips/Spine/Chest/Neck/Head/Left Eye
  • Armature/Hips/Spine/Chest/Neck/Head/Eye_L
  • Armature/Hips/Spine/Chest/Neck/Head/Eye.L
  • etc… (他数種類)

「FX Layer をアバターに適応させる」のオプションを有効にすると、ビルド時にこれらのアニメーションの操作パスを実際のアーマチュアに即したものに書き換えます。 これにより、アーマチュアのボーン名を書き換えることなく(つまり他のギミックなどに極力影響を及ぼさず) Eye Pointer を動作させることができます。 実際の目のボーンは上記「Eye ボーンの判定方法」で検出可能である必要があるのでご注意ください。

MA Merge Armature と併用する際の注意点

MA Merge Armature を利用して Unity 上で別アバターの頭部を合成するといった構成では、 Eye Look の設定には身体側2のボーンを設定する必要があります。 頭部側の Eye ボーンを設定した場合、Merge Armature によってそのボーンが消滅し上記の参照先の検索に失敗してしまいます。

Enhanced EyePointer Installer は処理中に Eye ボーンの Transform 値を操作しますが、 MA の処理の一部でボーンの参照先を修正する3際に Transform 値が操作する前の値に戻ってしまいます4(Unity が悪い)。 なお現在はボーンの参照先を修正する前の値に再設定する処理が追加されている5ためこの問題は発生しません。

既知の問題

v1.4.1 で修正済み

(v1.2.1) EyePointer v1.2 でダミーボーンを挿入するとフルトラキャリブレーション時に Constraint が意図しない挙動をすることが確認されています。また、他のプレイヤーからも同様に正面ではない(無効化されていない)状態で見えることがあります。

上記の現象は Avatar Descriptor の Eye Look の設定に起因します。 詳しくはIssue #16 のコメントを参照してください。 v1.4.1 以降はこの場合無意味な GameObject を追加し Eye Look をそれに対して有効化します。


  1. 紛らわしいですが、Humanoid リグの FBX ファイルをインポートした後に Jaw を外したり Force T-pose したりするアレです。 ↩︎

  2. 厳密には Merge Armature で統合先に指定されている、最終的に残る方の Armature に含まれる Eye ボーン ↩︎

  3. キメラアバターでビルド後Validation時にエラーになることがある。 ↩︎

  4. Avatar にバインドされる Humanoid ボーンの Transform に対する操作が Rebind humanoid avatar パスで破棄される ↩︎

  5. Preserve local transform when rebinding humanoid avatar ↩︎