以下の内容はhttps://kxn4t.hatenablog.com/entry/2025/05/02/184102より取得しました。


【VRChat】Parent Constraintを使ってボーンをHeadから別のボーンに設定するときの注意点

VRChatのアバター改変において、Parent Constraintを使ってボーンをHeadから別のボーンに設定する際に注意すべき点があったので、備忘録として残しておきます(1敗)

※2025/5/2時点での仕様です

結論

Parent ConstraintでボーンをHeadから別ボーンに移すときはVRC HeadChopも一緒にオンにする

VRChatにおけるHeadボーンの仕様

まずはじめに、VRChatにおけるHead以下のボーンの仕様について知っておく必要があります。

VRChatで遊んでいると、アバターの前髪やツインテールなどの髪の毛、メガネなど頭に装着されたものが自分の視界には入らないようになっていることに気づくと思います。

これは、自分の視点から見えるローカルのアバターにおいて、Head以下のボーンのScaleが0に設定されることで、自分からは前髪などが見えなくされています。

When wearing an avatar, VRChat automatically "chops off" the avatar's head bone by setting its transform scale to almost 0. This stops the head from clipping into view from the user's first-person perspective.

これを見えるようにできるコンポーネントがVRC HeadChopです。

creators.vrchat.com

Parent ConstraintでHeadから別ボーンに移す際の問題

前述した仕様により、Parent ConstraintでHeadについているボーンの親をHead外の別ボーンに設定すると、自分の視点で映っているアバターにおいてはScaleが0のまま移ることになるようです。

その結果、そのボーン以下についていたPhysboneのコンポーネントがうまく対応できず、自分の視点でだけ荒ぶって見えるようになってしまうようです。

この問題を回避するには、Parent Constraintを有効にすると同時に、VRC HeadChopコンポーネントをオンにしてScaleを1に戻すことが必要です。

具体例

てんぱすおおもりさんのLop Ear Mineのフードを付け外ししたく、フードのボーンをHeadからChestに移そうと考えました。

booth.pm

MAで組み込むために以下のようにコンポーネントを設定しました。

Bone Proxyをうまく使うことで、モジュールとして切り出せるようにしています。

これでConstraintのWeightを0→1にするアニメーションを動かしてみたところ、最初のGIF動画のように自分視点だとフードについた耳がぴろぴろしてしまいました。

この現象は自分視点だけで発生し、リモートユーザー(同じインスタンスの別のユーザー)の視点からは正常に見えます。

この問題を解決するためには、VRC HeadChopコンポーネントを以下のように設定します。

MA Objcet Toggleをうまく使うことで、組んだアニメーションに変更を加えることなく、Weightを0→1にすると同時にHeadChopをオンオフできるようになりました。
(MA Object ToggleとMA Shape Changerをうまく使おう会)

このようにHead Chopをうまく組み合わせることで、耳がぴろぴろすることなく、ボーンの親を付け替えつつフードを脱がせることができるようになりました。

さいごに

Parent Constraintでボーンの親を変えるというのはよくやることだと思いますが、Head以下についているボーンをHead外に付けるとPhysboneがうまく動かなくなるというのに中々気づけずハマってしまいました。

一応Cannyに書いたので、もしかしたら将来的にはこの問題(仕様?)が改善されるかもしれませんが、もしPhysboneが想定外の動きをする場合は、この記事のことを思い出してくれるといいかもしれません。

feedback.vrchat.com

(余談)Cannyに書いた~ってPostしたところ、すぐにanatawa12さんからHeadChopでは?ってリプライが来て、あ~~~~~~~~~それだ~~~~~~って合点がいってあっという間に解決できました。いつもありがとうございます…。
Canny書いたの無駄になった気がしないでもないですが、ちゃんと書いた結果なんとかなったと思いたい。




以上の内容はhttps://kxn4t.hatenablog.com/entry/2025/05/02/184102より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14