バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事は、unityの鏡面反射でリアルタイムが動かずrealtime reflection probes are disabled in quality settingsと警告が出ていた時の備忘録です。
以前同じようなことがあったけどもしかしたらこの記事の内容で解決するかな?だいぶ前の記事だからよく覚えていないけど…。

症状:リフレクションプローブをリアルタイムにしても動かない
ミラーを作ってメタリックとスムースネスを1にして、
リフレクションプローブを設定したけど、
ベイクの固定された感じの反射しかしておらず、オブジェクトを動かしてもミラーに反映されない。
うーん全く動かない。リアルタイム(リアルタイムとは言ってない)ということなのか…。
こんな警告が出ていた
多分これが原因だと思う。
クオリティ…多分品質設定のことかな?
realtime reflection probes are disabled in quality settings
Bard氏に聞いてみたが…
BardっていうのはChatGPTのGoogle版みたいなやつ?
もちろん無料で使えます。




Unityでリアルタイムに反射される鏡を作成する方法はいくつかあります。最も一般的な方法は、鏡オブジェクトの材質に「鏡」シェーダを使用することにより、鏡オブジェクトの材質に「鏡」シェーダを使用することです。このシェーダは、カメラから見たオブジェクトの反射をレンダリングします。
鏡オブジェクトを作成したら、その材質に「鏡」シェーダを割り当てます。シェーダは、アセット ウィンドウの「シェーダ」フォルダにあります。シェーダを割り当てるには、次の手順に従います。
鏡オブジェクトを選択します。
プロパティ ウィンドウで「材質」タブをクリックします。
「新規」ボタンをクリックします。
シェーダ リストから「鏡」シェーダを選択します。
「OK」ボタンをクリックします。
鏡オブジェクトがリアルタイムに反射されるはずです。鏡オブジェクトが反射しない場合は、次の点を確認してください。
鏡オブジェクトの材質に「鏡」シェーダが割り当てられていること。
鏡オブジェクトがカメラから見える位置に配置されていること。
鏡オブジェクトがカメラに近すぎると、反射が正確にレンダリングされない場合があります。
これらの手順を試しても鏡オブジェクトが反射しない場合は、Unity フォーラムや Unity サポートにお問い合わせください。
鏡シェーダー…?
というか反射はしてるけどリアルタイムで映らないって悩みなんだけども(;^_^A
鏡シェーダーっていうのはなんかスタンダードアセットの中にあるらしい。
鏡シェーダは、Unity の標準シェーダ ライブラリに含まれています。アセット ウィンドウの「シェーダ」フォルダを開くと、シェーダ リストに「鏡」シェーダが表示されます。
もしシェーダが見つからない場合は、Unity のインストール フォルダにある 「Standard Assets」フォルダの「Shaders」フォルダにシェーダが含まれています。
スタンダードアセットはちょっと前に配布中止になって、スターターアセットとかいうやつになってたけど…。
以前この記事に書いた。



承知しました。スタンダードアセットは配布中止になりましたが、鏡シェーダはUnityのAsset Storeからダウンロードできます。Asset Storeで「鏡シェーダ」を検索すると、いくつかのシェーダが見つかります。お好みのシェーダをダウンロードして、Unityプロジェクトに追加してください。
Bard氏もしかしてunityエアプ…?Σ(゚Д゚)
んー生成AIって結局記事を収集したりしてるだけだから、こういう細かい情報は知ってる人に聞いたほうが正確だと思う。
スターターアセット入れて見たけどそれっぽいのはなさそうだな…。
アセットストアにfreeの鏡っぽいのはあったけどアップデートされてないからか?使えなかった。
無料アセットはボランティアだから更新されず消えていくことが多い気がする(-_-;)
うーん鏡シェーダーとやらが見つかってもリアルタイムで反射するには設定が必要だろうし、ちょっと自力で解決してみることにします。
【解決】Project Settingsの品質で「リアルタイムリフレクションプローブ」にチェックを入れればOK
ビルド設定⇒プレイヤー設定 でProject Settingsを開く。
あったこれだ!
結局自力で探してなんとかなりました。
こんな落とし穴があったとは…そういえば品質設定で動作がおかしくなるのは以前もあったかも。



これでちゃんと動いたでござるぞ( *´艸`)
webXRビルドしたけどちゃんと反射した!
↓はWebXRビルドしたやつね。ちゃんとリアルタイムで反射しました。
【重要】品質レベルによって設定が違うので注意
最初PCVR用の設定のところだけしかチェックを入れていなかったんだけど、
これでビルドしたらリアルタイム反射せずベイクになってしまった。
よく見たら下のQuestって書いてある品質のところはチェックが外れていた。
リアルタイムで反射されない時は、とりあえずすべての品質でリアルタイムリフレクションプローブにチェック入れてみると良いかも。
低スペックの場合はきつそうだから配布する時とかは注意したほうが良いかもしれないけど…。
しかしwebXRは容量の制約でリアルタイムはきつそう(;^_^A
Meta Quest2 + Metaブラウザで一応動かせたけど、重すぎてモッサリで画面がチカチカしてしまった(~_~;)
↑では普通に動いてるように見えるけど実際はめっちゃ重かったです。
ベイクすれば普通に動いたけど、webXRの場合は鏡に映すのは静的な背景だけにしたほうが良さそうかな?
軽いプロジェクトならいけると思うけど、ある程度重くなるとブラウザのメモリが足りなくなりそう。
まぁ個人的にいじって遊ぶだけなら制約の少ないPCVRで動かしたほうがいいかな。
おわりに
ちょっとした設定でなんとかなって良かった。
VRChatワールドならプレハブのミラーを使えば良いのだけど、これはunity2020でいじってるVRIFのやつなのでエラーで動かなかったんだよね(;^_^A



まぁ解決してよかったです(*^-^*)