【UnityC#講座】Render Textureでゲーム内にディスプレイを作る、Lens Flareで太陽を作る


Unity2018.1.5f1
Windows10

Render Texture&Lens Flare

今回はRender Textureでゲーム内にディスプレイを作る方法を紹介と、Lens Flareで太陽を作る方法を紹介します。

■Render Textureでディスプレイを作る

Cameraを出す

まずはモニターにするためのCameraを出します。
どうもMain Cameraでは使えないようです。

Hierarchy > Create > Camera

そのCameraのAudio Listenerコンポーネントにチェックが入っていると警告が出るので外しておきましょう。

Render Texture/Audio Listener

Render Textureを作る

次にRender Textureを作ります。

Project > Create > Render Texture

Render Texture/アイコン

Cameraにセットする

名前を入力するとアイコンが真っ暗になりますが、次にCameraコンポーネントのTarget TextureにRender Textureを入れてください。

Render Texture/Target Texture

そうするとアイコンにCameraで移された映像が出ます。

Render Texture/アイコン/Target Texture

オブジェクトにアタッチする

そして後はオブジェクトにそのRender Textureをアタッチしたら出来上がりです。

Render Texture/Quad

薄い画面にするならQuadにアタッチするのが一般的なようです。
QuadとPlaneは同じような板のオブジェクトですが、Quadの方がメッシュ数が少ないそうです。

CubeやSphereなどのオブジェクトでも使えます。

Render Texture/Cube、Sphere,Capsule、Cylinder

ゲーム内にディスプレイを作る方法はこれで終わりです。

■Lens Flareで太陽を作る

Lens Flareコンポーネントを加える

Lens FlareはCameraに向かって太陽やそこから降り注ぐ光のような効果を作れます。
まずは空のオブジェクトを作り、そこにLens Flareコンポーネントを加えましょう。

Hierarchy > Create > Create Empty

Lens Flare/コンポーネント

Flareを用意する

次はそこに入れるFlareを用意します。
こちらの無料アセットのどちらかを入れてください。

スポンサーリンク

その中にあるSunをFlareにセットしてください。

Lens Flare/Assetアイコン

そうすると名前の通り太陽のような強い光の塊が現れます。
空に上げて太陽として使ったらよいでしょう。

Lens Flare/Sun/Scene

Lens Flare/Sun/Game

ちなみにSceneビューで表示する時はSceneビュー上部の効果のボタンをクリックしておきます。

Lens Flare/エフェクトボタン

もしGameビューに表示されない時はMain CameにFlare Layerコンポーネントがあるかチェックし、なければ追加すれば表示されるはずです。

Flareを自作する

次はFlareを自作してみます。

Project > Create > Lens Flare

Lens Flare/Flareアイコン

これにこのような画像をセットしてみました。

Lens Flare/素材

FlareのInspectorからTexture LayoutとElements0のSizeを設定します。
Texture Layoutは使う画像のどの部分を使うか決められるのですが、デフォルトではその画像の一部しか使えないので1 Textureに設定することで画像丸ごと表示することができます。

Lens Flare/設定1

そうするとこのような光の効果が表れます。

Lens Flare/Gifアニメ1

そしてもう少し込み入った設定をすると・・・

Lens Flare/設定2

このような日光の効果のようなものを作れます。

Lens Flare/Gifアニメ2

しかし太陽光から見えるひし形のものって何て言うのですかね?
検索しても分かりませんでした。
知っている方がいらしたら教えてください・・・(笑)

スクリプトで指定する

ちなみにスクリプトで強度、フェードするスピード、色を指定できます。
Lens Flareコンポーネントがあるオブジェクトにアタッチし、InspectorからPlayerになるオブジェクトを入れてみてください。

今回はこれで終わりです。
お疲れさまでした。

■関連記事

【UnityC#講座】フィールドを走り回ろう【Terrain】

【UnityC#講座】Directional LightとSkyboxで1日を表現する

【UnityC#講座】Skyboxを変更する方法【スクリプト】

【UnityC#講座】無料アセットで一人称視点に剣を振らせる

スポンサーリンク

目次に戻る