トマシープが学ぶ

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

VRM1.0で1人称モードで頭消したかった

VRM1.0でFirstPersonの設定を呼び出す方法探し

これをVRM1.0でする方法

bibinbaleo.hatenablog.com

VRM1.0って実装方法のドキュメント全然ないの・・・?

中身の仕様とかを見ないといけないのか・・・?

github.com

こちらの記事でFirstPerson周りのことを書いているがよくわからない

zenn.dev

VRM0.xのときのVRMFirstPerson.Setup()に当たるものはどれなんだろう。

構成的にはVrm10Instanceの下?中?

UniVRM 利用アプリケーションの VRM 1.0 への移行について - Speaker Deck

VRMInstanceコンポーネントの中にFirstPerson関連の何かがあるわけではない。関係ないけどFinalIKの文字があった

FirstPerson関連のコンポーネントを調べたらVRM10ObjectFirstPersonというのがあった

頭部を取り除いたモデルを複製している!?

これのSetupAsyncを呼び出すのか?

SetupAsyncでググったら出てきた!

FirstPersonを取得する場合はVRM1.0からはinstance.Vrm.FirstPerson.SetupAsync()で取得できます。

qiita.com

こんな感じか?

using UniVRM10;

でもawaitCallerの部分がわからない

 

あとレイヤー名ももしかしてvrm0.xと設定違うのだろうか

サンプル

サンプルあった。。。

実行して、vrm1.0を読み込んだらFirstPersonには何も表示されなかった。vrm0.xから1.0にuniVRMでアップグレートしたモデルだと、FirstPersonなどのレイヤーの設定引き継がれないのか?

実行中、モデルのすべてのメッシュがTHIRD Person Only layerになってる

もともとはDefalt

この配布モデルでもだめだった

hub.vroid.com

公式がvrm1.0のモデルを配布しているはず・・・

ここから直接ダウンロードできた

https://github.com/vrm-c/vrm-specification/blob/master/samples/Seed-san/vrm/Seed-san.vrm

これだとちゃんと首だけ消えた!モデルの設定なのか・・・

ちなみにsamples/VRM1_Constraint_Twist_Sample/vrm/VRM1_Constraint_Twist_Sample.vrm

のほうは消えなかった。

 

サンプルのスクリプトになんか書いてた。

あとSetupAsync()はVRMをロードしているところでやっていたけど、↑のほうの参考記事と全く同じ・・・

ロードするときはそれでいいのかもだけど、初めからシーンにあるVRMモデルのFirstPersonのセットはどうするんだ?

 

あ、レイヤーをあらかじめセットしておけばいいのか・・・

すごい遠回りした;;

vrm1.0でのFirstPerson設定

vrm.dev

vrm1.0のタブの一番上にある_vrm1_の中に設定する場所がある。

これ

VrmObject と Extract | VRM

 

Select GUIをMetaからFirstpersonに変更

あった。Autoには設定されているのか。vrm0.xではこれでよかったはずなのだが・・・

Autoとかの意味合いは0.xと同じかな

vrm.dev

Autoによる自動分割は重めの処理なんだ・・・知らなかった

以下が推奨

頭に ThirdPersonOnly を指定
体に Both を指定

公式サンプルもちゃんと設定してた。

この設定を自分のvrmにもする

これで書き出して、さっきのサンプルシーンで読み込むと・・・

あれ?

あれ~~Bodyの一部なんだ~。

vrm0.xでSetup()したモデルうまくいってたと思ってたけど気のせいか・・・と思ったが気のせいではない。VRで見たらちゃんと顔消えてる。

え~~~なんで~~

マテリアル非表示にしているのか??