Probeの使い方をまとめました。Probeは環境の反射を実現するための仕組みです。Probeの位置からレンダリングしたキューブマップを作成し、それをシェーダに渡してサンプリングすることで反射を実現します。今回はまず検証用として、下記のシーンを用意します。ProbeのTypeをBakedにします。レンダリング結果は次のようになります。StaticにしたSphereだけが映り込んでいることがわかります。Staticにチェックが入っていることが映り込みの条件です。動的なオブジェクトも含めるオブジェクトをStaticにするとランタイムで動かすことができません。Staticでないオブジェクトを映り込ませたい場合には次のようにします。Objectsにチェック入れるBakeボタンを押すこれでStaticでないオブジェクトも映り込みました。この方法はベイクを非ランタイムで行うので、ランタイムでオブジェクトを動かしてもキューブマップは更新されません。Probeを生成する方法2ではランタイムでオブジェクトを動かしてもキューブマップが更新されませんでした。キューブマップをランタイムで生成するにはTypeをRealtimeにします。Modeが選択できるようになるので、これでキューブマップを更新するタイミングを制御します。frameにすると毎フレームベイクされます。正確な反射を実現できますが、毎フレーム行うにはかなり重い処理なので現実的ではない設定です。scriptingにしてベイクするタイミングをスクリプトで制御したりする必要があります。scriptingにした場合は下記のようにすればベイクできます。Probeとして使用することもできます。TypeをCustomにするCubemapフィールドにキューブマップをセットする(Bakeボタンは押さない)これだけです。Probeを選択するとSceneビューに黄色い直方体が表示されます。Probeの効果範囲です。Probeにより生成されたキューブマップはこの範囲内にあるオブジェクトにのみ渡され、範囲外のオブジェクトには渡されません。Offsetで設定できます。Volumeボタンを押せばSceneビューで視覚的に設定することもできます。Projectionここまでの設定では、近くにあるオブジェクトを床などに反射させる場合にうまく映り込みません。下のようにPlaneと3つの縦長のCubeを配置し、Planeを床と見立てて映り込みをさせてみます。カメラの位置を変えると、映り込みはしているものの映り込み方が明らかにおかしいことが確認できます。Projectionの設定で解消できます。Projectionを有効にします。Probeの効果範囲をPlaneの大きさにピッタリ合わせます。Projectionの範囲設定という意味も持っています。Projectionにチェックを入れます。これで、効果範囲の際に近い物体ほど完全に正確な反射をするようになります。四角い部屋の床の反射などに効果的に使えそうです。Probeを二つ作って効果範囲を重ねると、重なった部分は二つのキューブマップがシェーダに渡されて反射結果がブレンドされます。BlendingをONする必要があります。Probesにする必要があります。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。