2014年4月4日

ブループリントで何ができるか

作成 Thomas Browett

アーティストとレベルデザイナーが UE4 から得た最も刺激的な機能は、ブループリント ビジュアル スクリプティング システムです。以前であれば、コードを書く知識がなければ無理であったレベルの制御が可能になったのですから。ブループリント・スクリプトを使って利用できるシステムと機能は、広範囲に渡ります。つまり、創造的な可能性は莫大であるということになります。ただし、それがどのように機能するか理解していくと、最初の内は手強く感じられるかもしれませんが。

そこで、ブループリントを使用して実際にできることは何か考えてみましょう。以下のリストは、一般的な例です。ブループリントに飛び込み、実験を開始し、さらにはこのシステムを最大限活用する方法を時間を取って学ぶことが、なぜ有益であるのか、お分かりになると思います。

レベルスクリプトを作成する

Creating Level Scripting

Level ブループリントは、アンリアル・エンジン 3でキズメットが果たした役割と同じ役割を担い、同じ機能を包含します。各レベルには、固有の Level ブループリントがあり、これによってレベル内のアクタを参照および操作できるとともに、マチネ アクタを使用してシネマティックスを制御し、レベル ストリーミングやチェックポイント、さらにはその他のレベル関連のシステムを管理することができます。また Level ブループリントは、レベルに置かれている Class ブループリント(これらのサンプルが掲載されている次のセクションをご覧ください) と相互作用します。たとえば、変数の読み込み/設定や、Class ブループリントに含まれているカスタムのイベントをトリガーすることなどがそれに当たります。

インタラクティブな物体を作成する

Creating interactive Objects

Class ブループリントは、ドアやスイッチ、回収可能なアイテム、破壊可能な環境を作成するには理想的です。上の画像では、ボタンと複数のドアは、それぞれ別の ブループリントになっています。ブループリントには、必要なスクリプトが含まれており、それによってプレイヤーの重複したイベントに適切に反応し、これらの物体をアニメートさせ、サウンドエフェクトを再生し、マテリアルを変更する (たとえば、ボタンを押すと点灯します) ことができます。

この例では、ボタンを押すと、ドアの ブループリント内部でイベントがアクティベートされて、ドアが開きます。ただし、これらのドアは、他のタイプのブループリントやレベル スクリプト シーケンスによる場合とまったく同じくらい簡単にアクティベートすることができます。ブループリントには何でもそろっているため、必要最小限の設定で、レベルに入れて簡単に機能するように作ることができます。またそれだからこそ、プロジェクト全体で使用される ブループリントを変更することによって、ブループリントのあらゆるインスタンスを更新させることもできます。

construction スクリプトでカスタマイズ可能なプレハブを作成する

Creating Customizable prefabs with construction script

construction スクリプトは、Class ブループリント内にある一種のグラフです。これは、アクタがエディタ内で (ゲームプレイ中ではなく) 配置または更新された時に実行されるものです。カスタマイズ可能なプロップを簡単に作れるため、背景アーティストは迅速な作業が可能になります。たとえば、ポイントライトのコンポーネントの色と明るさに合ったマテリアルを自動的に更新する照明器具や、フォリッジ メッシュをある領域一帯にランダムに散乱させる ブループリントなどが簡単に作れるようになります。

Content Examples のマップにおいて、コンテンツ サンプルがそれぞれ含まれている長い部屋 (複数個あり) は、実際には、多数のコンポーネントから構成される単一の ブループリントです。この ブループリントの construction スクリプトは、ブループリントの詳細パネルにエクスポーズされているパラメータに従って、さまざまな静的メッシュとライトを作成および配置します。私たちが作成した Content Example の各マップでは、デモルームの ブループリントを投入し、生成される部屋の長さ、高さ、数の値 (および他のオプションのいくつか) を設定し、完全な部屋を素早く用意することができました。

このような ブループリントは、最初に作成すると時間がかかる場合があります。しかし、後で何回も使うことになると分かっている場合は、レベルを作成する際に時間が短縮され、変更も楽に行うことができるようになるため、非常に価値あるものなのです。

プレイ可能なゲームキャラクターを作成する

Creating a playable game character

ポーンも、Class ブループリントの一種です。プレイ可能なキャラクターに必要な要素は ブループリントのグラフですべて組み立てることができます。カメラの動作を操作し、マウスやコントローラー、タッチスクリーンのための入力イベントを設定し、骨格メッシュのアニメーションを扱うために Animation ブループリントのアセットを作成することが可能です。

新たな Character ブループリントを作成すると、キャラクターのコンポーネントが付属してきます。これには、動き回ったり、ジャンプしたり、泳いだり、落下するのに必要な動作の大部分がビルトインされています。そのため、後は、キャラクターをどのように制御させるかということに応じて、入力イベントをいくつか追加するだけで済むのです。

HUD を作成する

Creating a HUD

ブループリント・スクリプトを使うと、ゲームの HUD も作成できます。この ブループリント・スクリプトは、イベント シーケンスと変数を含むことができる点で Class ブループリントに似ていますが、レベルに直接追加されるのではなく、プロジェクトの GameMode アセットに割り当てられます。

HUD は、他の ブループリントから変数を読み込み、それを利用して体力ゲージの表示、得点の更新、目標マーカーの表示などを行うように設定できます。また、HUD を使用することによって、クリックできるボタンや、タッチ入力に反応するようなボタン (モバイル用ゲームの場合) のような要素のために、ヒットボックスを加えることができます。

このページで紹介したサンプルはすべて、UE4 で利用可能なサンプル コンテンツに入っています。もっとよく見てみたい方は、Content Examples の Shooter Game および Swing Ninja プロジェクトに入っていますので、そちらをご覧ください。

みなさん、どう思いましたか?ブループリントを使ってできることはどれも凄いことだと思いませんか?ぜひ、私たちのフォーラムに訪れて、感想