【Unity入門】ゲームの見た目が劇的に変わる!Skyboxの設定方法

こんにちは!

フリーランスプログラマーのsatoです。

作品の背景が、単色だと見栄えが悪いですよね。

Skyboxを使って、背景をつけるだけで見栄えは段違いに向上しますよ!

ちょっと比較して見てみましょうか。

Skyboxをしっかり設定しただけで、いい感じになりましたね!

今回は、アセットストアから素材をダウンロードし設定しています。

そう、ダウンロードして設定するだけで、見栄えが良くなるんです!

やらなきゃ損ですよね。

それでは今回のアジェンダです。

[基本]Skyboxとは?
[基本]実際に空を表示してみよう!
[応用]夜にしてみよう!
[応用]宇宙にしてみよう!
[応用]プログラムで操作してみよう!

まずはSkyboxの基礎を知り、そのあと自在に操作できるように学びましょう!

Skyboxとは?

Skyboxとは一言でいえば、空を表示する仕組みです。

正確には、たどり着けないようなはるか遠くに、空や山を表示することで、見栄えをよくするテクニックとも言えるでしょう。

これをつけた時の効果は、先ほど目にした通りですね!

実際に空を表示してみよう!

Skyboxの魅力に気づいた人は、早速設定を行ってみましょう!

まずは素材の準備

まずSkyboxを自分で用意するのは少し手間なので、今回はアセットストアから落としてきましょう!

アセットストアとは、作品制作に便利な道具がたくさん売っているストアです。

無料のものも数多くありますよ!

ここにはもちろん質の高いSkyboxがたくさん用意されています。

まずUnityでアセットストアを開きましょう。

開くことができたらSkyboxを検索してみましょうか。

たくさんの種類が見つかると思います。

今回は、いろいろ入っていそうな、以下の無料のSkyboxを利用させてもらうことにしましょうか。

ダウンロード・インポートを行いUnityへ導入しましょう。

それが完了したらUnityのプロジェクトウィンドウに、インポートしたデータが入っているはずです。

設定してみよう

データが取得できたら、あとは設定するだけです。

メニューのLighting>Settingを選択しましょう。

すると以下の画面のように、Lightingウィンドウが開くはずです。

画像赤枠のところにSkyboxの表示がありますね!

ここを先ほど入手した、Skyboxデータに設定してみましょう。

以下の画像のように「CloudedSunGlow」にすることにします。

すると…

カッコイイ夕日(?)空になりましたね!

夜にしてみよう!

夜にするのも簡単です!

とはいえ、実はつまずく箇所あるため実際に見てみましょう。

skyboxのテクスチャを変えよう

Skyboxの切り替えは簡単です。

今回は先ほどダウンロードした中にあるDarkStormを設定してみましょう。

いい感じですね!

ライトの設定を変えよう

しかし設置物によっては、不自然に明るく見えてしまう場合があります。

例えばTerrainで地面を作った場合を見てみましょう。

地面が眩しいですね…

これを解決するには、ライトの設定を調整して自然に見えるようにする必要があります。

以下の画像を参考に「Directional Light」を選択し、ライトのカラーを調整しましょう。

①ライトのオブジェクトを選択して…
②Color設定を選択し…
③ちょっと暗めの色に変更する。

言葉にすると、こんな感じでしょうか。

すると…

いい感じになりました!

宇宙にしてみよう!

ついでに宇宙にしてみましょう。

Skyboxなら宇宙もすぐに再現できます。

今回落としたデータの中に宇宙もありますので、これを使用することにしましょう。

SkyboxをCosmicCoolCloudへ設定すると…

宇宙になりました!

この場合も、ライトが明るすぎる問題がありますので、調整は各自で行いましょう。

プログラムで操作してみよう!

最後にプログラム上でSkyboxを設定する方法について見ておきましょう。

操作は非常に簡単!

変更は非常に簡単です。

以下のスクリプトが実行されるように設定してみてください。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SkyboxChange : MonoBehaviour
{
    // 事前にInspectorから設定した、Skyboxのマテリアル
    public Material skybox;

    void Start ()
    {
        // Skyboxの変更
        RenderSettings.skybox = skybox;
    }
}

また実行前に、Inspectorウィンドウ上から、skybox変数に任意のSkyboxデータを入れておく必要があります。

そこだけ注意しましょう。

実行すると設定した、Skyboxに切り替わるはずです。

スクリプト上からのアクセスも非常に簡単ですね!

もっと動的に操作したい!

先ほどのプログラムでは、事前にInspctor上からSkyboxを設定していました。

Resourcesを利用すると、もっと動的にSkyboxを取得し切り替えることができます。

詳しくはResources.Loadを学んでみましょう!

【Unity入門】動的生成の基本!Resources.Loadを覚えよう!
更新日 : 2018年12月25日

まとめ

今回はSkyboxについて学びました。

非常に簡単に導入できることがわかったと思います!

ぜひすぐ自分の作品に取り入れて見ましょう。

また今回使用した無料のSkybox以外にも、様々なSkyboxがアセットストア上には存在します。

ぜひいろいろ使用して、理解を深めてみましょう!

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

sato

sato

学生時代を含めると、かれこれ10年以上プログラマーとして過ごしています。
様々な言語や環境、プロジェクトに関わってきましたので、より実践的な記事をみなさんにお届きるよう情報発信していきます!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説