Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

シーンとは、Caveが現在編集または再生している世界、レベル、メニュー、またはゲームプレイスペースのことです。もしAsset Browserがプロジェクトのライブラリだとすると、シーンはそのライブラリを使ってプレイ可能な何かを作る場所の一つです。

このレッスンでは、シーンが何を保存しているのか、シーン自体をどのように選択するのか、そして初期段階でよく出会うシーンレベルの設定について学びます。すべての設定をすぐに調整する必要はありませんが、シーンに属するものを理解することで、エディターの他の部分がより整理された感じになります。

シーンとは?

Sceneはエンティティのコレクションを保存するアセットです。

image.png

シーンは多くのことを表現できます:

  • ゲームプレイレベル。
  • メインメニュー。
  • ポーズメニュー。
  • テストルーム。
  • プロトタイプのアリーナ。
  • カットシーンスペース。
  • その他...

シーンを開いたり編集したりすると、そのエンティティがScene Graphに表示され、その世界が3D Viewに表示されます。

シーンはエンティティを保存する

シーンに置かれるものはすべてエンティティです。

シーンにはプレイヤー、敵、カメラ、ライト、プロップ、地形、トリガー、UI要素、オーディオソース、ロジックオブジェクト、整理用のフォルダーなどが含まれます。言い換えれば、シーンはコンテナであり、エンティティがその内部のオブジェクトです。

シーンの選択

ほとんどの場合はエンティティを選択しますが、時にはシーン自体を選択する必要があります。

その場合は、3D Viewの背景や空をクリックするとシーンアセットが選択され、Caveが現在のシーンをPropertiesタブに表示します。Scene Graphのシーン設定ボタンからシーンの設定を開くこともできますし、最後にAsset Browserでシーンアセットを一度クリックするだけでも選択されます。

image.png

シーンレベルの設定はエンティティの設定とは異なり、1つのオブジェクトではなくシーン全体に影響します。ではいくつか見てみましょう。


シーンカメラとプレビュー設定

各シーンにはデフォルトのシーンカメラがあります。このカメラは、Camera Componentがアクティブにゲームビューを制御していない場合のフォールバックビューとして使われます。

正確に言うと、エンティティのカメラコンポーネントがアクティブになると、そのカメラがシーンからカメラを更新し、その後に世界のレンダリングに使われます。しかし、大抵の場合、このカメラを直接操作したいわけではありません。通常はCamera Componentを持つエンティティを作成し、それを使います。ゲーム中に計算のためにカメラを取得したい場合で、そのカメラがどれでもよければシーンカメラを直接使うこともありますが、基本的にはそうではありません。

実際のゲームプレイ用カメラは、通常Camera Componentを持つエンティティを作成します。そのカメラがプレイ中にアクティブゲームカメラになります。

環境光と空の設定

シーンは世界の全体的なムードもコントロールします。シーンレンダリング設定に、環境光と空のオプションがあります:

  • Ambienceはシーン内の一般的な環境光の影響を表します。直接ライトが当たらない物体が真っ黒に見えるのを防ぎます。
  • Sky設定は背景や空の照明の挙動を制御します。プロジェクトの設定によっては、プロシージャルな空テクスチャやインポートしたスカイボックス画像を使います。

これらの設定は見た目だけでなく、レベルの印象に大きな影響を与えます。

image.png

例えば:

  • 明るい青空は屋外シーンを開放的に感じさせます。
  • 暗い空で低い環境光は洞窟を危険に思わせるかもしれません。
  • 温かみのある空は夕暮れの場所を穏やかに、またはシネマティックに見せます。

太陽光とライティング設定

シーンは太陽光の照明もコントロールできます。これは特に屋外レベルの広域な方向性ライトとして有用です。設計上、Caveではシーンに太陽光は1つだけであることが想定されています。

太陽光の設定は、太陽の方向、ライトの色、強さや強度、影の挙動などに影響します。

エンティティとしてポイントライトやスポットライトなどのローカルライトを配置することは可能です。太陽光はグローバルな方向性照明用で、エンティティライトは特定のエリアやオブジェクト用です。

霧とフォグの設定

霧はシーンレベルの大気効果です。距離感やムード、視認性、距離によるフェード、屋外の雰囲気、または洞窟やダンジョンの雰囲気にも役立ちます。

霧の設定には色、強度、開始距離、距離範囲、減衰などの値が含まれます。軽く使うとシーンがより自然に感じられ、強く使うとスタイライズドで神秘的、あるいはホラーのような空間を作り出せます。

アンビエントオクルージョン

アンビエントオクルージョンはレンダリング効果で、狭い隅や接触部分を暗くし、オブジェクトが世界にしっかり存在している感じを助けます。

例えば、アンビエントオクルージョンは微妙な影を加えます:

  • 木箱が床に触れている部分。
  • 部屋の隅。
  • 岩や地形のディテール周辺。
  • 近接したオブジェクトの間。

これらすべてをすぐに調整する必要はありませんが、Caveにはすでに優れたアンビエントオクルージョンが標準で備わっていると知っておくと良いでしょう。

レンダリングのオーバーライド(上級)

シーンは一部のレンダリング挙動をオーバーライドできます。プロジェクト構成によっては以下を含む場合があります:

  • ポストプロセッシングのオーバーライド
  • メインシェーダープログラムのオーバーライド
  • シーン特有の視覚設定

これは、プロジェクト全体に同じレンダリング設定を強制せずに、シーンごとに異なる見た目にできることを意味します。

実例:

  • メインメニューにスタイライズされたポストプロセッシング設定を使う。
  • 洞窟レベルで濃い霧や暗い環境光を使う。
  • 夢のシークエンスで特別なシェーダーやカラー処理を使う。

エンティティを置くだけよりも上級ですが、シーンが独自の視覚的アイデンティティを持てることを知っておくと便利です。


シーンをレベルとして考える

シーンを考える最も一般的な方法はレベルとして捉えることです!もちろん、シーンは最終的なレベルだけでなく、小規模な開発ワークフローにも役立ちます。

例えば、以下のような一時的なシーンを作ることができます:

  • ドアシステムのテスト。
  • 戦闘のプロトタイプ。
  • 車両の試用。
  • UIフローの構築。
  • ライティングのテスト。
  • インポート資産の実験。

これにより、実験をメインゲームシーンから離して準備が整うまで隔離できます。

スタータープロジェクトの例

スタータープロジェクトには、テンプレートや選択したオプションによって複数のシーンやレベルの例が含まれている場合があります。

例として:

  • 地形
  • プレイヤースポーンエリア
  • レベル遷移用のポータル
  • 敵の例
  • ダメージの例
  • 車両の例
  • UIやメニューシーン

これらのシーンは実際に動作する例です。オブジェクトを選択し、コンポーネントを確認し、参照しているアセットを調べ、Play Modeでテストしてください。

これがリアルなCaveシーンの組み立てを最も早く学ぶ方法のひとつです。

シンプルなルール

  • シーンは場所として使う。
  • エンティティはその場所内のオブジェクトとして使う。
  • アセットはシーンやエンティティ間で共有可能な再利用可能なコンテンツとして使う。
  • この区別が自然に感じられるようになると、Caveでの構築がずっと簡単になります。