VRChat 非公式日本語ドキュメント

Head Chop

アバターを着用すると、VRChatは一人称視点での視界へのめり込みを防ぐため、頭部のボーンのスケールをほぼ0に設定し、自動的に「Head Chop(頭部切断)」を行います。VRCHeadChopは、どのボーンを縮小するかを制御できる任意のアバターコンポーネントで、これを使用することでアバター作成者は以下のことが可能になります。

  • 髪や鼻など、アバターの頭部の一部を一人称視点でも見えるようにする。
  • フードなど、頭部以外のアバターの一部を一人称視点から隠す。

VRCHeadChopは、アバターを着用しているユーザー視点での見え方にのみ影響します。鏡に映る姿や他のプレイヤーから見たアバターの見た目には影響しません。

コンポーネントのプロパティ

vrcheadchop-618b6e18-2024-02-06_11-48-10_Unity.png

プロパティ説明
Target Bonesこのコンポーネントで制御する最大32個のボーンのリストです。各ボーンは個別に設定できます。
TransformボーンのTransformです。
Scale Factorこのボーンに適用するスケールを設定します。
スケール倍率が0の場合、ボーンは完全に非表示になります。
スケール倍率が1の場合、ボーンは完全に表示されます(デフォルト)。
Apply Conditionどの条件下でトランスフォームにスケーリングを適用するかを制御します。
- Always apply(デフォルト)
- VR only
- Non-VR only
Global Scale Factor各Target Bonesのスケール倍率に乗算します。すべてのボーンを一度にスケール調整したい場合を除き、通常は1に設定しておいて構いません。
Global Scale Factorが1の場合、各Target Bonesは個別のスケール倍率を使用します(デフォルト)。
Global Scale Factorが0の場合、すべてのTarget Bonesのスケール倍率は0になります。
使用のヒント
  • 親ボーンのVRCHeadChop設定を変更すると、すべての子ボーンにも影響します。
  • 子ボーンが独自のVRCHeadChop設定を持っている場合、親ボーンの設定よりも優先されます。
  • アバターにアタッチできるVRCHeadChopコンポーネントは最大16個です。この制限を超えると、アバターSDKでエラーが表示されます。
  • 「Lock Hip」ロックタイプを使用する場合、VRCHeadChopと組み合わせるとアバターの頭部が視界を遮ることがあります。

基本的な使い方

VRCHeadChopの最も一般的な使い方は、アバターの髪の毛を表示し続けることです。ほとんどのアバターにおいて、髪のボーンは頭部ボーンの子要素になっています。

  1. 表示させたいボーンを「Target Bones」リストに追加します。
  2. それらのスケール倍率(scale factor)を1に設定します。
  3. (オプション)非VRプレイヤーに対してこれらのボーンを表示したくない場合は、「Apply condition」を「VR Only」に設定してください。

これにより、髪のボーンは一人称視点から完全に表示されるようになります。頭部の残りの部分や、その他のすべての子ボーンは非表示のまま維持されます。

例えば、SDKに含まれているサンプルAvatar Dynamicsロボットには、髪の毛と一対の動物の耳があります。以下の設定を行うことで、頭部の残りの部分を隠しつつ、これらの部位を一人称視点から表示し続けることができます。この例では、「Apply condition」も「VR Only」に設定しているため、これらのパーツはVRでプレイしている時にのみ表示されます。

vrcheadchop-618b6e18-2024-02-06_11-48-10_Unity.png

表示したいボーンの子トランスフォーム(例:髪の毛の各房など)をリストに追加する必要はありません。これらはルートボーンと一緒に表示されるためです。また、VRCHeadChopコンポーネントをどのトランスフォームに追加するかは重要ではありません。インスペクターで設定したトランスフォームのリストがすべてです。

その結果、髪や耳は一人称視点から見えるようにスケールが戻されますが、目は視界を遮らないようスケールが縮小されたままになります。

vrcheadchop-618b6e18-2024-02-06_11-48-10_Unity.png

このコンポーネントの有効状態をAnimatorで設定することも可能です。コンポーネントが無効な間は何も効果を発揮せず、再度有効にすることで機能します。これを利用して、アバターの特定のパーツを一人称視点で表示するかどうかを切り替えるエクスプレッション(Expression)トグルを作成できます。プレイヤーが好みで一人称視点の表示機能をオフにできるよう、この設定を行うことを推奨します。ボーンをどれだけ縮小するかをより細かく制御したい場合は、Animatorを使ってGlobal Scaleを制御することもできます。

その他の活用方法

Target Bonesのリストに頭のボーンを含めることで、頭のボーン自体のスケールを直接変更することも可能です。この場合、VRChatは自動で頭のボーンを縮小表示する処理を行わなくなり、代わりに指定したスケール係数が適用されます。その上で、一人称視点で見せたくない頭の子ボーンのスケール係数を0に設定すれば、それらを消すことができます。この手法をとる場合は、視点が含まれる顔の部分を縮小して、着用者がアバターの頭の内側を見ることがないように設定するのが一般的です。

このコンポーネントのもう一つの活用方法として、一人称視点では表示したくないアバター上のオブジェクトを隠すという使い道があります。例えば、アバターのフードが頭のボーンの配下ではないものの、頭のボーンにウェイト付けされている場合、このコンポーネントを使用してスケールを0に設定することで、一人称視点時にそのフードを非表示にすることができます。

最終更新: