かなりニッチな内容ですが、どなたかの役に立てれば光栄です。
解決方法
解決方法自体はシンプルだったため、先に載せておきます。
- 読み込んだマテリアルインスタンスの01_Extentionから
bUseFOVScale
をFalseにする
それぞれのマテリアルの内部まで深く確認できていないため、上記の変更で何か別の問題が発生するかもしれません。
もし確認できたら追記したいと思います。
概要
タイトルの映らないという様子は以下の通りです。
こちらはSceneCaptureComponentCube
で取得した全天球画像ですが、アバターの頭頂部と足の部分だけが消えてしまっています。
足の影は残っているため、元のアバターを改変したというわけではないことが分かると思います。
再現
準備
VRM4U
公式セットアップに沿って導入してください。
VRMモデル
今回はVRoid HubからAvatarSample_Dをお借りします
SceneCaptureComponentCubeの設定
基本的に記事に沿って行けば問題ないはずです。
SceneCaptureComponentCube
に立方体の線が入る場合は二つ目の記事を参考にポストプロセスの設定を変更してください。
問題の確認
上記のポストプロセス周りの設定を戻すと、どうやらCubeの上面と底面の部分で表示されなくなっていることがわかります。
また、VRMのインポート時にMToon Lit
を選択した場合は正常に表示されます。
(左:MToon Unlit 右:MToon Lit)
SceneCaptureComponentCubeでFinalColor
ではなくSceneColor
にしても該当の問題は発生しています。
ここまででMToon Unlit
で使用しているマテリアルに問題がありそう、ということが分かりました。
問題の解決
以下の手順で修正できるはずです。
-
MToon Unlit
でインポートしたVRMアバターのマテリアルインスタンスを開く- ここではインポート時に生成される元のマテリアルインスタンスを修正します
- 該当マテリアルのパラメータのうち、01_Extention内にある
bUseFOVScale
を有効にし、False に設定する - VRMアバターの持つすべてのマテリアルに上記を適用する
- Cubeの上面と底面に入る可能性のあるマテリアルだけに適用しても良いかもしれないです
一通り設定すると、上記の画像のように正常に表示されるようになるはずです。
最終的な解決方法としては、該当のマテリアルインスタンスのパラメータを手当たり次第試して見つけました。
そのため、bUseFOVScale
が具体的にどう影響しているか、という部分は調査しておらず解説もできません。すみません。
さいごに
前回の記事を含め、元々は可愛いVRMアバターを周囲に配置した360°画像を作りたい!というモチベーションから始めたのですが、思っていたよりも細かい躓きポイントが多かったです。
これで無事綺麗な360°画像を生成できるようになったはずです。