【unity】背景に関する設定方法と問題解決法

URLをコピーする
URLをコピーしました!

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

こんにちは!コチラの記事では Unity の背景に関する設定方法と、背景を設定する際によく起こる問題についての解決方法の解説をしていきます。

目次

背景色の変更方法

STEP
シーンビューのレイヤー設定で「 Skybox 」のチェックを外しましょう。

Skybox のチェックを外すことで、Unity の背景が空から単色に変化します。

STEP
Edit → Preferences… → Colors → Scene →「 Background 」で、色を変更します。

以上の手順で、Unity の背景色を好きな色に変更することができます。

無料アセットを使って背景を設定する方法

まずはアセットストアで無料アセットをインストールして、Unity にインポートしておきましょう。

今回は以下の無料アセットをダウンロードしました。

Edit → Window → Lighting → Environment →「 Skybox Material 」にインポートしたアセットのマテリアルをドラッグアンドドロップします。

そうすることで、ダウンロードした Skybox の無料アセットを背景に設定することができます。

【2Dゲーム】背景の設定方法

STEP
背景に設定したい画像をシーン上に、ドラッグアンドドロップで配置します。

配置した画像のサイズが、メインカメラの枠よりもはみ出てしまう場合は、動画のようにRect Toolを使って画像のサイズを調整しましょう。

STEP
背景以外のオブジェクトを設置し、Inspectorの Sprite Renderer → Additional Settings →「 Order in Layer 」の数値を変更します。

背景画像の「 Order in Layer 」の数値は「0」のままで、背景以外のオブジェクトの数値を「0」より大きい数字に変更すると、背景画像よりも前に表示されます。

上記手順で説明した「 Order in Layer 」による設定は、それぞれが同じ「 Sorting Layers 」に属している場合においての、重ね順に関しての設定の方法です。

異なる「 Sorting Layers 」に属している場合には、「 Sorting Layers 」の表の下にあるレイヤーほど、前面に表示されることとなります。

その設定方法に関しては、以下の記事内のレイヤーの表示順・順序を変更するには?で詳しく解説していますので是非合わせてご確認ください。

【3Dゲーム】背景を画像に設定する方法

STEP
背景にしたい画像の Texture Type を「 Sprite(2d and UI) 」に変更して、シーン上にドラッグアンドドロップで配置します。
STEP
背景画像をメインカメラに親子付けして、背景画像の位置(Z軸)を調整し、カメラより奥に配置します。

ゲーム画面上で確認しながら行うと、スムーズに背景画像とカメラ位置の調整をすることができます。

3Dゲームの背景を画像に設定する場合、オブジェクトがめり込んでしまわないように注意してオブジェクトなどを配置しましょう。

背景に関してのよくある問題の解決方法

背景を設定するにあたって、よくある問題についての解決方法を以下解説していきます。

背景をループ・スクロールさせたいときは?

上の画像のように背景をループ・スクロールさせたい場合には、ループ・スクロールさせたい画像に、 Material を適用させ、Material の Offset の数値を調整することによって、設定することができます。

以下、背景画像をループ・スクロールさせる際の手順を詳しく解説していきます。

STEP
プロジェクト上で右クリック → Create → Material で、マテリアルを用意します。

マテリアルを作成したら Inspector の上部にある Shader を Unlit → Transparent に変更しましょう。

STEP
ループさせたい背景画像をドラッグアンドドロップでシーン上に配置して、マテリアルを適用させます。

配置した画像を選択し、Inspector → Material に先ほど作成したマテリアルをドラッグアンドドロップすることでマテリアルを適用することができます。

STEP
プロジェクト内にある画像を選択し、Inspector → Wrap Mode →「 Repeat 」に変更し、Inspector 右下にある Apply を押しましょう。

以上の設定後、Material の Offset の数値を変更することで背景の画像がループ・スクロールするようになります。

Wrap Mode を「 Repeat 」に変更せずデフォルトのままにしておくと、動画のはじめのように画像の終わり部分で画像がループせず、端の部分が引き延ばされてしまいます。

上記で説明したように Material の Offset の数値を変更することによって、背景の画像がループ・スクロールします。

ゲームプレイ内でこの Offset の数値を変更させるためには、スクリプトが必要になります。

スクリプトに関しては、以下のリンク先サイトに分かり易く記載されていましたので、参考にしてみてください!

今回作成したループ・スクロールする背景は、画像を並べた際につなぎ目になる部分が、繋がっていない画像を使用し、作成しました。

ループした部分のつなぎ目が気になる場合は、画像と画像を並べた際につなぎ目が自然に繋がっている画像を作成し、背景として利用することで気にならなくなります。

背景を透過させて撮影するには?

Unity Recorder を使うことで、VRchat用などに、背景を透過させて撮影することができます。

詳しい設定方法については、以下の記事内の「透過画像を撮る方法」という項目に分かり易くまとめられているので、是非ご確認ください。

まとめ

  • シーンビューのレイヤー設定で「 Skybox 」のチェックを外し、Edit → Preferences… → Colors → Scene →「 Background 」で、背景の色を変更することができる。
  • Edit → Window → Lighting → Environment →「 Skybox Material 」にインポートしたアセットのマテリアルをドラッグアンドドロップすると、ダウンロードした Skybox の無料アセットを背景に設定することができる。
  • 背景画像に設定したい画像をシーン上に配置し、Order in Layer または Sorting Layer の設定により重ね順を調整することによって2Dゲームの背景を設定することができる。
  • 背景にしたい画像の Texture Type を「 Sprite(2d and UI) 」に変更して、シーン上にドラッグアンドドロップで配置し、カメラとの距離を調整することで画像を3Dゲームの背景として設定することができる。
  • ループ(スクロール)させたい画像に Material を適用させ、Material の Offset の数値を変更することによって、背景の画像をループ(スクロール)させることができる。
  • Unity Recorderを使用することで、背景を透過させて撮影をすることができる。

Unity用アセット販売中!

当メディアで運営しているアセットショップ「NickNackHolic」にてUnity用のアセットを販売しております。

ゲーム制作やVRchat、Clusterなどで使用できる便利なアセットを販売しております。

一部無料のアセットもあるので、ぜひ覗いてみてください!

Nick Nack Holic

VRchatやゲームアセット、映像作品で使える「雑貨」を販売中

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

CGBOXでUnityについての記事をメインに執筆しています!現在、独学でCGの勉強中。VFXの自主制作を行っています。どうぞよろしくお願いします。

目次
閉じる