2014年12月3日
※一部の動画およびリンクコンテンツが閲覧できない可能性がございます。詳細はページ下部をご覧ください。
「これはとてもすばらしい!私はUnreal Engine 1のレンダラーを構築していたときに、このようなダイナミックな間接照明を夢見ていました。」
Epic Games 創設者兼CEO ティム・スウィーニー
ライティングを使ったプレイヤーによるインタラクションは、これまで間接照明によって作られたもっともらしい表現を壊さないと不可能でしたが、EnlightenとUE4は新たな方法でこれを実現します。この今回のポストの焦点は、ダイナミックなライティングとゲームプレイです。セットアッププロセスなど、このデモ動画のほかの側面についても今後のポストで説明していく予定です。
UE4とEnlightenを使うと、編集中やゲームプレイ中にライティングを配置したり、変更したりすることが可能です。Enlightenはライティングのバウンス、およびリフレクションキューブマップをリアルタイムで提供します。
こちらのデモ動画で使われているアンビエントオクルージョン(AO)とスクリーンスペースリフレクション(SSR)を一例として、EnlightenはUE4の機能を上書きすることなく動作しています。
このワークフロー動画は、2つのスポットライトとEnlighten Skylightが素早く完璧に室内を照らす様子をお見せします。
この動画は、太陽に照らされた強烈な日差しがカーテンに当たる部屋から始まります。太陽が沈むと、ディレクショナルライトがカーテンの後ろから当たり、カーテンを通して直接光をグローバルイルミネーションに伝えます。カーテンが赤いので、これによって部屋に暖かい色調を与えます。
下のスクリーンショットと動画内のスポットライトで、その効果をよりはっきりと見ることができます。
ダイナミックな光源は、前出の日差しとは対照的に、神秘的な雰囲気を作り出します。ブループリントを使うことで、ライティングを使ったプレイヤーによるインタラクションを可能にします。
動画内のテレビで動いているシェーダーがノイズをアニメーションし、画面を点滅させます。これはマテリアルのパラメーターを介した発光量を持ちますが、Enlightenではテレビ画面のようなスタティックメッシュにエミッシブマテリアル(発光物質)を割り当て、効果的に固定エリアライトへ変えることができます。
タイムラインで定義された3つの浮動小数点曲線を色に乗算することによって、レンダリングされたマテリアルの色とEnlightenエミッシブプロパティをアニメーション化します(1つのフェードイン/アウトと2つのノイズの多い位相オフセットカーブの掛け合わせ)。これにより、フリッカーに対してソフトなランダムモーションが付加されます。フレーム毎にライトとマテリアルパラメーターを設定し、テレビをオン/オフしたいときにタイムライン上のイベントを呼び出します。
時間があれば追加したかった要素:
ライトキューブの作成は大変楽しいものでした。私たちはゲーム内のプレイヤーによってスポーン可能な完全にダイナミックな物理アクターを介して、シーンにアニメーション化された光の色相を追加したいと考えました。
キューブはスポーン可能なアクターです。それは下向きのスポットライトと中央にとてもぼんやりしたポイントライトを持っています。私たちは以下のブループリントでこれら2つのライトを動かしています。そして、コリジョンメッシュをボックスに単純化します。
マテリアルについてはできるだけシンプルにしています。私たちはマテリアルのエミッシブプロパティを利用して、ブループリントといくつかの微調整可能なものから駆動される色のパラメーターを公開します。
このブループリントは、シェーダーとライトコンポーネントの両方で、キューブのダイナミックな外観を制御する中心として機能します。時間が経つと照明と素材の色が変わります。ゲーム時間を利用して色の動きを作成するために、下記の例で使用しているように、アクターをスポーンするときに乱数で2つの変数を初期化します。
これは、プレイヤーがライトキューブをレベルで生成したときに、複数のキューブが同期して色を変化させないようにするためです。
色を配列に格納し、プレイヤーが希望の色を変更したり追加したりできるようにすることで、これを拡張できます。
Enlighten SDKは非常に柔軟性があり、常に開発が行われています。ワークフローはエンジンの種類とインテグレーションの仕方によって異なる場合があります。
これらの例は、UE4のグラフィックスの仕様とブループリントをEnlightenのリアルタイムグローバルイルミネーションと組み合わせることで、より多くのゲームプレイ要素をライティングに追加し、信じられるルック&フィールを維持する方法を示しています。
by Geomerics, an ARM company
※ この記事は英語から翻訳されました。
Enlightenのお問い合わせについて
■メールでのお問い合わせ
■お電話でのお問い合わせ
TEL 03-5488-7481(営業直通)
平日 9:30~17:30