UDN
Search public documentation:

GettingStartedLevelsJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 ホーム > 入門編: Unreal Engine 3 > 入門編 : レベルの編集

入門編 : レベルの編集


概要


レベルの編集とは、ゲームが展開される環境を設計および作成するプロセスのことです。このプロセスがカバーする領域は多岐にわたり、チーム全員が関与します。通常、レベル設計者がレベル作成のプロセスの責任を担いますが、スクリプト作成者や光源処理の担当者なども設計プロセスのさまざまな時点でレベルに関与します。

基本的な観点から見ると、レベルを作成することは、結局のところ Unreal エディタ内のマップにアイテムを配置することになります。これらのアイテムの具体例としては、ワールドジオメトリ、BSP ブラシや形をとった装飾物、静的メッシュ、光源、プレイヤーの開始地点、武器、乗り物があげられます。どのアイテムをいつ追加するかという問題は、通常、レベル設計チームに使用される詳細なワークフローによって規定されます。

「Unreal Engine 3」でレベルを作成する方法については、 レベルの作成 のページで詳解しています。

レベル設計のワークフロー


レベルを作成するためのしっかりとしたワークフローを策定、遵守することで、開発期間を最短にできるとともにイタレーションもずっと容易になります。

レベルを開発するための標準的なワークフローは、次のようになるでしょう。

  • レベルをブロックに分け、パスをつける
  • フローとゲームプレイをプレイテストする
  • レイアウトを修正し、テストを繰り返す
  • メッシュ化パスを開始する
  • 光源処理パスを開始する
  • コリジョンとパフォーマンスの問題についてプレイテストする
  • パスを調整する

レベル作成のワークフローに関する詳細は、 デザイン ワークフロー を参照してください。

Unreal エディタの概要


Unreal エディタ (UnrealEd) は、「Unreal Engine 3」のための編集スイートです。

このエディタに含まれているものは以下のとおりです。すなわち、メインのレベルエディタ、および各種ブラウザ、ツール、さらにレベル編集とコンテンツ作成のプロセスにおいてさまざまな局面で使用されるエディタが備わっています。レベルエディタには、このアプリケーションのメインウィンドウが含まれています。レベルエディタでは、ビューポート を通してワールド内にアイテムを配置することによってマップを作成します。

ブラウザやツール、エディタなどの UnrealEd インターフェースに関する詳細は、 UnrealEd ユーザーガイド のページを参照してください。

ワールドジオメトリ


レベル内で中心となる構成物と装飾物はすべて、 ワールドジオメトリ として見なすことができます。この用語は、レベル内にある静的で可視的なジオメトリのことを意味します。ワールドジオメトリは通常、レベルの大半を構成します。なぜなら、レベルの大半は、環境を主に構成している可視的な要素だからです。

ワールドジオメトリを作成するために使用されるアクタは 2 種類あります。1 つは BSP ブラシで、もう 1 つは静的メッシュです。

BSP

BSP ブラシ (より正確には構成立体表現 (CSG) と呼びます) は、「Unreal Engine 3」における最も基本的なものです。これは、ワールド内にあるスペースのボリュームを削り出したり満たしたりするのに使われます。以前のバージョンのエンジンでは、ワールドジオメトリを作成する主要な方法は BSP ブラシでしたが、現在はより特化した効率的なタイプのジオメトリ (すなわち静的メッシュ) がそれに取って代わっています。BSP ブラシの主な用途は、初期の段階でレベルの概略を決めることです。それによって、レベルをエディタで素早く容易に作成することができるようになり、イタレーションも容易になります。

BSP ブラシの作成および使用方法の詳細については、 BSP ブラシを使用する を参照してください。

静的メッシュ

静的メッシュとは、ハードウェアおよびグラフィックス カードによって描画されるポリゴンの集合です。BSP ブラシと比較すると、非常に高速で、さらには、より多くのポリゴンを扱うことができ、BSP ホールにも耐性があり、よりきれいに仕上がります。静的メッシュという名前は、決して変化しないメッシュとして描画されることに由来しています。したがって、ビデオメモリにキャッシュすることが可能であり、それによって効率とパフォーマンスを向上させることができます。

光源とシャドウ


「Unreal Engine 3」では 基本的な光源が 2 種類あります。静的な光源はライトマップにベークされるため、パフォーマンス的にとても効率が良いですが、ライトマップは多くのメモリを占有します。光源の質が高くなれば、それだけライトマップのメモリ負荷も高くなります。動的な光源はリアルタイムに計算されるため、パフォーマンスへの負荷がはるかに高くなりますが、予めベークされたライトマップを必要としないためメモリ消費量は少なくなります。選択すべき光源の種類は、プロジェクトの要件に応じて異なります。

光源アクタは、ワールド内に配置され、環境とキャラクターを照らします。「Unreal Engine 3」では、点光源、および、スポットライト光源、平行光源、天空光源といった複数の光源が提供されています。各光源には共通したプロパティのセットが備わっています。また、各光源固有の属性もあり、これによって非常に柔軟に光源を設定することができます。

また、「Unreal Engine 3」にはシャドウが数種類サポートされています。それらは次の通りです。

  • シャドウボリューム (Shadow Volumes) - 最も一般的なソリューションです。ハードエッジ (境界線が現れる) ですが完全に動的で 100 % 正確です。シャドウボリュームは、コンソール上にデフォルトで無効になっています。メモリ消費が大きく、レンダリングが極端に遅くなるためです。
  • シャドウバッファ (Shadow Buffers) - これも動的ですが、みごとなソフトエッジとなります。キャラクターや動的なジオメトリをシャドウイングするときに使用されます。
  • 事前計算シャドウ (Precomputed Shadows) - 静的な光源が静的なジオメトリを照らすときに、BSP と静的メッシュの両方に影響を与えます。シャドウマップとして保存することが可能です。

これらのシャドウイングの方法は、それぞれシームレスに同一シーン内で使用することが可能です。各種光源と組み合わせることによって、「Unreal Engine 3」における光源とシャドウは、かなり柔軟なものになります。

光源と光源の種類に関する詳細は、 ライティング参照 および シャドウイング参照 のページに記載されています。

Lightmass

Lightmass とは、「Unreal Engine 3」に搭載されている静的でグローバルなイルミネーション システムのことです。Lightmass は、エリアシャドウイングやディフューズの相互反射などを含む、複雑な光源の相互作用を伴ったライトマップを作成します。これによって、光源がまわりのサーファスから影響を受けるといった類いの機能が可能になります。また、エリアライトを作成することがも可能です。このエリアライトは、静的メッシュに適用されているマテリアルのエミッシブ成分を使用することによって、実際に光を発光 (emit) させることができます。

Lightmass およびグローバル イルミネーション システムに関する詳細は、 Lightmass のページを参照してください。

ドミナントライト

ドミナントライトを用いることによって、クオリティの高い光源とシャドウを伴った屋外環境を作ることができます。その場合でも高いレベルのパフォーマンスを維持することが可能です。

ドミナントライトに関する詳細は、 ドミナントライト のページを参照してください。

Dynamic Light Environments (動的な光源環境)

「Unreal Engine 3」には、 DynamicLightEnvironments (動的な光源環境) の機能が搭載されています。これを使用することで、動的なオブジェクトを静的な光源で照らすことが可能となります。動的なオブジェクトに影響する光源を球面調和光源と平行光源にコンポジット (合成) することによって、この機能を実現しています。これによって、動的なオブジェクトを照らす負荷が劇的に低下します。

DynamicLightEnvironment の詳細は、 Light Environment のページを参照してください。

Kismet の概要


Kismet は、クリプト化された複雑なレベルイベントとインタラクションを「Unreal Engine 3」で作成するためのビジュアルシステムです。シンプルな機能の シーケンス オブジェクト (Sequence Object) を接続することによって、複雑なシーケンスを作成することができます。各シーケンス オブジェクトは、単一の目的を実行する独立したブラックボックスとなっています。利用可能なシーケンス オブジェクトの種類は次の通りです。

  • Actions (行動) - レベル内のアクタ上で何らかの行動を実行させるオブジェクトです。
  • Conditions (条件) - レベルに影響を与えることはありませんが、シーケンスの流れを制御します。何らかの条件に基づいて、どの出力の上で発火させるかということを決定するものです。
  • Events (イベント) - シーケンスに対する「入力」を行うオブジェクトです。(おそらくはゲーム内のアクタから)。一般的な例としては、レベルが起動したときに Level Loaded (レベルのロード) イベントが発火する場合があげられます。
  • Variables (変数) - Event や Action 、Condition によって使用される特定の種類の情報を格納するためだけのオブジェクトです。

Kismet エディタの概要については、 Kismet ユーザーガイド のページを参照してください。

Kismet 内で使用可能な Actions 、Events 、Conditions 、Variables に関する完全なレファレンスが必要な場合は、 Kismet 参照 のページをご覧ください。

よく用いられる有用なテクニックとシーケンスの例が、 Kismet のサンプル のページに掲載されています。

Matinee 概要


Matinee は、レベル内のオブジェクト上でアニメーションを再生するためのツールです。その方法は、時間経過とともにプロパティの値を変更するといったものです。キーフレームとアニメーションカーブを使用することによって、時間経過に伴う値の変化を非常によく制御することができます。各 Matinee シーケンスには、レベル内の特定のアクタまたはアクタのグループに関連する任意の数のグループを含めることができます。各グループには、さまざまなタイプのプロパティで機能する任意の数のトラックを含めることができます。動画の編集で一般に使われる非線形型編集アプリケーションに、たいへんよく似たものになっています。

Matinee の一般的な用途としては、エレベーターやドアのような動きのあるアクタを作成することがあげられます。この種の要素に使用されるのは、InterpActor という特殊なアクタです。InterpActor は通常の StaticMeshActor (静的メッシュ アクタ) とたいへんよく似ていますが、これは動くことができ、 Matinee でアニメート化することができます。

Matinee ツールの使用法に関する概要は、 Matinee ユーザーガイド でご覧になることができます。

シネマティックス シーケンス

Matinee はシネマティック シーケンスを作成するためにも使用することができます。シネマティック シーケンスは、ゲームプレイ中にリアルタイムに再生されるか、レンダリングアウトされてプロモーション ムービーやインゲームのムービーとして使用されます。

Matinee ツールを利用してシネマティック シーケンスを作成する際に有用な詳細情報は、 Unreal Engineでシネマティックスを作成する のページに掲載されています。

レベル ストリーミングの概要


レベルストリーミングは、「Unreal Engine 3」の特殊なシステムです。このシステムは、プレイ中にレベルのロードおよびアンロードをオンザフライで非同期的に実行するためのものです。これによって、極端に大きい環境は小さなセクションに分割して (ストリーミングレベル)、必要な場合にのみ親マップ (持続するマップ) にロードさせることができるようになります。その結果、メモリの占有を防ぐことができ、オクルージョン クエリと光源処理計算から除外することができるのです。

レベル ストリーミングの使用法に関する詳細は、 レベル ストリーミングの手順 のページを参照してください。