アンリアル エンジン 4.18 がリリースされました
2017年10月23日

アンリアル エンジン 4.18 がリリースされました

作成 Jeff Wilson

アンリアル エンジン 4.18 では、仮想現実 (VR) や拡張現実 (AR) の分野でデスクトップからモバイルまで ユーザーのニーズに応える様々なコンテンツを作成する ツールを用意しました。プラットフォームのサポートも拡張、向上し、使用場所がどこであってもコンテンツを提供 できるようになりました。エピック では開発プロセスの効率化と合理化を絶えず追い求め、アンリアルのあらゆるツールの更新と改善を続けることで、かつてないほど迅速にコンテンツを開発できる ようにしました。

ボリューメトリック ライトマップのようなライティングの新機能とスカイライトからのマルチ バウンスの間接ライティングを使うと、ワールドが一段とリアルで説得力のあるもの になります。新しい Media Framework 機能では、現実世界のものを取り込んだリアルタイム合成が可能になります。Apple の ARKit や Google の ARCore を使って現実世界に独自の ワールドを構築し、究極の没入感を実現することもできます。

ゲームの購買層やコンテンツの利用者は絶えず進化しており、新旧様々なプラットフォームからコンテンツを入手しています。アンリアル エンジン 4.18 では、すべての主要プラ ットフォーム向けのコンテンツをこれまでにない高い忠実度とパフォーマンスで制作することができます。最近の iOS デバイスでデスクトップ フォワード レンダラーが利用できるよ うになり、高品質のモバイル コンテンツ、および超高速で動く AR コンテンツが可能になりました。WebAssembly が HTML 5 プロジェクトでデフォルト設定になりました。迅速にロー ドし、滑らかに動く複雑なゲームを制作することができます。

アンリアル エンジン 4.18 では、重要度が高い作業に時間をかけられるようになりました。グローバル検索の新機能、Find in Blueprints を使うと、一括検索が可能に なり、複数のブループリントから何かを検索する際の時間の無駄がなくなります。クロス (布) ツールにも改善を加えました。新規物理アセット エディタと詳細なマテリアル エディ タのプレビューのサポートや、他の作業の質も向上させて開発プロセスにかかる時間を大幅に短縮しました。

今回のリリースには、エピック ゲームズによる 何百ものアップデート に加え、GitHub のアンリアル エンジンの素晴らしいデベロッパー コミュニティから 98 の改善点 が寄せられました。アンリアル エンジン 4.18 に貢献をいただいた以下の皆様に謝意を表します (以下、敬称略)。

Akihiro Kayama (kayama-shift), Alan Edwardes (alanedwardes), Alec Kosik (akosik), Andrey Yamashev (ayamashev), Artem (umerov1999), aziot, Cameron Angus (kamrann), Carsten Neumann (cneumann), Cengiz Terzibas (yaakuro), Chris Conway (Koderz), Christopher Reed (christopherreed), Cody C.(Mumbles4), Courtland Idstrom (Frugality), DaveC79, DavidNSilva, getnamo, Grant Peters (ggpeters), Guillaume Buisson (monsieurgustav), Harry Kim (shuaiharry), Ian Huff (IanMatthewHuff), IHappyDayI, Ilya (ill), Isabela Schulze (Ereski), Jason Calvert (jasoncalvert), Jesse Yeh (jesseyeh), John McBroom (jimbomcb), Jørgen P. Tjernø (jorgenpt), Josef Gluyas (Josef-CL), Kalle Hämäläinen (kallehamalainen), karanseqwb, Konstantin Nosov (gildor2), Kostas Nakos (jubanka), lwdingNT, Masanori Shinkawa, Mathias Hübscher (user37337), Matt Hoffman (LordNed), Maurice Laveaux (mlaveaux), Michael Allar (Allar), Michael Kösel (TheCodez), Mikayla Hutchinson (mhutch), minichris, Nick Pearson (Nick-Pearson), Nick Verenik (nverenik), Patrice Vignola (PatriceVignola), projectgheist, Rama (EverNewJoy), Roman Chehowski (RChehowski), Roman Maksymyschyn (miracle7), Sam Hocevar (samhocevar), Scott Freeman (gsfreema), Sébastien Rombauts (SRombauts), Sertaç Ogan (SertacOgan), steelixb, stfx, Triplelexx, Vivid Games - Engine Team (enginevividgames), Vladimir Ivanov (ArCorvus), XueBing (DarkSlot), Yujiang Wang (Luoshuang), yhase7, YuchenMei, Zeblote

主要機能

新規:ボリューメトリック ライトマップ

新しいボリューメトリック ライトマップ機能を使うと、事前計算された低負荷のライティングを使って高品質なライティングを可動オブジェクトに適用することができます。キャ ラクター、パーティクル システム、インスタンス化されたフォリッジ、その他の動的オブジェクトが背景に対していっそう自然に見えるようになります。

image alt text image 

alt text

ボリューメトリック ライトマップは、Lightmass Importance Volume 全体をライティングのサンプルを取る 4x4x4 のブロック状の物 (Brick) で覆って、空間のあらゆるポイント で事前計算されたライティングを保存します。ブロック (Brick) は、間接ライティングが最も変化する静的ジオメトリの近くでは高密度で配置されます。こうしたデータ構造により、 GPU 上の空間のすべてのポイントで間接ライティングを効率的に補間することができます。ボリューメトリック ライトマップでは、コンポーネント全体に対して一回ではなく、各ピク セルで補間されます。これまでの間接ライティング キャッシュ方式よりもディテールの信頼性が高まり、ライトの漏れが少なくなります。

プロジェクトでボリューメトリック ライトマップを使うための詳細情報については、ボリューメトリック ライト マップのドキュメント をご覧ください。

ボリューメトリック フォグに事前計算されたライティングを適用

ボリューメトリック フォグが、ボリューメトリック ライトマップを使って空間内のボリューメトリック フォグの位置に事前計算されたライティングを補間するようになりました 。固定ライト (ライトマップに間接ライティングを格納) がフォグに影響を与えられるようにします。静的ライトおよびエミッシブ ライトは、負荷を全く生じることなくフォグを照ら すことができます。負荷が生じないのは、ボリューメトリック ライトマップにすべてマージされているためです。

image alt text

スカイライトも適切にシャドウ処理されるようになり、室内でのフォグのかかりすぎを防止します。

image alt text
1 - フォグへのスカイライトで適切にシャドウがかかっている、2 - フォグへの均一なスカイライトで光の漏れが発生

パフォーマンス

  • サードパーソン キャラクター上でボリューメトリック ライトマップを使用すると、PlayStation 4 では GPU の処理時間で 0.02ms のコストがかかります。すべての Indirect Lighting Cache Rendering (間接ライティングのキャッシュのレンダリング) のスレッドのコストはなくなりました。
  • エピックの Paragon の Monolith マップでは、間接ライティング キャッシュを使用した場合のメモリ使用量は 5Mb でしたが、ボリューメトリック ライトマップをデフ ォルトの [Detail Cell Size] 設定で使用すると 30 Mb に増えました。メモリ使用量は、‘stat memory’ の下で確認できます。

詳細な比較

ボリューメトリック ライトマップ 事前計算ライト ボリューム / 間接ライティングのキャッシュ
GPU での効率のよい補間 CPU での補間コストが高い
ピクセルごとの補間 インスタンス化されたコンポーネントでさえも補間はオブジェクトごとに行う
ボリューメトリック フォグに適用 ボリューメトリック フォグに影響を及ぼすことができない
すべての静的サーフェス周囲に高密度で配置 静的なサーフェスの上にのみ高密度で配置。低密度のサンプルからの光の漏れは高頻度で発生
境界ボクセルを拡張して Importance Volume 外の領域を覆う Importance Volume 外部では間接ライティングが黒くなる
現時点ではレベル ストリーミングには非対応 レベル ストリーミングに対応

新規:静的スカイライトの指向性の改善

これまでスカイライトは三次の球面調和関数 (Spherical Harmonic) でライトマスに表現されていましたが、日の出や日没のディテールはキャプチャしていませんでした。今回、デ フォルトでかなり高い解像度でフィルタリングしたキューブマップを使用するようになりました。ライトマスは、Final Gather Ray のサイズに基づきキューブマップの適切なミップを 選んでエイリアシングを防ぎます。明るさと色のバリエーションが多いスカイライトのキューブマップで遮蔽度がかなり高いシーンの場合にこの違いが顕著になります。

image alt text

1 - 新しくフィルタリングされたキューブマップの静的スカイライト, 2 - オリジナルの静的スカイライト

開口部が小さくなるほど、スカイライトの指向性は高まります。開口部を十分に小さくすることでピンホール カメラ エフェクトを再現することができます。

 

image alt text

image alt text

スカイライトのソース キューブマップ

その結果として得られるスカイライト

新規:スカイライトからのマルチ バウンス間接ライティング

静的スカイライトと固定スカイライトからの間接ライティングの複数バウンスをサポートするようになりました。これを使用するには、 [World Settings -> Lightmass] の順に 進み、新しい設定項目である ‘Num Sky Lighting Bounces (スカイライティングのバウンド数) ’ を設定します。この機能を最初に実装してくださったフォーラムのユーザー、 Luoshuang さん に謝意を表します。

image alt text

1 - スカイライトのバウンスは複数回, 2 - スカイライトのバウンスは 1 回

スカイライトの複数バウンスの効果を得るには、ほとんどのケースでマテリアルのディフューズの値を高くする必要があります。例えば、ディフューズが .18 (18% グレイ) の場合 、2 回目のスカイライトのバウンスはライトが放射するエネルギーの .18^3 = .006 しか寄与せず、これはごくわずかなものです。例えば、ディフューズが .5 の場合、2 回目のスカ イライトのバウンスはライトが放射するエネルギーの .125 寄与し、顕著なものになっています。

さらにエミッシブ メッシュから複数回のバウンスがあります。

image alt text

ライトマスでは、Radiosity Solver を使ってスカイライトとエミッシブ メッシュの複数回のバウンスを計算します。バウンス毎に分散できないビルドの時間が増えるため、注意深 く使用してください。

新規:Apple ARKit iOS 11 のサポート

アンリアル エンジン 4.18 では、Apple の iOS11 の ARKit を実際の開発に使用できるレベルでサポートしています。これは、 iPhone 8 と iPhone X を発表したApple の基調講 演に関わるパートナー企業との連携に基づくものです。
 

image alt text

image alt text

既存のフレームワーク コンポーネントを使用するワークフローを合理化し、パススルー カメラの堅牢な処理を追加し、パフォーマンスと予測の向上によって忠実度を高めました。 アップデ ートされた ARSample プロジェクトをダウンロード してアンリアル エンジン 4.18 で何が変わったかをご覧ください。

注意:アンリアル エンジン 4.17 における ARKit の実験的サポートに、大幅な変更を加えました。アンリアル エンジン 4.17 を使用して作成した ARKit プロ ジェクトは 4.18 で機能するようにアップデートする必要があります。

使用の開始

ARKit は非常に簡単に使用できるようになりました。以下の手順を行うだけです。

  1. プロジェクト用に適切な ARKit プラグインを有効にします。
  2. [Project Settings (プロジェクト設定)] で [bStartInAR] プロパティにチェックを入れます。
  3. Camera コンポーネントを持つポーンを用意します。

ARKit に関する既知の問題

  • デバイスの回転はまだ完全にはサポートされていません。現時点では、プロジェクトで唯一サポートされる方向として Landscape Right を選択するようにしてください。
  • ヒット テスト用に唯一公開されている関数は、HitTestAtScreenPosition_TrackingSpace です。結果は Camera コンポーネントの親の空間として返します。デフォルトの 設定ではポーンの空間になっています。ワールド空間に変換するためには、現在、親 (例、ポーン) のワールド トランスフォームを結果に乗算処理する必要があります。
  • 関数、HitTestAtScreenPosition_TrackingSpace は、Types パラメータを無視し、常に利用可能なすべてのサーフェスに対してヒットテストを行い、 FAppleARKitHitTestResult 構造体の Types 欄にチェックを入れることによって手動でフィルタリング可能な結果を戻します。
  • FAppleARKitHitTestResult は、 Anchor プロパティにデータ供給しませんが、常に nullptr になります。
  • World Scale は現在、デフォルト設定であり、変更できません。

新規:Google の ARCore デベロッパー プレビュー版のサポート

アンリアル エンジン 4.18 では、Google ARCore のデベロッパー プレビュー版を公式にサポートしました。エンジンの一般的な拡張現実機能を活用し、パススルー カメラの処理 を向上させています。

Mac での SteamVR サポート

アンリアル エンジン 4.18 から UE4 から SteamVR を通して Mac 上で VR をサポートするようになりました。PC で使い慣れたものとまったく同じインターフェースが Mac 上で利 用可能になったため、プロジェクトを Mac に移行して簡単にお試しいただくことができます。このアップデートは、Metal 2 と他の多くの実行時の最適化に関するサポートと共に提供 するものです。最新の SteamVR のリリースにアップデートして試してみてください。

image_24.png

新規:クロス (布) ツール

スケルタルメッシュ エディタでクロスを作成し、構成するためのツールセットに全面的な改良を加えました。

クロス固有のプロパティの拡張セットを編集するための [Clothing] のためのペインが加わりました。ここでは、クロスのコンストレイント、自己コリジョンの頂点のカリング、慣 性スケーリングについてさらに細かく制御することができます。拡張されたペイント ツールを使うと、直接メッシュ上に頂点毎のクロス パラメータをペイントすることができます。 この新しいペイント ツールには、以下が含まれます。Brush、 Gradient、 Smooth、 Fillペイントされたパラメータは、イテレーションの助けになるように、上書きではなく切り替え ることができます。

クロス ツールは、コリジョンを作るために Physics アセットと統合されました。Clothing Data オブジェクトでシミュレーション メッシュを作成、置換するための新しい LOD (Level of Detail) パイプラインができました。このパイプラインには、ペイントしたパラメータを新しい LOD または置換ジオメトリにマッピングし、細かい LOD パラメータから粗 い LOD パラメータを算出するパラメータ マッピング システムが備わっています。また、スケルタルメッシュ エディタで変換するメッシュのセクションを右クリックして、クロス デ ータを簡単に作れるようになりました。

このツールは実験的でベータでしたが、今回の機能には、その間に判明した数々の小さなバグ修正や重要な改善が加えられています。

注意:DCC パイプラインを使用する必要があれば、APEX ファイルのインポートはまだ利用可能です。

新規:Media Framework の改善

今後の高度なユース ケース向けに、アンリアル エンジン 4.18 では Media Framework を以下のように大幅に更新、拡張しました。リアルタイム ビデオ合成、 時間同期、ワークフローの簡素化、キャプチャ ハードウェアとビデオ オーバー IP のサポート、オンライン メディア ストリーミング、アンリアル エディタとの統合、および安定性 とパフォーマンスの改善などがあります。

Media Framework API はコンパイル時間を短縮するように整備され、C++11 の最新機能を利用するようにアップデートされました。さらに、メディア プレイヤーのハイレベルなロ ジックが、プッシュベースのパラダイムから、プル ベースの方法にリファクタリングされて、エンジンに依存しない再利用可能なクラスに移動しました。これにより、メディア プレ イヤーのインターフェースにおける関心の分離 (Separation of Concerns:SoC) を実現しました。

レイテンシとパフォーマンスが改善しました。これは、タイムコード ベースのサンプル処理のパイプラインによるものです。オーディオ、カメラ トラッキング、フェイス トラッ キングなど、時間管理が重要なサンプリングについて高頻度でティックしますが実施されます。フレームの効果的な利用と予測可能なタイミングを向上させるために任意のオブジェク トによって使用可能な多段階のティックが実施されます。

オーディオ再生は、新規 Audio Mixer API に統合されて、新しい Media Sound コンポーネントを (Media Sound Waves の代わりに) 使用するようになりました。Media Sound コン ポーネントは、レベルのアクタにアタッチしたり、UMG のウィジェットで使用することができる Synth コンポーネントの上に構築されます。メディアのサンプル レート コンバータ ( これまでは 16-bit、44.1kHz のみをサポート) は、最高 8 個までのオーディオ入力チャンネルと 1 ないし 2 の出力チャンネルを持ち、int8、 int16、 int32、 float、 double の 入力サンプルと任意のサンプルレート (可変レートを含む) をサポートするようになりました (サラウンド サウンドはアンリアル エンジン 4.19 で対応予定)。アクタの Media Sound コンポーネントで空間音響もサポートするようになりました。

映像に関しては、Media Framework が外部テクスチャ サンプラー API を使用するようになりました。これによりメモリ コピーなしで映像フレームのレンダリングが可能になりま した。この機能は現在、Android 向けに限り実装されていますが、他のプラットフォームにも拡張予定です。問題があったトリプル バッファリング方式をサンプル キューに置き換え て、非標準のビデオとピクセルのフォーマット、および不完全なエンコーダのサポートも改善しました。

メディア プレイヤー エディタがアップデートされて、新しい [Track format selector] メニュー、オーディオ / ビデオ キャプチャー デバイス セレクタ、キャッシュ ステート の視覚化 (この機能をサポートするプレイヤーのプラグイン用)、プレイリストの制御、およびプレイリストの保存機能が加わりました。さらに、スクラブの反応が良くなり、情報のオ ーバーレイが向上しました。テキスト オーバーレイの視覚化や 360 度ビデオ ビューポート コントロールも実験的にサポートします。Media Source アセットのプラットフォーム毎の メディア プレイヤーのオーバーライドも機能するようになりました。

メディア プレイヤーのトラックとトラック フォーマットをクエリする機能、オーディオ、ビデオおよびウェブカメラのキャプチャ デバイスを列挙する機能、メディア プレイリス トにファイルと URL を追加するための機能がブループリントに追加されました。

メディア プレイヤーのすべてのプラグインがアップデートされて、アンリアルエンジン 4. 18 の Media Framework で利用可能になったすべての素晴らしい新機能をサポートする ようになりました。

注意:シーケンサーの統合、ステレオスコピックと 360 度の映像のサポート、ハードウェア アクセラレーションによる 4K 再生など、一部の機能は現時点で開 発進行中です。

新規:シーケンサーの改善

以下のようにシーケンサーに作業の質に関わる改善を加えました。

  • FBX のインポート機能を改善し、静的 / デフォルトのトランスフォームのインポート機能、対応するカメラがマップに存在しない場合にシネマティック カメラを追加す る機能、 x 軸を強制的に前にするオプションの機能を追加しました。
  • トラック、キーフレーム、およびパスの軌道の描画を効率化。オーバーラップするキーは赤いボーダーで描画されます。
  • オーディオ、スケルタル アニメーション、ショット トラックのスリップ編集を含む編集ツール。
  • ドラッグ&ドロップを使える場所が増えました。ショット トラック、サブシーン トラックのカメラ カット トラック、およびシーケンス レコーダーにドラッグが可能に なりました。

  • マスター シーケンスから動画を録画するときに、ショットの境界にウォームアップを追加。
  • スクラブ中にエディタでコンストラクション スクリプトを再実行する機能を追加。
  • Cine Camera の Look At が、ロールの動きが可能に。

シーケンサー レコーダーの改善。アニメーション録画キーの補間やタンジェントの設定、およびドラッグ&ドロップのサポートなど。

新規:物理アセット エディタの改善

Physics Asset Editor (従来の PhAT) がユーザビリティの大幅な改善、および機能を拡張するために全面的に整備し直されました。UI は見た目と使用感が変わりました。スケルト ン ツリー ビューがアップグレードされて、フィルタリングとシーン エレメントの表示が改善しました。また、新規グラフビューによってボディ間のコンストレイントを、ノードを使 って視覚的に設定することができるようになりました。これまで不可能だったコンストレイントのループをセットアップすることもできます。

image alt text

UI 要素の不要部分を削除して、整理しました。多くのものを合理的な場所に移動、変更しました。例えば、アニメーション エディタのように [Show] メニューからアニメーション 関連の設定が利用できるようになりました。アニメーションがいつでも選べるようになり、を、一時停止、スクラブしたときなどもいつでも可能になりました (以前はシミュレーショ ンを開始しなければ選ぶことができませんでした)。シミュレーションは [Simulate] ボタンとその下のオプションを使ってアニメート中にいつでも開始、終了することが可能になり、 レベル エディタでのシミュレーションと同じように機能するようになりました。

追加の更新と改善点

  • Time Dilation (時間の遅れ) は、アニメーションと物理と共に機能し、アニメーション エディタのようにビューポートのメニューから迅速に設定できるようになりまし た。
  • 他のアニメーション エディタのようにトランスポート コントロールから録画を制御することができるようになりました。
  • 物理的アニメーションとコンストレイントのプロファイルの UI が改善されました。これにより、コンストレイントと物理プロファイルの選択、割り当て、管理が容易に なります。
  • コンストレイント モードとボディ モードはなくなりました。コンストレイントとボディを一緒に表示するようになりました。それぞれのレンダリングはツリー ビューと ビューポートで有効化、無効化、フィルタリングすることができます。
  • 新規ボディ作成は、これまでのモーダル ダイアログから新規 [Tools] タブに移動しました。これにより、新規アセットのイタレーション時間が改善し、毎回 3 クリック 分の節約になります。新規 Physics アセット作成時に同じウィジェットを再利用することができます。
  • Physics アセットをコンテンツ ブラウザから直接作成できるようになりました。これまでは、Skeletal Mesh アセットの非表示のコンテキスト メニューのオプションか らのみ作成可能でした。
  • ボディ / コンストレイントで行われる操作は、これまでのキーボード ショートカットに加えて、すべてのコンテキスト メニューに入りました。

新規:Physics アセット ボディの複数の凸包生成

ボーン毎に複数の凸包を使って物理ボディを自動生成できるようになりました。これによって、複数の凸包を使って非凸型のジオメトリを近似できるようになりました。

image alt text

新規:RigidBody Anim Node の改善

RigidBody ノードにルートボーンのシミュレーション空間のオプションが追加されました。アタッチされたスケルタルメッシュをプレイヤーのカプセルと逆向き回転させる場合に便 利です。さらに、物理アセットエディタに慣性スケーリングとコンストレイント ドミナンス (優勢) を適用することで、安定性とジッターが大幅に改善されました。

新規:ブレンドスペース エディタのユーザビリティの改善

これまでは、Shift キーを押しながらカーソルを当てた場所にプレビュー ピン (緑のダイヤ型アイコン) を置いていましたが、グリッド上でピンをドラッグできるようになりまし た。また、特性と機能について状況に応じた説明を提供するために、実際のブレンドスペース グリッドの状態に合わせて関連するヒントが出るようになりました。

新規:ブループリントのグローバル検索

ブループリント エディタ ウィンドウを開く必要なく、[Find in All Blueprints (すべてのブループリントを検索)] 機能を実行できるようになりました。最高 4 つまでの [Find in Blueprints (ブループリントを検索)] タブを開いたままにしたり、別のウィンドウにいつでもドッキングすることができます。これらは、メインの [Window] メニューから利用することができます。

ブループリントのエディタ メニューで [Edit (編集) ->Find in Blueprints (ブループリントを検索)] の順に選択すると (またはブループリント エディタのウィンドウを フォーカスした状態で CTRL-SHIFT-F キーを押す)、グローバル検索の新機能 [Find in Blueprints] のタブが開きます (または開いているか、ロックされていない最初のグローバルタ ブに切り替わります)。タブが開いているか、ブループリントのエディタ ウィンドウの外部のどこかにタブがドッキングされている場合、ブループリントのエディタ ウィンドウが閉じてもこのタブは開いたままになります。

 

グローバル検索機能の [Find in Blueprints] タブには、現在の結果一式を現在のタブにロックする [Lock] ボタンもあります。ブループリントのエディタのメニューで [Edit (編 集) ->Find in Blueprints (ブループリントを検索)] を呼び出す場合、現在開いているタブでロックされているものがあれば、グローバル検索の新機能の [Find in Blueprints] タブが開きます。

ブループリントのエディタのメニューで [Edit->Find] を選択すると (または CTRL-F を押す)、現在のブループリント内でのみ検索を行うためのローカルの [Find Results] タ ブが開きます。[Find in all Blueprints] ボタンをクリックすると、グローバル検索機能 [Find in Blueprints] のタブですべての Blueprint アセットに対して同じ検索を行うこと ができます。

この新機能は必要に応じてオフにすることができます。オフにするには、 [Editor Preferences->Blueprint Editor->Workflow] の順に選択し [Host Find in Blueprints in Global Tab] のオプションのチェックを外します。

新規:クロスレベル アクタ参照の改善

これまで Asset ID/AssetPtr と呼ばれていた Soft Object Reference によってクロスレベル アクタ参照が改善されました。Soft Object Reference プロパティを作成してあるア クタを指すようにすると、指されている Actor ID がフルパスで表示されるとともに、ロードされていなことや参照が切れていることも表示されるようになりました。

image alt text

参照されているアクタが [Move to current level (現在のレベルに移動)] オプションを使ってその名前が変更または削除された場合でも、このようなレベル横断的な参照は正しく 修正されるようになりました。特定のアクタを指定している別のレベル / シーケンスが確認されて再保存されます。このようにして、参照されているアクタが削除される場合はその前 に警告も出されます。さらに、レベル ストリーミングを使う場合は、プレイ イン エディタ (PIE) で正しく機能するようになりました。新たに作成された Sequencer Actor の参照は Soft Object Reference となりましたが、古い Sequence は "Rebind Possessable References" で修正を行い、まず再保存されなければなりません。

注意:このアップデートの一環として、ネイティブの型である FStringAssetReference と TAssetPtr がそれぞれ FSoftObjectPath と TSoftObjectPtr に名 称変更されました。

新規:エディタ内でのローカリゼーションのプレビュー

プレイ イン エディタ (PIE) の実行中におけるゲームのローカリゼーション プレビュー機能が追加されました。また、UMG エディタでさまざまな言語でウィジェットをプレビュー できる機能が追加されました。

  • [Preview Game Culture] ([Editor Preferences] -> [Region & Language]) で設定すると、プレイ イン エディタ (PIE) の実行時に自動的にアクティブになりま す。プレビュー言語はエディタから起動したスタンドアロン ゲームにも渡されます。
  • プレビューの実行中、編集可能なすべてのテキスト フィールドはロック (読み取り専用) 状態になり、翻訳データでソース データを間違って上書きしないようにします 。この新しいロック機能を利用すると、プロジェクトのローカリゼーションの変更を防止することもできます。そのためには、「DefaultGame.ini」もしくは「DefaultEngine.ini configuration」ファイルの「Internationalization」セクションの [LockLocalization] を [True] に設定します。


新規:配列の並び替え

配列内で配列要素をドラッグ アンド ドロップして並び替えが可能になりました。ブループリントおよび C++ で設定された配列はすべてデフォルトで並び替えが可能です。デフォルトの挙動をオプトアウトし C++ で固定した順番の配列を作成するには、EditFixedOrder メタデータを使用します。

新規:詳細マテリアル プレビュー ビューポート

ビューポートでマテリアルをプレビューするための詳細プレビュー シーンがマテリアル エディタおよびマテリアル インスタンス エディタに追加されました。シーンのライティングや環境キューブ マップなどのビュー設定を変更することができます。また、シーンの中のプレビュー メッシュの周囲にある背景の回転も可能になります。

プレビューの設定変更は、[Window] > [Preview Scene Settings] で行います。

image alt text image alt text

新規:プラットフォームのSDK をアップグレード

エンジンのリリースの都度、プラットフォームのパートナーからリリースされる最新の SDK に対応するようにエンジンをアップデートしています。

image alt text

  • ビルドファームによるコンパイルの対象である IDE のバージョン
    • Visual Studio:Visual Studio 2015 Update 3
    • Xcode:XCode 9.0
  • Android:
    • NDK 12b
    • Installer 1r6u1
  • HTML5: Emscripten ツールチェーンを 1.37.19 にアップデートしました。
  • Linux: v10_clang-5.0.0-centos7
  • Steam:1.39
  • Oculus Runtime:1.17
  • SteamVR:1.39
  • Switch:1.7.0, 3.5.1 + NEX 4.2.0; Firmware Version 3.0.1-1.0
  • PS4:
    • 4.508.111
    • Firmware Version 4.730.001
    • Supported IDE:Visual Studio 2015, Visual Studio 2013
  • Xbox One:
    • XDK:すべての Xbox コンソール機 (XB, XB1-S, XB1-X) を対象とする June 2017 QFE3
    • Firmware Version:October 2017 Preview 3 (versuib 16291.1000.170913-1900)
    • Supported IDE:Visual Studio 2015
  • macOS:macOS 10.13 High Sierra のサポートはフルサポートのプラットフォームとして追加されました。
  • iOS:SDK 11
  • tvOS:SDK 11


新規:Visual Studio Code は、Windows、Mac、Linux でサポート

UE4 のすべてのホスト プラットフォーム上のために Visual Studio Code を使ってコードを書くことができるようになりました。Visual Studio Code を使用するには、Editor Preference ダイアログで "Visual Studio Code" をお気に入りの IDE として選択するか、コマンドラインでプロジェクト ファイルを生成する時に -vscode 引数を追加します。すべ てのプラットフォームについて、Microsoft .NET Core website で提供されている.NET Core 2.0 ランタイムをインストールが必要となります。

Visual Studio Code を使ってすべてのプロジェクト タイプのビルドおよびデバッグを行うには、拡張機能をいくつか追加する必要があります。すべてのプラットフォームにおいて 、Microsoft C/C++ の拡張機能、および C# の拡張機能がインストールされていることを確認してください。Linux および Mac の場合は、C# プロジェクトのデバッグのために "Mono Debug" 拡張機能が、また C++ プロジェクトのデバッグのために “LLDB Debugger” 拡張機能がそれぞれ必要となります。さらに、C# プロジェクトのデバッグには、Mono ランタイム のインストールが必須となります。

  • OS X: brew install mono
  • Linux: sudo apt-get install mono-complete

image alt text

新規:iOS 証明書と署名が簡素化されました。

リモート ツールチェーンを使って自分の PC からリモートの Mac 上で OS をビルドすると、PC のプロジェクト設定から証明書とプロビジョニング ファイルが設定されるようにな りました。リモートの Mac 上でキーチェーン アクセスを使ってプライベート キーや証明書をインストールする必要はなくなりました。

新規:IOS でのデスクトップクラス フォワード レンダラ (実験的)

アンリアル エンジン 4.18 に、WWDC 2017 で Wingnut チームが AR デモで使用したデスクトップクラス フォワード レンダラが追加されました。A9 以上のプロセッサを搭載した iOS 10.3 以降のデバイスでサポートされていますが、A10X 以上のプロセッサを搭載した iOS 11 での使用を強く推奨します。

image alt text

このレンダリング技術により、物理ベースのシェーディング、反射、ライティング、シャドウイングと同じサポートが最新の iOS デバイス上で可能になります。ただし、これらの 機能はハードウェア上の現行のモバイル レンダラよりも高いスペックを要し、さらには実験的機能であるため、デバイスまたは OS によっては正しく動作しない機能もあります。以下 の機能は正常に動作しないことが確認されています。GPU skin-cache、GPU morph-targets、Atmospheric Fog、Multi-Sample Anti-Aliasing

新規:Gradle が Android でデフォルト設定になりました。

Gradle が Android アプリケーションのパッケージ化のデフォルト設定になりました。必要に応じて [Enable Gradle] Android プロジェクト設定を無効にすれば Ant を使用するこ とができますが、Ant は非推奨のため Gradle への移行をお勧めします。

注意:まだ Android SDK ライセンス契約を受け入れるために [Enable Gradle] にチェックを入れていない場合は、[Android Project Settings] の [Accept SDK License] ボタンをクリックする必要があります。ライセンスに同意しないままパッケージ化あるいは起動を進めるとエラーが出ます。

新規:Android Camera のためのプラグイン

Android デバイスのフロント / バック カメラへのアクセスを可能にするためのプラグイン (任意) がアンリアル エンジンに追加されました。プラグインを有効にすると、 [Android Camera] のためのパネルが [Project Settings] の[Plugin] に追加され、Android Manifest のための要件を選択できるようになります。

image alt text

新規:HTML5 Optimized Browser WebAssembly がデフォルト設定になりました。

WebAssembly が HTML5 のプロジェクトではデフォルトで有効になりました。主要なブラウザ メーカーは WebAssembly 標準に対応しているので、ウェブ上でパブリッシュを行う際 に、アセット サイズ、ブラウザのロード時間、ランタイム パフォーマンスにおける大幅な改善を実感できます。これまで HTML5 に最適化されていた ASM.js が廃止されてコードベー スから削除されました。

注意:マルチスレッドは WebAssembly でまだ使用できません。ASM.js はサポートしていますが、WebAssembly は当面シングル スレッド モードのみ実行されます。ただし、マルチスレッドは今後数ヶ月ですべてのブラウザ メーカーが目指す目玉機能となるでしょう。

新規:LLM Low Level Memory Tracker

LLM Low Level Memory Tracker を使うと、見逃しや重複カウントなしに、すべてのメモリを 1 度だけトラッキングすることができるようになります。

image alt text

エンジンあるいはゲームによるすべてのアロケーションには、属するカテゴリが特定できるタグ値が割り当てられています。すべてのカテゴリの合計が加算されて、ゲームで使用さ れるメモリ量の合計になります。タグはタグ スコープ マクロを使って適用されます。このスコープ内で行われる割り当てには、指定されたタグが与えられます。

LLM 統計情報は、‘stat LLM’ または ‘stat LLMFULL’ を使ってゲーム内で表示することができます。各タグの現在の合計値が MB 単位で表示されます。LLM は、統計情報の値 をcsv に書き出します。それによって経時的なグラフで値を表示できるようになります。

LLM は、その性質上、プラットフォームごとにサポートする必要があります。現時点でのサポート対象は PS4 と XboxOne であり、Windows は実験的リリースとしてサポートしてい ます。

新規:XGE (Incredibuild) シェーダー コンパイラーのサポートを改善

XGE (Incredibuild) シェーダー コンパイラのサポートを改善することにより、これまでの XGE (Incredibuild) シェーダー コンパイラで見られたストールとレイテンシを大幅に 削減するとともに、新しいシェーダーのジョブを非同期で XGE に流し込むことが可能になりました。

新しいシステムはさらにパフォーマンスが向上し、クック オンザフライ、クック バイザブック、エディタ内でのシェーダのイタレーションなど、あらゆる状況でのシェーダー コ ンパイルが格段に速くなりました。

これらの改善内容はデフォルトで有効になっていますが、Incredibuild version 8.01 以上が必要になります。エンジンは起動時にバージョン チェックをし、サポート対象のイン ストレーションが見つからない場合はレガシーの XGE シェーダー コンパイラにフォールバックします。これまでのシステムと同様に、XGE シェーダー コンパイラ自体を有効にするに は、コマンドラインで "-xgeshadercompile" を使います。あるいは ConsoleVariables.ini. で “r.XGEShaderCompile” を「1」に設定しておきます。

Unreal Audio Engine (ベータ プレビュー)

新アンリアル オーディオ エンジンは引き続き開発中です。4.18 では、サポート対象のプラットフォームがますます増えました。アップデートされたプラグインのアーキテクチャ や素晴らしい新機能へのサポートも行われます。アンリアル オーディオのこれらの新機能はベータ版です。今後のリリースでは、パフォーマンスおよび安定性に注力していきます。

Windows、Mac、iOS、Android、XboxOne、PS4 に加えて、Nintendo Switch、Linux および HTML5 でもアンリアル オーディオ エンジンが使えるようになりました。Linux では、こ の新アンリアル オーディオ エンジンがすでにデフォルトで有効にされています。4.16 および 4.17 で初めてリリースされたその他のすべてのバックエンドに対する重大な修正および 改善が完了しました。

オーディオ プラグインのアーキテクチャの改善 (新アンリアル オーディオ エンジンのみ)

オーディオ プラグインは、オーディオ エンジンのコア機能を オーバーライド もしくは 拡張 する必要があるオーディオ エフェクトに役立ちます。オブジェ クトごとに両耳に適用される音源の立体化、音源のオクルージョン、マスターのリバーブは、コア ミキシング エンジにより深く統合することによって、ベストな結果を得ることがで きます。これらのエフェクトには、特殊なオーディオ プラグインが必要になります。

image alt text

  • コア ミックス機能のオーバーライドを求めるサード パーティ デベロッパーのために、オーディオ プラグインのアーキテクチャが改善されて、円滑なインテグレートが 可能になりました。
  • プロジェクトにおいて音源の立体化、音源のオクルージョン、およびリバーブについて、プラグインのオーバーライドを組み合わせることができます。
  • エディタを再起動せずに別のプラグインへの切り替えが可能になりました。

新規:Source Bus (新アンリアル オーディオ エンジンのみ)

Source Bus は新アンリアル オーディオ エンジンの強力な新機能であり、柔軟にルーティングを行うことができます。複数の音源をセンドして単一のリアルタイム音源としてまと めることができます。Source Bus は Sound Base を元にしているため、Sound Wave や Sound Cue と同じ方法で再生および使用することができます。3D ミックスバスとして立体化す る場合でも、あるいは Source Effect の持続を維持する手段として立体化する場合でも、オーディオ デザイナーにとっては非常に重要なツールとなって今後わくわくするような機能 を生み出すことでしょう。

  • Source Bus を使うと、あらゆる音源のオーディオデータを 3D 音源に送ることができるようになります。これには他の Source Bus も含まれます (この Source Bus 自身 も含まれ、実行時オーディオ フィードバック システムが作成されます)。
  • Source Bus は新しい USoundBase 型です。そのため、通常のサウンド BP および C++ API、オーディオ コンポーネント、環境アクタの中でまるで別の音のように再生で きます。さらには、間隔を指定することによって、1 回限りのバス (0.0 として指定した場合) にしたり、ループする音源にすることが可能です。
  • Source Effect と Submix Send は、通常の音源と同じように Source Bus で使用することができます。
  • 他の音源のバスへのオーディオ送信は Submix Send への送信と類似しており、オーディオを Source Buse のみに送るか、あるいは Submixe にも送るかを選択できます。

新機能 Submix Effect (新アンリアル オーディオ エンジンのみ)

Synthesis Plugin を時間ベースの新機能 Submix Effects でアップデートしました。Submix Effects は、シンプルなディレイから、柔軟で演算効率のよいリバーブに至るまで扱う ことができるため、複雑で面白いインタラクティブな空間的なエフェクトの作成ができるようになります。

  • Delay:シンプルなマルチチャンネル ディレイ ラインで、ブループリントからランタイム時のモジュレートが可能です。エフェクトが適用された状態で 機能しているサブミックスに送られるオーディオにおいて、シンプルな ブロードキャスト ディレイをシミュレートするエフェクトです。アニメーションや他のゲームプレイシステム とのミリセカンド未満での同期に使用できます。
  • Tap Delay:ランタイム中にパワフルなブループリント API を使って、任意の数だけタップ ("エコー") を個別に追加、修正、削除することができる複 雑なマルチチャンネル ディレイ エフェクトです。タップは毎、タップの減衰、タップの方位角、タップのディレイによってパラメータ化されます。ドップラー効果のシミュレーショ ン、初期反射、その他の多くのディレイ ベースのミックス エフェクトのエミュレーションに役立ちます
  • Flexiverb:エコー密度を最低限の掛け合わせで最大化できるように最適化された、計算負荷の低い単一チャンネル リバーブ アルゴリズムです。このエ フェクトは CPU リソースに制限のあるプラットフォーム上で小さな部屋の反響をエミュレートする場合に便利です。

減衰 (Attenuation) の設定項目の改善

今回の改善は、減衰の設定項目の分かりやすさと見やすさに重点が置かれました。たとえば、特定の編集条件を持つカテゴリに合わせて減衰設定が表示されるので、使用中の減衰設 定機能が一目で分かるようになりました。

image alt text

新規:VR / AR カメラ システムのリファクタリング

4.18 では、Camera Component と生のビューの両方のために、デフォルトのカメラの実装が含まれるようになり、エンジンで自動処理される最新のアップデートが含まれるようにな りました。このデフォルトのカメラの実装は、ビュー ターゲットに CameraComponent がある場合、現実世界におけるデバイスの変位に等しく、キャリブレートされた基点からそれ自 体を移動 (相対トランスフォーム) させます。結果として、ハードウェアのデベロッパーが実装する必要のある API がかなり削減され、結果として効率性の飛躍につながります。

注意:すべての既存プラットフォームにおけるカメラの実装は削除され、デフォルトのカメラ実装に変更されています。

リリースノートの全文は 、 フォーラム に掲載されています。