「静的な背景」シーンと「動的なインタラクション」シーンを完全に分離して制作しています。背景担当がインタラクションシーンに触れることは一切なく、またインタラクション担当が背景シーンに触れることは一切ありません。インタラクション側が背景シーンを受け取り、プレイ時にシーンの追加読み込みをするという形です。背景シーンはがっつりライトマップを焼きますが、インタラクションシーンはIBLのみです。(屋外の場合は、太陽であるリアルタイムディレクショナルライトをプラス)その際にちょっと工夫をしないと、がっつりライトマップの背景とIBLの小物の馴染みが悪くなってしまうので、お互いのライティングを合わせる方法を紹介したいと思います。ライトプローブで即解決?そのとおりです。背景シーンにライトプローブを設定していれば概ね問題ありません。弊社では敢えてライトプローブを使用していません。その前提での手法です。背景シーン用のライティング仮にこんなステージを用意しました。三方が壁で一方が大きな開口です。普通にライトマップを焼きます。太陽ディレクショナルライトを1つ置き、Lighingタブは以下の設定です。(重要項目ではありません。普通に焼いただけです。)反射を得るためにリフレクションプローブを配置します。今回の作例は非常に単純な部屋の作りなので中央にひとつ配置するのみです。Projection)複雑なシーンの場合は必要に合わせて細かく配置するのも良いでしょう。リフレクションプローブはリアルタイム生成ではなく必ずベイクしてください。ボケ反射に品質の差が出ます。インタラクションシーン用のライティング背景シーンの中に、インタラクションシーン用のライティング設定を仕込みます。VR体験者が主に立ち回る位置にリフレクションプローブを配置し、ベイクします。例として、中央よりやや壁に近い位置を主な体験場所と仮定して設定します。ここで必要なのはベイクで生成されたリフレクションプローブのCubemapです。シーンと同名のフォルダ内に、生成されたEXRファイルがあります。的なファイル名)これをインタラクションシーンで使用します。背景シーンに影響を与えられては困ります。そのため、ベイクが完了したら非表示もしくは削除します。先ほど主な体験場所と設定したあたりに小物を置いてみます。鏡面反射が強いの質感のものと、拡散反射が強い質感のものを用意しました。シーン内にライトは一切配置しません。LightingタブのIBLの設定だけ施します。Lighting」します。すると、ライティングが生成されてIBLが施されます。背景シーンを追加ロードするコンポーネントを適当に作ってプレイ開始。壁を向いている面は暗く、開口部を向いている面は明るい。そんなライティングがしっかり適用されています。メタリックなものは背景側に配置したリフレクションプローブによって反射も適当です。Lighting」しないでプレイ開始すると以下のようになります。メタリックなものは見た目のほとんどが鏡面反射成分なので、これだけ見ると不自然ではありません。(背景シーンに配置したリフレクションプローブのおかげ)しかし、拡散反射成分の強いものはほとんど真っ黒です。Unityには、「最初に読み込まれたシーンのIBLが優先される」という特徴があるようで、がっつりベイクの背景シーンを追加読み込みした際に、そちらのIBL設定が自動的に適用される・・・なんて便利なことにはならないのです。背景シーンからインタラクションシーンをロードしたらどうなるか?(IBL生成前)では逆に背景シーンをベースとして、インタラクションシーンを追加読み込みしたらどうなるのかを検証します。全方位からの白昼のスカイライトでがっつり照らされてしまいました。背景シーンからインタラクションシーンをロードしたらどうなるか?(IBL生成後)おまけに、先程と同じく背景シーンをベースとして、IBL生成後のインタラクションシーンを追加読み込みしたらどうなるのかを検証します。全方位からの白昼のスカイライトでがっつり照らされます。まとめ以上のことから、IBLを施した動的シーンから静的シーンを呼ぶのが最適です。ロード時間の関係で、どうしても重い背景シーンを先に読んでおきた場合は、IBL設定を施した空のシーンから、背景シーン・インタラクションシーンを呼べば良いでしょう。キャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。TSUMIKISEISAKU。