PolySeek Logo
読み込み中...

[VRChat]ビューポイント自動設定 ViewPointFitter

すずめの巣すずめの巣
商品画像 1
商品画像 2

説明

瞼に合わせて、視点を自動設定。

顔の改変後、ビューポイントをどこに置くか迷ったときに。 Viewpoint Fitter は、アバターの瞼の形状から視点の高さと奥行きを計測し、VRC Avatar Descriptor の「View Position」に反映する Unity Editor ツールです。

対象アバターと肌の部分を指定して、「視点を自動設定」。 Descriptor の Blink 設定を優先し、未設定なら顔のメッシュと瞬き用 BlendShape を一覧から選べます。vrc.blink があれば初期選択されます。

※ Humanoid アバターと、0 で開眼・100 で両目を閉じる単一の BlendShape が必要です。

■ できること

・開眼時の上瞼と下瞼の中央から、視点の高さを計測 ・閉眼時の瞼の表面から、視点の奥行きを計測 ・左右の計測結果を平均し、View Position に直接反映 ・Descriptor の標準/カスタム T-Pose を一時コピー上で評価して計測 ・元の姿勢と、調整済みの BlendShape の値を保持 ・Unity の Undo で設定前の位置へ戻す

Prefab の配置や、アバターへの専用コンポーネント追加は不要です。 Unity 上で視点位置を設定するためのツールとして使えます。

■ 使い方

  1. アバターを開いた Unity プロジェクトに、本商品の unitypackage をインポートします。
  2. Play Mode と Animation のプレビューを終了します。姿勢を手動で変える必要はありません。
  3. Unity 上部の「Tools > Viewpoint Fitter」を開きます。
  4. 対象アバターと肌のマテリアル枠を指定します。Descriptor の Blink が未設定なら、顔の SkinnedMeshRenderer と瞬き用 BlendShape を選びます。
  5. 「視点を自動設定」を押し、表示された結果を確認します。

しらつめでの設定例:顔のメッシュ「Body」/肌の部分「0: ST_Skin_momo」 ほかのアバターでは、オブジェクト名やマテリアル名が異なります。

■ 計測の基準

高さ:選択した瞬き用 BlendShape を 0 にしたときの、上瞼と下瞼の中間。 奥行き:選択した瞬き用 BlendShape を 100 にしたときの、閉じた瞼の肌表面。 左右:高さ・奥行きは左右の平均。X 座標はアバタールート基準で 0 に固定。

左右の測定位置には、視点の高さに比例する本ツールの基準を使います。 実際の VR 機器の IPD を計測・変更する機能はありません。

計測は一時コピーで行い、元のアバターの姿勢と全 BlendShape の値を保持します。 書き換える項目は View Position だけで、元メッシュ・マテリアル・他の BlendShape は変更しません。Scene の保存は自動では行いません。

■ 必要な環境

・Unity 2022.3 ・VRChat Avatars SDK ・Humanoid の Animator と VRC Avatar Descriptor ・瞬き用 BlendShape を持つ顔の SkinnedMeshRenderer ・Descriptor の標準または有効なカスタム T-Pose Controller ・正の一様スケールが設定されたアバタールートと、その親オブジェクト

動作確認環境:Unity 2022.3.22f1/VRChat Avatars SDK 3.10.5 実物で動作確認したアバター:しらつめ(Shiratsume)

特定のアバター名に依存しない設計ですが、すべてのアバターでの動作を確認したものではありません。VRChat 内での見え方は未検証です。SDK の proxy アニメーションは実機で置き換わることがあるため、必要に応じて Build & Test で確認してください。

■ 対応範囲について

瞼の開口部がメッシュの形状として存在するアバターを対象にしています。 テクスチャの透過だけで目の穴を表現している場合や、装飾と肌が一体になっている場合などは、正しい輪郭を判定できないことがあります。

他の BlendShape により目が閉じたままになっている場合、測定位置が目の開口部から外れる場合、候補が複数ある場合などは、視点を変更せず理由を表示します。 左右非対称の顔では平均値を採用するため、両目の条件に完全には一致しない場合があります。

商品画像は機能を表現したイメージ図です。アバターモデルは付属しません。

■ ライセンス

MIT ライセンスです。 商用利用・改変・再配布が可能です。再配布時は、著作権表示と MIT ライセンスの表示を保持してください。 本ソフトウェアは無保証で提供されます。

ライセンス全文:https://opensource.org/license/mit

■ 不具合の報告

ご連絡の際は、Unity と SDK のバージョン、使用アバター、再現手順、表示されたエラーメッセージを添えていただくと、状況を確認しやすくなります。