UnityでIBL風

UnityでもIBL風の描画が可能です.

以前はCubeMapという6枚の画像を作成する必要がありましたが,現在はそこが自動化されているようです.

まず適当にオブジェクトを配置します.

マテリアルのMetalicの設定を多めにしたものをアサインしています.

unityibl1

 

つづいて,HDRファイルを読み込みます.色が変になっていますが,気にしないで.

unityibl2

 

読み込んだHDRファイルを選択し,インスペクタを調整します. Texture Typeは Cubemapにし,MappingはAutoでかまいません.設定後,Applyをクリックします.

unityibl3

 

つづいて, Asset>Create>Material マテリアルを作成し,名前を適当に決めます.この場合はmysky2にしています.

unityibl4

 

作成したMaterialを選択し,インスペクタを以下のように設定します.ShaderはSkybox/Cubemapに.Cubemapに読み込んだHDR画像を.

unityibl5

 

つづいて,現在のカメラのSkyboxの設定を変更します.Window>Lighting を選び,開いたインスペクタの Scenesのタブを選択し,Skyboxの項目にさきほど作成したマテリアルmysky2をいれます.

unityibl6

 

こんなかんじになります.左の球2つは,反射にボカしを入れて,質感を変えていますよ〜

unityibl8

 

この影についてはIBLではんくDirectional Lightの影を使用しています.そこまで複雑な計算はできないようですね.

追加

メタリックなもの以外にも効果はあります.(HDR設定入れ済み)

unityibl9tuning

左 ノーマルのスカイボックス,右 IBLとカメラエフェクト追加

(参考)

右図のカメラエフェクトの例

unityIBL10

おつかれさまでした.