今回は「Unity」の機能である「Skybox」について紹介します。
本記事は、clusterに対応しているUnityを既に導入していて一度も「Skybox(スカイボックス)」の設定を触ったことがないという人に向けて、基本的な使い方を紹介する記事になります。
さて、Unityを開くと最初はこのような空になっていると思います。

これはスカイボックスと呼ばれるもので、要は背景のようなものです。
このスカイボックスを変更することでワールドの表現に劇的な変化を与えることができます。
たとえば、このような海中や

異星のような背景

どんよりとした曇天

などの表現ができます。
デフォルトのものから変えるだけでもだいぶ雰囲気が変わりますし、背景はワールドの表現においても大切な一要素なので、ワールドに合った背景の表現を模索してみるのも楽しいですよ。
というわけで、今回は「Unity」の機能である「Skybox」について紹介します!
スカイボックスとは
まず簡単にスカイボックスについて説明します。とりあえずUnityの公式ページから引用してみましょう。
スカイボックスは、各面に異なるテクスチャを持つキューブです。スカイボックスを使用して空をレンダリングする場合、Unity は基本的にシーンをスカイボックスキューブ内に配置します。Unity は最初にスカイボックスをレンダリングするため、空は常に後方にレンダリングされます。
https://docs.unity3d.com/ja/2019.4/Manual/skyboxes.html , https://docs.unity3d.com/ja/2019.4/Manual/sky.html
ちょっと難しいですね。
要はワールドの「背景」を表現するものだと考えてもらって大丈夫だと思います。
スカイボックスを工夫することで世界に広がりが出て、壮大な表現をすることが可能になります。もちろん見慣れた青空(これはかなり壮大)をつくることも可能です。

スカイボックスを変更する
今回は「Skybox Series Free」という無料アセットを使用して説明します。
それでは、スカイボックスを変更していきましょう!

スカイボックスはスカイボックスのマテリアルを変更することで空の見た目を変更することが可能です。
今回は無料アセット「Skybox Series Free」を使用して進めていきます。
まずは「Skybox Series Free」をUnity Asset Storeから導入しましょう。
Unity Asset Storeの使い方についてはこちらで紹介しているので、分からない方はご覧ください。


「Skybox Series Free」の導入が完了したら、「Project」に下記のフォルダが表示されます。

フォルダを開くと、複数の絵が表示されていると思います。これがスカイボックスのマテリアルになります。


スカイボックスの変更は非常に簡単です。
- 「Window→Rendering→Lighting Settings」を選択してください。

- 選択すると下記のような「Lighting」の設定画面が表示されるので、Environmentタブを選択してください。

「Lighting」内の「Environment→Skybox Material」がスカイボックスを変更する場所になります。
デフォルトでは「Default-Skybox」が設定されています。これを変えることで、背景の風景を変更することができます!

試しに変更してみましょう。
少しアンニュイな気分なので「CloudedSunGlow」にしてみます。
- 「Skybox Material」を変更するには、「Project」の変更したいmaterialをドラッグ&ドロップするか、右横にある◉を押して「Select Material」から該当するmaterialを選択します。
今回は「Select Material」から選択する方法で進めていきましょう。
- 「Skybox Material」の右横の◉を選択すると、下記のようなウインドウが表示されます。

ここから「CloudedSunGlow」を探したいと思いますが、項目がたくさんあって分かりにくいですね。上の虫眼鏡マークの右側が検索窓になっているので、ここから探してみましょう。
- 探しているマテリアルのキーワードを入力すると…

候補が出てきます。
- 左から2番目が今回の目的のものです。選択すると…

綺麗な夕焼け空になりました。
これで変更完了です!

お気づきでしょうか?
スカイボックスを変えると、ワールド内の地面(今回は「Terrain」を使用)の色合いも変わっていますね。

これは「Lighting」内の「Envrironment Lighting→Source」が「Skybox」になっているからです。つまり、設定したスカイボックスに合った色合いが環境光として表現されているということです。
スカイボックスを設定する「Environment」には下記の項目が用意されています。

Unityの公式ページを読むといろいろなことができそうな感じがします。とりあえず色々と触ってみるのもいいかもしれません。
例えば、遠景をSkyboxにしてワールドを軽量化するという方法もあります。
ただ、まずは「Lighting」内の「Environment→Skybox Material」を変えるだけでもいろいろなワールドの表現ができるようになりますので、自分好みのアセットを探して、試してみるのがおすすめです。
使わなかったマテリアルをProjectから消しておくと、clusterにワールドをアップロードする際の時間短縮になります。
アップロードに時間がかかる…という方は削除するのをお忘れなく!
自分でもつくれるスカイボックス、可能性はさまざま!
スカイボックスは自分でもつくることができます。
スカイボックスは基本的にはcubemapと呼ばれる「6つの正方形テクスチャで擬似的に天球をつくるもの」で構成されます。
ということは、その6つの正方形テクスチャをつくりさえすれば、自分でつくった絵をスカイボックスにすることが可能!というわけです。
cubemapの生成はUnity上でできます。詳細は上記URL先に書いてありますので、興味のある方はぜひご覧ください。
実はアバターマーケット2021の会場のスカイボックスは背景グラフィッカ、イラストレータの吉田誠治さんによるものでした。

配布されているアセットじゃ満足できない!という方は自分でつくるという手もありです。
さらに、それをBOOTHなどで配布・販売すれば、自分がつくった背景がいろんなワールドに…なんてことも起きるかもしれません。
みなさんも自分好みの背景を模索してみてはいかがでしょうか。
以上、今回はスカイボックスの変更の仕方を紹介しました!