[Unity] ツルツルのマテリアルに映り込む景色を設定する

Unityはじめました。saekiです。

手順を忘れないように記録を残しておこうと思います。

最近ツルツルなマテリアルを見ていて、周りの景色も映り込むようにしてツルツルテカテカ感を増したいなと思いました。

公式マニュアルのこの辺も確認しましたが、細かいことを読むのがあまり得意ではないので「うっ…」となったところです。

Cubemap – Unity マニュアル

とりあえず操作しながら考えることにしました。

大まかな手順

画像の設定

  1. キューブマップ用のテクスチャ画像を用意する
  2. テクスチャからキューブマップを作成する

マテリアルの設定

  1. マテリアルを新規作成
  2. マテリアルのShaderをSkybox/Cubemapに変更する
  3. マテリアルのテクスチャ画像にキューブマップを設定

Skyboxの設定

  1. Skyboxのマテリアルを設定
  2. Environment Reflectionsのマテリアルを設定

画像の設定

1. キューブマップ用のテクスチャ画像を用意する

Asset Storeからも探せますが、Googleで「Cubemap」と検索すると結構いっぱい出てきます。まずは無料の素材を使って試してみると良さそうです。

今回はこちらの画像をテクスチャとして入れてみます。

映り込むときに明暗がはっきり出て分かりやすそうな白黒。

2. テクスチャからキューブマップを作成する

Texture Typeを「Default」、Texture Shapeを「Cube」にしました。

Mapping は Auto にしています。

Mappingを変更すると映り込み方が変わります。

 

マテリアルの設定

1. マテリアルを新規作成

projectビューでマテリアルを新規作成します。

 

2. マテリアルのShaderをSkybox/Cubemapに変更する

 

3. マテリアルのテクスチャ画像にキューブマップを設定

先ほど用意したキューブマップを選択します。

 

 

Skyboxの設定

デフォルトのSkyboxだと景色はこんな感じですよね。

これを変更していきます。

 

1. Skyboxのマテリアルを設定

メニューバーから「Window > Rendering > Lighting Settings」でLightingウィンドウを開きます。

 

Skyboxのマテリアルを設定します。

先ほど作ったマテリアルを適用すると…

お。周りの景色は変わったけど、球体にはまだ何も映り込んでいないですね。

 

2. Environment Reflectionsのマテリアルを設定

Environment Reflections の Source を Custom、Cubemap を Skybox のマテリアルと同じテクスチャ画像にします。

 

できましたー!映ってるー!

 

 

おまけ

Skyboxのテクスチャを変更したのにEnvironment ReflectionsのCubemapを変更するのを忘れると、周りの景色と映り込む景色が違う不思議な世界になります。