タイトル: 背景を変える方法
SEOタイトル: Unity Camera 背景 (Clear Flags / Skybox) 完全ガイド
| この記事の要点 |
|
Camera コンポーネントの背景設定
Unity でゲーム画面の背景(クリアカラー)を変えるには、シーンの Main Camera を選択し、Inspector の Camera コンポーネントを編集します。重要なのは Clear Flags と Background の 2 つです。

Clear Flags の 4 種類
| Clear Flags | 動作 | 用途 |
|---|---|---|
| Skybox | Lighting で設定した Skybox を表示 | 屋外シーン / 一般的な 3D ゲーム |
| Solid Color | Background で指定した単色塗りつぶし | 2D / UI / ローポリゲーム |
| Depth Only | 前のレンダリング結果に上書き | マルチカメラ(武器を最前面など) |
| Don't Clear | クリアせず重ね描き | 軌跡表現 / 特殊エフェクト |
手順1: Solid Color で単色背景にする
- Hierarchy で Main Camera を選択
- Inspector の Camera コンポーネントを開く
Clear Flagsを Solid Color に変更Backgroundの色をクリックしてカラーピッカーで色を選ぶ- Game ビューで背景色が変わるのを確認

手順2: Skybox で空を変える
3D ゲームで空・遠景をリアルに表現するには Skybox を使います。Unity 標準では Procedural Skybox(手続き生成)が設定されています。
- Window > Rendering > Lighting を開く
- Environment タブを選択
- Skybox Material の項目に Material をドラッグ&ドロップ
- Auto Generate にチェックがあれば即反映、無ければ Generate Lighting ボタン

Skybox Material を自作する
1. Project ウィンドウで Create > Material
2. 作った Material を選択し、Inspector で
Shader: Skybox > Procedural を選ぶ
3. パラメータを調整
- Sun: Simple / High Quality / None
- Atmosphere Thickness: 大気の厚み (青さ)
- Sky Tint: 空の色味
- Ground: 地面色 (下半球)
- Exposure: 露出
4. Lighting > Environment にこの Material をセット
6 面 Cubemap で写真スカイボックス
Shader を Skybox/6 Sided に変えると、Front/Back/Left/Right/Up/Down の 6 枚の画像でリアル空を作れます。HDR テクスチャ(.hdr / .exr)を使えばHDRI Skybox として高品質な空が表現可能です。

スクリプトから背景色を動的に変える
using UnityEngine;
public class BackgroundChanger : MonoBehaviour
{
public Camera mainCamera;
void Start()
{
// Solid Color に切替
mainCamera.clearFlags = CameraClearFlags.SolidColor;
mainCamera.backgroundColor = new Color(0.2f, 0.4f, 0.8f); // 青系
// Skybox に戻す
// mainCamera.clearFlags = CameraClearFlags.Skybox;
}
void Update()
{
// 時間で色を変えるサイクル
float t = Mathf.PingPong(Time.time * 0.2f, 1f);
mainCamera.backgroundColor = Color.Lerp(Color.black, Color.cyan, t);
}
}
Skybox Material を動的に切替
using UnityEngine;
public class SkyboxSwitcher : MonoBehaviour
{
public Material daySkybox;
public Material nightSkybox;
public void SwitchToNight()
{
RenderSettings.skybox = nightSkybox;
DynamicGI.UpdateEnvironment(); // GI 更新
}
}
マルチカメラスタックで重ね描き
武器を最前面、遠景を背面など、複数 Camera を組み合わせる場合の設定:
| カメラ | Clear Flags | Depth | Culling Mask |
|---|---|---|---|
| Background Camera | Skybox | 0 | Background Layer |
| Main Camera | Depth Only | 1 | Default |
| Weapon Camera | Depth Only | 2 | Weapon Layer |

URP (Universal Render Pipeline) での背景
URP では Volume システムを使ってより柔軟な空表現が可能です:
- Hierarchy で Volume > Global Volume を作成
- Volume Profile を作成・割り当て
- Add Override > Sky > HDRI Sky / Procedural Sky / Gradient Sky
- Camera の Background Type を Skybox に
HDRP の場合:
- Visual Environment Override で Sky Type 選択
- HDRI Sky / Physically Based Sky / Gradient Sky
- Exposure / Multiplier で明るさ調整
2D ゲームで背景画像を貼る
// 方法1: Sprite Renderer の Z 軸を一番奥に
GameObject bg = new GameObject("Background");
SpriteRenderer sr = bg.AddComponent();
sr.sprite = backgroundSprite;
sr.sortingOrder = -100; // 最背面
// 方法2: Canvas (UI) で Render Mode = Screen Space - Camera
// 解像度に追従させたい場合に便利
// 方法3: Camera の Clear Flags = Solid Color + パララックス背景を Sprite で多層配置
トラブルシューティング
| 症状 | 原因 | 対処 |
|---|---|---|
| Skybox を変えても反映されない | Lighting Auto Generate OFF | Generate Lighting ボタン押下 |
| 背景色が暗い / 緑がかる | Post Processing の影響 | Volume の Color Adjustments 確認 |
| Game ビューでだけ違う色 | HDR or Tone Mapping | Camera の Allow HDR off で確認 |
| 2D で背景が見えない | Sorting Layer 不正 | Sprite の Order in Layer を下げる |
| VR で Skybox が歪む | 立体視非対応 Skybox | Stereo 対応 Skybox Material を使用 |
FAQ
Q: Skybox の太陽の位置を変えたい
A: シーンの Directional Light の向きと Skybox Material の Sun 設定が連動します。Light を回転すると Skybox の太陽位置も変わります。
Q: スマホで Skybox が重い
A: Procedural より単純な Cubemap、解像度を 512×512 程度に。または Solid Color + 背景画像で代用。
Q: 透明背景にして AR / 動画合成に使いたい
A: Camera の Clear Flags = Solid Color + Background のアルファを 0 + Camera.targetTexture で RenderTexture に書き出し。