INDIE INDEX

制作

シーン|エンジンごとに指すものが変わる語

画面に出すものをひとまとめにして保存した単位。ゲームエンジンでは面や画面ごとのファイルを指し、3D の交換形式では描く物の集まりを指す

シーン とは何ですか

シーン は、英語の scene(シーン。劇や映画の「場面」)をカタカナにした語です。ゲーム作りでは、画面に出すものをひとまとめにして保存した単位を指します。1つの面、1つの画面、あるいは1体のキャラクターを、まとめて1つのファイルにしたものです。

ただし「ひとまとめ」の中身が、どのソフトの話をしているかで変わります。この語は、領域をまたぐと指すものがずれる語です。

  • 含むもの — ゲームエンジン(ゲームを作るための土台になるソフト)で面や画面ごとに保存するファイル、3D のデータを受け渡す形式で「描く物の集まり」として定義された構造、3D を作るソフトで作業をまとめる単位
  • 含まないもの — ゲーム中に流れる映像そのもの(カットシーン)、物語の一区切りという意味での場面

ずれ方には向きがあります。Godot ではシーンが最小の部品にもなり、キャラクター1体だけをシーンとして保存します。Unity では1つの面まるごとがシーンです。Unreal Engine には、この意味でのシーンという語そのものがありません。

シーン は何のためにありますか

画面に出すものを1つずつばらばらに置くのではなく、まとめて保存しておくためです。まとめておけば、同じものを何度でも置き直せますし、面ごと・画面ごとに読み込みを切り替えられます。

Godot のドキュメントは、シーンを保存すると、エディタの中で新しい部品の種類のように働き、ほかの部品の子として置けるようになると書いています。同じシーンから、いくつでも実体を作れます。キャラクターのシーンを1つ作れば、そこから5体でも10体でも作れる、という例が挙げられています。

Unity のマニュアルは、単純なゲームなら1つのシーンで作り、複雑なゲームなら1つの面ごとにシーンを作って、それぞれに環境・キャラクター・障害物・装飾・UI(画面上の表示や操作の部品)を持たせる形を挙げています。

3D のデータを受け渡す形式である glTF(ジーエルティーエフ。3D のモデルや場面をソフトの間でやりとりするためのファイル形式)では、シーンは「どこから描き始めるか」を示す入口です。仕様には、読み込み時に表示するシーンが決まっていない場合、読み込む側は特定のシーンが求められるまで描画を遅らせてよい、と書かれています。

シーン は実際にどう使われますか

Godot のシーン

Godot のドキュメントは、Godot のゲームをシーンの木とし、それぞれのシーンをノード(画面や動きを担う部品)の木としています。ノードを木の形にまとめたものがシーンで、保存するとエディタの中で新しいノードの種類のように働き、ほかのノードの子として置けるようになります。置いたときは、中身が隠れた1つのノードとして見えます。

シーンには次の性質があります。根になるノードが必ず1つあること。ローカルのドライブに保存して、あとから読み込めること。同じシーンから、いくつでも実体を作れること。

保存したファイルの拡張子は .tscn で、これは text scene(文字で書かれたシーン)の略です。ドキュメントはこのファイルを Packed Scene(保存して詰めたシーン)と呼び、保存したシーンを雛形として何度も作り直すことを「インスタンス化」と呼んでいます。同じシーンから作った実体は、それぞれ別々に性質を変えられます。

プロジェクトはシーンをいくつでも持てますが、エンジンが求めるのは1つだけで、それが起動したときに最初に読まれるメインシーンです。

シーンは、保存した状態ではまだ動きません。ドキュメントは、シーンが SceneTree(シーンツリー。動いているシーン全体を束ねる木)に入った時点で動き出すこと、SceneTree が Godot の主ループ(ゲームを動かし続ける繰り返し)そのものであること、その中に根のビューポート(描画する枡)があり、開いたシーンがその子として加わることを書いています。

Godot では、シーンのファイルもリソース(Resource)の一種です。ドキュメントは、Resource をデータの入れ物とし、ディスクから読み書きするものはすべて Resource で、.tscn.scn のシーンもそこに入ると書いています。

Unity のシーン

Unity のマニュアルは、シーンを「Unity で中身を扱う場所」とし、ゲームやアプリの全部または一部を含むアセットだとしています。プロジェクトの中にいくつでも作れます。

新しいプロジェクトを初めて開いたとき、Unity はカメラとライトだけが入ったサンプルのシーンを開きます。

新しいシーンは、シーンテンプレートから作ります。マニュアルは、シーンテンプレートをプロジェクトに保存されるアセットとし、シーンに似ているが、そのまま使うのではなく複製するためのものだと書いています。

Unreal Engine にシーンが無いこと

Unreal Engine のドキュメントは、同じ役目のものを「レベル」と呼びます。レベルは、遊ぶ人が見て触れるものすべて(環境・使える物・ほかのキャラクター)を含む、ゲームの世界の全部または一部です。

保存の形も名前が違います。Unreal Engine はレベルを1つずつ .umap というファイルに保存するため、レベルは「マップ」と呼ばれることもあります。ドキュメントは、レベルを構成する最小限の要素として、レベル自体である .umap ファイル、スタティックメッシュ(動かない立体)のアクター(レベルに置く物)で作った環境、ライト、そのほかのアクターを挙げています。

glTF のシーン

glTF 2.0 の仕様では、シーンは「描画する視覚的な物の集まり」と定義されています。仕様の書き方は次のとおりです。

  • glTF 2.0 のアセットは、0個以上のシーンを持ってよい
  • シーンは scenes という配列(並び)に定義する
  • scene.nodes に並べるノードは、すべて根のノードでなければならない。ほかのノードの children に現れてはならない
  • 同じ根のノードが、複数のシーンに現れてもよい
  • 配列とは別に単数形の scene という項目があり、読み込み時に表示すべきシーンを指す。scene が無い場合、読み込む側は特定のシーンが求められるまで描画を遅らせてよい
  • シーンを1つも持たないアセットは、マテリアル(表面の質感)やメッシュ(立体の形を作る点と面のデータ)といった個々の実体の集まりとして扱うべきである

ゲームエンジンのシーンと違い、ここでのシーンは、ファイルの中でどのノードを根として描き始めるかを示す入口です。

Blender のシーン

Blender(3D のモデルや映像を作るソフト)のマニュアルは、シーンを作業をまとめるための仕組みとし、1つの保存ファイル(.blend)が複数のシーンを持てること、それらがオブジェクト・マテリアル・コレクション(物をまとめる箱)といったデータを共有できることを書いています。1つのシーンは、見えるオブジェクト・カメラの視点・ライティングの構成・レンダリング(絵として描き出すこと)の設定を定めます。同じファイルの中に、カットごと・ライティングごと・工程ごとのシーンを置く使い方が挙げられています。

シーン に関係する決まり

保存される形は、ソフトごとに決まっています。Godot は .tscn(テキスト形式)と .scn、Unreal Engine は .umap、Blender は保存ファイル(.blend)の中のデータブロック(ファイルの中の1区切り)です。

外へ受け渡すときは、glTF 2.0 の仕様の決まりに従います。この仕様では、ノードの親子関係が互いに交わらない厳密な木の集まりでなければならず、循環を含んではならず、どのノードも親を0個か1個しか持てません。scene.nodes に並ぶノードが根でなければならないという決まりも、この形を守るためのものです。

Godot でシーンのファイルを扱うときには、取り込みの決まりが1つ外れます。ドキュメントは、Godot 自身のシーンとリソースの形式(.tscn.scn.tres.res)には取り込みの設定が無く、Import(取り込み)のドック(画面の中の区画)で選べる項目も出ないと書いています。取り込みの設定が付くのは、Godot 以外の形式のファイルです。

シーン と混同されやすい言葉

シーン と カットシーン は別の語です。カットシーンはゲーム中に流れる映像の場面を指し、シーンは画面に出すものをまとめて保存した単位を指します。Godot でカットシーンを作る場合、その中身もまた1つのシーンとして保存されます。

シーン と レベル も分かれます。Unreal Engine ではレベルがこの役目を持ち、シーンという語は使われません。Godot と Unity ではシーンという語を使い、レベルは面という意味の別の語として扱われます。

シーン と シーンテンプレート も分かれます。Unity のマニュアルは、シーンテンプレートをシーンに似たアセットとしたうえで、そのまま使うのではなく複製するためのものだと書いています。

このページの情報源

シーン が出てくるページ4

出どころ:一般に使われている意味

近くにある言葉

同じところで使うツール

用語集の索引にもどる