| この記事の要点 |
|
3 Skyboxes アセットとは
Unity Asset Store にある無料の Skybox 素材パックです。3 種類の Skybox Material (青空 / 夕焼け / 夜空など) が同梱されており、Material をScene の Lighting Environment にセットするだけで背景が変わります。
初学者が Skybox の差替えを試す素材として丁度よく、URP/Built-in どちらでもそのまま動くケースが多いです。
Skybox の仕組み
Skybox はカメラの遠景に常に張り付く擬似的な「無限遠の壁」です。実体ジオメトリではなく、フラグメントシェーダで方向ベクトルから色をサンプリングします。
| Shader | 必要なテクスチャ | 用途 |
|---|---|---|
Skybox/6 Sided | +X/-X/+Y/-Y/+Z/-Z の 6 枚 | 箱型キューブ素材 |
Skybox/Cubemap | Cubemap 1 枚 | ★ 推奨。HDR 対応 |
Skybox/Panoramic | 正距円筒 (Equirect) 1 枚 | 360° 画像 |
Skybox/Procedural | 不要 | 時間帯シミュ可 |
適用手順
1. Asset Store または Package Manager から「3 Skyboxes」を Import
2. Project ウィンドウで Skybox Material (例: SkyDay) を選択
Inspector で Shader が "Skybox/6 Sided" 等になっていることを確認
3. Window > Rendering > Lighting
Environment タブ > Skybox Material に SkyDay をドラッグ
4. Scene ビューで反映を確認
Generate Lighting (Bake) → Reflection に反映
スクリプトから動的に切替
using UnityEngine;
public class SkySwitcher : MonoBehaviour
{
public Material daySky;
public Material nightSky;
public void SwitchToNight()
{
RenderSettings.skybox = nightSky;
DynamicGI.UpdateEnvironment(); // Ambient & Reflection 更新
}
}
Lighting の関連設定
| 項目 | 役割 |
|---|---|
| Environment > Skybox Material | 背景 Material そのもの |
| Environment > Sun Source | Procedural Skybox の太陽を駆動する Directional Light |
| Environment Lighting > Source | ★ Skybox にすると Skybox からアンビエントを計算 |
| Environment Lighting > Intensity Multiplier | 環境光全体の強さ |
| Environment Reflections > Source | Skybox / Custom Cubemap |
| Environment Reflections > Resolution | 反射の解像度 (256 / 512 / 1024) |
Procedural Skybox の時間帯シミュ
// Skybox/Procedural を Material に設定済みの想定
[ExecuteAlways]
public class TimeOfDay : MonoBehaviour
{
public Material proceduralSky;
public Light sun;
[Range(0, 24)] public float hour = 12f;
void Update()
{
float angle = (hour / 24f) * 360f - 90f;
sun.transform.localRotation = Quaternion.Euler(angle, 170f, 0f);
// Atmosphere パラメータ
proceduralSky.SetFloat("_AtmosphereThickness",
Mathf.Lerp(0.4f, 1.0f, Mathf.Cos(angle * Mathf.Deg2Rad) * 0.5f + 0.5f));
DynamicGI.UpdateEnvironment();
}
}
HDR Skybox
暗部と明部のレンジが広い HDR (.hdr/.exr) を Cubemap として読み込むと、反射や Bloom が現実的になります。Eevee や HDRP の HDRI Sky は標準で HDR を扱います。
.hdr / .exr ファイルをインポート
Texture Inspector:
Texture Shape: Cube
Mapping: Auto (Latitude-Longitude Layout)
Convolution Type: Specular (Glossy Reflection)
→ Apply
Skybox Material の Shader を Skybox/Cubemap に
HDR Cubemap をドラッグ
無料・有料の代替アセット
| アセット | 価格 | 特徴 |
|---|---|---|
| 3 Skyboxes | 無料 | 3 種類のみ。学習向け |
| AllSky Free | 無料 | 10 種類。商用 OK |
| Wispy Skybox | 無料 | 柔らかい雲表現 |
| AllSky | 有料 | 200+ 種類 |
| Real Skybox (Free) | 無料 | HDR 対応 |
| Polyhaven HDRI | 無料 (CC0) | ★ 公式外のサイトで HDR 多数 |
パフォーマンス上の注意
- 6 Sided より Cubemap のほうがメモリ効率が良い
- Reflection の解像度は必要十分に。1024 は重い
- Skybox を頻繁に切替えると
UpdateEnvironment()のコスト発生 → クロスフェードはシェーダ側で - HDR Skybox はメモリ消費大。モバイルは LDR + Procedural が無難
FAQ
Q: Skybox が真っ黒で表示されない
A: Camera の Clear Flags が Skybox になっているか確認。Solid Color のままだと描画されません。
Q: Skybox を変えても反射が古いまま
A: DynamicGI.UpdateEnvironment() を呼ぶか、Lighting ウィンドウから Generate Lighting で Bake してください。
Q: URP / HDRP でも使える?
A: URP はそのまま動きます。HDRP は HDRI Sky / Procedural Sky の Volume Override を使うのが標準です。
子ページ
子ページはありません
同階層のページ
同階層のページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09