アプリつくってみっか!趣味でiPhone/Androidアプリを開発し、日々勉強した事を書いています。オープンワールド系レースゲームをUnityで開発中です。この広告は、90日以上更新していないブログに表示しています。Probeを使用した静的な環境マッピングで車のボディに周囲の景色を映り込ませました。tf.hateblo.jpこの方法はプログラム実行前に反射マッピンング用のキューブマップを焼いておくので実行時の負荷は軽いのですが、前回書いた通り、よく見ると若干ウソっぽい反射なのがバレてしまいます。Probeを載せ、毎フレームキューブマップを更新するリアルタイムリフレクションを試してみました。Probeを付けたEmptyオブジェクトを作ります。Probeでも同じ物が作れます。次に作ったProbeを自車の子オブジェクトにして車内に配置します。子オブジェクトにする事で、自車と一緒に移動するようになります。する事で、毎フレームキューブマップの全方向のテクスチャーが更新されるようになります。負荷によっては必ずしも毎フレーム更新されるとは限らないようで、映った景色が若干ガクガク動きます。Slicingの設定によるようです。slicingにすることでキューブマップの全面が毎フレーム更新され滑らかになります。処理が重いためフレームレートがかなり下がります。onceがバランスが良いようです。Importanceは固定Probeより高い値を設定します。(例えば他のProbeが1なら2にするなど。)こうする事でリアルタイムリフレクションが固定の環境マッピングより優先して適用されるようになります。Sizeは適当に20m四方にしました。する事で自車の近くにいる敵車にもそこそこいい感じのリアルタイム反射が適用されるはずです。Maskで自車のボディやタイヤがキューブマップに入らないように設定します。何もしないと右下の球状の部分にタイヤやフェンダーの内側などが映ってしまいます。Maskを正しく設定することでそれらがキューブマップ生成用のカメラに映らないようにできます。前回と違い、自車のボディ映る景色が前から後ろに流れています。高架部分の下では高架の暗い色が反射しているのがわかります。難点は、負荷が非常に高い事です。Planeを100にして遠くの景色は映らないようにしていますが、それでも重いです。Unityの内部処理的にはカメラを6個追加したような感じなのでしょうか?リアルタイム反射無しの場合のフレームレートが35fpsなのに対し、リアルタイム反射を適用すると、Unityエディター上で23fpsまで下がってしまいました。ボディに映る景色の違いにも注目して下さい。この重さだと、モバイルデバイスだとリアルタイム反射はちょっと無理かもしれませんね。Probeにチェックが入っていません。従って、そのままの設定でiPhoneなどで実行すると、このように車が真っ黒になってしまいます。Probeにチェックを入れるとリアルタイム反射が適用されます。5だと6fpsくらいしか出ませんでした。Proで30fps出ればOKかなと思っています。今回はこちらの動画チュートリアルを参考にさせて頂きました。アプリこの商品を含むブログを見るプロフィールid:takujidev個人でiPhone/Androidゲームを開発しています。ミツバチ軍団vs昆虫軍団の縦スクロールシューティング。