VRC石化ワールドの作り方2プロジェクター黒化現象について

お久しぶりの投稿です。もう一年ほど間隔があくVRCペトリウム主催の交響型リンクスと申します。
おかげさまでその後ぽつぽつと作ったワールドにも多くの反響があり、感謝しきれないほどです。
さて今回は前回を踏まえても起こってしまう、「プロジェクター黒化現象」に対する効果的な手法を紹介します。

訂正


前回はプロジェクターの扱いに際し、ワールドのすべてのライティングをBakedにすることで原点以外のプロジェクターの影を消すことができると紹介しましたが、これを訂正します。正しくはRenderModeをNot Importantにすることで影を消すことが可能でした。

プロジェクター黒化現象とは?

プロジェクター黒化現象とは、Liltoonなどで発生する、プロジェクターを当てた際Sceneビューでは正常なのにいざテストしてみると真っ暗になってしまうという問題です。
これはLiltoonのデフォルトのライティング設定によるものもありますが、これを治しても治りません。

Liltoonのデフォルト設定。正しく表示されるにはLower Brightness Limitを1にする必要があります

これを変えても治らないものを「プロジェクター黒化現象」といいます。
原因は不明ですが、Sceneビューでは正常な一方Gameビューでは黒化している、また不適切な光を持ち込むことでSceneビュー上でも再現できることを考えると、「アバターによる光の持ち込み」「Bloomなどのポストプロセッシングによる後天的な光の発生」だと考察できます。

注意

まず先に書いておきます、発生原因が不明である上、この解決手法も理由は不明です。ライトの存在がどうこうなるのかな…とか考えていますが、「よくわからん!とりあえず直る!」という感じです

解決手法

では本題の解決手法です。
まずは新しいマテリアルを作り、LiltoonShaderにします。
RenderQueueがいじれるならば他のシェーダーでも構いませんし、自分でシェーダーをいじれるならば自作のものでも構いません。
そしてRenderQueueを2501に設定します。
はい、2501です。なんじゃその数字、となるかもしれませんが2501です。
カットアウトの2450でも半透明の3000でもないぞと思われた方、そうなんです。
そしてBaseSettingから以下のように設定します

あれ?Invisibleにチェックが入ってるぞ?

となった方いますよね。なんで完全に透明なものが表示のバグに影響を及ぼすのか?と思いますよね。
私もそう思います。

でも透明でも黒化現象が治るんです!

あとはこれをプロジェクターのどこか背景に映るところに適用すれば完成です。

黒化現象がなぜか治ります。

せっかく透明にしてるので、例えばSphereで影が出てほしくないエリアを囲ってこのマテリアルを適用すればいいんじゃないですかね?
実際私のワールドのほとんどはこれを適用し黒化現象を駆逐しました。

ゴールドチョコワールドの例

そう。カメラの先に適用されたメッシュがあれば、透明でも、壁で区切られてても効果あるんです。本当にナニコレ.…

おわり

今回の記事はこれで以上です。あと去年のワールド投稿ペースを見ていただいても分かるのですが、現在極めて多忙と化しており、2022アップデートも含め新作を出せる余裕はないと思います。
というわけで石化ワールドをみんなで作ろう!めざせNew and Note Worthy占領!質問があれば専用Xアカウント、暇女神の裏垢にていつでもこたえられることは答えるので、ぜひみんな作ってみてくださいねー


この記事が気に入ったらサポートをしてみませんか?