トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

OVRCameraRigでVRMに憑依するとき髪などを表示させない1人称対応

VRMアバターに憑依したとき、顔や髪のメッシュが見えて邪魔な時がある

 

VRMにはVRMFirstPersonというコンポーネントがついていてどのメッシュが一人称では表示させない用かとかは自動で設定されている。

でもこれを発動させるには外部スクリプトからFirstPerson.Setupを呼び出さないといけないっぽい

vrm-c.github.io

 

まず手動でレイヤーの9にFIRSTPERSON_ONLY_LAYERと、10にTHIRDPERSON_ONLY_LAYERを設定しないといけない

10にすでに何か入ってる・・・

どのアセットが入れたんだろう?名前的にMetaのMovementSampleだな・・・

VRMFirstPersonでの参照を変えようかと思ったけどpackage内にあるから変えれなさそう・・・

まあMetaのほうはたぶんサンプル用だから消していいか。

 

こんな感じにした

 

そのあとVRMFirstPersonの使い方の記事にあるサンプルスクリプトをVRMファイルに貼ってカメラとかを設定する。FirstPersonは勝手に入った。

カメラのレイヤーの設定部分はスクリプトに含めず手動で設定してもよさそう。以下の記事ではそうしている

qiita.com

肝心なのはVRMFiest.Setup();を呼び出すこと。

これで無事邪魔なもの表示されなくなった~~

 

追加で首に巻いているものも非表示にしたい。

と思ったらそのメッシュもVRMFirstPersonに既に入ってた・・・でも実行してもレイヤー変わってない。

もしかしてSkinnedMeshRendererしか変えてくれないのかな?

手動でレイヤー変えた