Unityで、木の次は空と太陽を入れ込みます。太陽は動かすことができます。では、説明します。
資料はこちら → unityその13
p.1 木と同様に空に関するAssetsをストアから入手します。①Unity Assets StoreのサイトでWispy Skyboxを検索後、Add to My Assetsをクリックして入手します。入手の仕方は、「」で説明しました。②Download、Import後Projectウィンドウに Wispy Skyのフォルダを確認してください。③Main Cameraのインスペクターの Clear FlagsにSkyboxがあることを確認ください。④Unityの上のリボンにあるWindow→Rendering→Lightingの順にクリックします。⑤Environmentの「Skybox Material」の右端のマークをクリックして、⑥「wispy」で検索し、「WispySkyboxMat」を選択してクリックします。すると「Skybox Material」のボックス内に「WispySkyboxMat」が表示されます。
p.2 Game画面にしてください。⑦空が画面に反映されました。⑧Assetesフォルダ上で右クリック→ Create →Folderでフォルダができますので、フォルダ名をMatarialとします。⑨ Matarial上で右クリク→ Create → Matarialとし、フォルダ名を「MySkyboxProcedural」とします。⑩ Matarialを選択してインスペクターのShaderのプルダウンをクリック後、Skybox→Procedualを選択します。
p.3 ⑪ Matarialフォルダ内にMySkyboxProceduralができているはずです。⑫Window→ Rendering→ Lightingの順にクリックし、⑬Environment→「Skybox Material」の右端のマークをクリック→「MySkybox」で検索→ 「 MySkyboxProcedural 」を選択します。ゲーム画面にすると空に太陽が現れました。見えない場合は、カメラの向きを変えてみてください。
p.4 ⑭Matarialフォルダ内のMySkyboxProceduralをクリックしてインスペクタ画面を表示させ、 太陽の大きさや空の色を変えることができます。Sky Tintは空の色、Groundは地平線の下の色を変えます。
p.5 太陽を動かすプログラムを作成しますので、⑮プロジェクトのフォルダ上(ここではbattle)で右クリック→Create →C# Script→ファイル名を「RoundLight」とします。⑯ 「RoundLight」をダブルクリック後、以下のコードを書いて保存します。⑰HierarchyでDirectionalLightをクリック→インスペクター画面→Add Componentクリック→Round Lightクリックし、⑱ Scriptがリンクしたことを確認します。⑲太陽の移動が見れるように、カメラの位置を変更します。以上の操作は、Unityが持っているDirectionalLightのライト機能を利用して、ライトの位置が円周上で時間を変えて移動するようにコードを作成している訳です。
p.6 ゲームを実行すると左上から右のように連続して絵が変化していきます。夕方→夜→朝日→太陽が登って行きます。あれ、太陽の出る向きが違いますね。