Unreal Engine 4.20 Released
July 16, 2018

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

作成 Jeff Wilson

新機能

アンリアル エンジン 4.20 はデベロッパーの成功に必要なスケーラブルなツールを提供します。未来を見据えたモバイルゲームを制作し、ナイアガラで可能となるエフェクトの世界を探索し、魅力的で本物と思ってしまうようなデジタルヒューマンに息を吹き込み、すべてのプラットフォームでのワークフロー最適化を活用しましょう。

これまでにないリアルさを実現した命を持ったように見えるデジタルキャラクタや、説得力のある世界を実現できます。アンリアル エンジンの新しいナイアガラ パーティクル エディタで次世代のビジュアルエフェクトを作成し、プロジェクトのすべての部分に目を見張るようなディティールを追加できます。『Meet Mike』や『Siren』といったデモで使用されたデジタルヒューマン技術を使って、リアリズムの標準を引き上げましょう。新しいシネマティック被写界深度では、映画レベルのカメラエフェクトをリアルタイムで実現できます。

アンリアル エンジンは、制作プロセスを好きなスタイルやワークフローに合わせてカスタマイズできるツールを提供するため、あなた自身の方法での制作に力を与えます。新しいエディタスクリプト機能と自動化ライブラリを使うことで、完全にカスタム化したツールとワークフローを作り上げることができます。アクタやアセットに適用できる新しいアクションを追加して、デザイナーやアーティストの仕事を楽にしてあげましょう。アクタやコンテントブラウザのコンテキストメニューにスクリプト機能が拡張されました。

モバイルとコンソールのサポートは実戦でテストされています。つまり、一度作成したものはどのデバイスでもプレイ可能で、ユーザが望むどの場所でもプレイ体験を実現できます。エピック ゲームズはフォートナイトのモバイル版リリースのために力を集結し、モバイルゲーム開発に向けたアンリアル エンジンの最適化を行いました。ハードウェアのタスクを制限するために、オクルージョン クエリをハードウェアとソフトウェア両方で実装することなど、無数のパフォーマンス改善策を実装しました。プロキシ LOD はプロダクションで使用可能な状態になりました。レンダリングされる必要があるジオメトリの複雑性をさらに下げることを可能にする方法です。

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

Adam Moss (adamnv), Akihiro Kayama (kayama-shift), Alan Edwardes (alanedwardes), Alan Liu (PicaroonX), Andrew (XenonicDev), Andrew Haselgrove (Dimpl), Anton Rassadin (Antonrr), arkiruthis, Begounet, Brandon Wilson (Brandon-Wilson), c4tnt, Changmin (cmheo), Christian Loock (Brainshack), Clinton Freeman (freemancw), Daniel Assuncao (dani9bma), David Payne (dwrpayne), Deep Silver Dambuster Studios (DSDambuster), Derek van Vliet (derekvanvliet), Eduard Gelbling (NachtMahr87), frankie-dipietro-epic, Gautier Boëda (Goutye), George Erfesoglou (nonlin), Giovanny Gutiérrez (bakjos), Gregor Gullwi (ggsharkmob), Hannah Gamiel (hgamiel), Hyuk Kim (Hybrid0), Ibraheem Alhashim (ialhashim), Ilya (ill), Jacob Nelson (JacobNelsonGames), Jaden Evanger (cyberblaststudios), Jared Taylor (Vaei), Jesse Yeh (jesseyeh), Jia Li (shrimpy56), Jørgen P. Tjernø (jorgenpt), June Rhodes (hach-que), Junichi Kimura (junkimu), Kalle Hämäläinen (kallehamalainen), kinolaev, Kory Postma (korypostma), krill-o-tron, Kryofenix, Lallapallooza, Layla (aylaylay), Lee Berger (IntegralLee), Leon Rosengarten (lion03), Lirrec, malavon, Marat Radchenko (slonopotamus), Marat Yakupov (moadib), Mathias L. Baumann (Marenz), Matt Hoffman (LordNed), Matthew Davey (reapazor), Maxime Turmel (maxtunel), Michael Allar (Allar), Michael Kösel (TheCodez), Michael Puskas (Mmpuskas), Mikayla Hutchinson (mhutch), mimattr, Mitsuhiro Koga (shiena), Muhammad A.Moniem (mamoniem), nakapon, Nicolas Lebedenco (nlebedenco), Paul Eremeeff (PaulEremeeff), Phillip Baxter (PhilBax), projectgheist, Rama (EverNewJoy), redfeatherplusplus, Rei-halycon, Robert Khalikov (nbjk667), Roman Chehowski (RChehowski), S-Marais, Sam Bonifacio (Acren), Satheesh (ryanjon2040), Scott Freeman (gsfreema), SculptrVR, Sebastian Aaltonen, Sébastien Rombauts (SRombauts), Seokmin Hong (SeokminHong), Sertaç Ogan (SertacOgan), stephenwhittle, Temaran, Thomas Miller (tmiv), Trond Abusdal (trond), TWIDan, Tyler (tstaples), Usagi Ito (usagi), yama2akira, Yang Xiangyun (pdlogingithub), yehaike, Zachary Burke (error454)

主要機能

新規:モバイルプラットフォームでのリリースに向けた最適化と改善

アンリアル エンジン 4.20 には iOS 版と Android 版のフォートナイトのために開発された100以上のモバイル向け最適化が含まれています。ゲームリリースをより簡単に、そして複数プラットフォームでのゲームプレイをシームレスに調整する上で、デベロッパーにとって大きな改善が行われています。主要な改善点には、 Android デバッグの改善、モバイルランドスケープの改善、モバイルでのオクルージョンクエリがあります。

  
 

モバイルでのハードウェア、ソフトウェアのオクルージョンクエリ

ハイエンドのモバイルデバイスでハードウェア オクルージョンクエリがサポートされました。 iOS、もしくはES 3.1かGPUを使用したVulkanを使用する Android でサポートされます。サポートするデバイスではデフォルトで有効になります。

ソフトウェア オクルージョンクエリはCPUを使用してシーンのプリミティブ コンポーネントのカリングを行う実験的機能です。慎重なアプローチをしているので、どのモバイルデバイスでも使用可能です。

   

左 - r.Mobile.AllowSoftwareOcclusion 1, r.SO.VisualizeBuffer 1; 右 - オクルージョンされた部分を示したフローズンレンダー

ソフトウェア オクルージョンクエリを有効にするためには以下のステップに従います。

  1. 有効化方法 r.Mobile.AllowSoftwareOcclusion 1
  2. 無効化方法 r.AllowOcclusionQueries 0
  3. プリミティブをオクルーダとして有効にするには、スタティック メッシュ エディタで [LOD for Occluder Mesh] の設定値を有効にします。

Mobile PreviewerHigh-End Mobile を使用し r.SO.VisualizeBuffer 1 を有効にすることで結果のビジュアライズを行えます。

プラットフォームマテリアル統計

マテリアル エディタ内の新しい [Platform Stats(プラットフォーム統計)] ウィンドウを使用して、マテリアルを簡単にプロファイルして最適化しましょう!複数のシェーダープラットフォームと品質レベルに対する統計を確認できるようになりました。モバイルプラットフォームでは、オフラインシェーダーコンパイラを使って、より正確なインストラクションとテクスチャ使用状況の情報を取得しています。

Android デバッグの改善

UE4 プロジェクトの再パッケージ化なしにAndroidでのイテレーションとデバッグを実行できます!Android 向けにコンパイルする際に、Android Studio で開くことが可能な Gradle プロジェクトファイルを生成できるようになりました。C++ と Java コードにブレークポイントを追加して、Android Studioからデバッグセッションを開始できます。C++ ソースコードへの変更を加えて再コンパイルすることも可能です。新しいデバッグセッションを開始すると、Android Studioは変更を検知して、新しい共有ライブラリをデバイスに素早くアップロードします。

モバイルランドスケープの改善

モバイルでのテレインをもっとおもしろいものにしましょう。モバイルデバイスでもランドスケープのマテリアルレイヤーの数が無制限になりました!3 レイヤーが最適であることには変わりはありませんが、十分なテクスチャ サンプラーが利用可能であれば任意数のランドスケープ レイヤーを使用できます。

ランドスケープマテリアルでマテリアルノードの Feature Level Switch を使ってすべてのプラットフォーム向けの単一のランドスケープマテリアルを作成できるようになりました。

1- モバイルランドスケープ; 2 - PC ランドスケープ

その他のモバイルの改善

モバイル版のフォートナイトをリリースするために行った以下の改善点が、すべてのデベロッパーが使用できるようにアンリアル エンジン 4.20 に追加されました。

  • プラットフォーム別の最小スタティックメッシュ LOD 設定
  • プラットフォーム別の最小スケルタルメッシュ LOD 設定
  • ハードウェアオクルージョンの改善
  • HLOD ツールとワークフローの改善
  • オーディオ品質ノード
  • オーディオバリエーションカリング
  • プラットフォーム別のオーディオ ダウンサンプリング
  • プラットフォーム別のオーディオ圧縮品質
  • PCにより一致させるシェーディングモデルの調整
  • リフレクションキャプチャの輝度の修正
  • 4レイヤーのランドスケープサポート
  • ランドスケープテッセレーションの改善
  • 未使用の LOD によるメモリコストをゼロになるように改善。以下を含みます。
    • スタティックメッシュ
    • スケルタル (骨格) メッシュ
    • マテリアル品質レベル
    • グラスとフォリッジ
    • 高詳細コンポーネントとメッシュ
    • カスケードでの高詳細エミッター
  • デバイスメモリに基づいた設定
  • マテリアルメモリの削減
  • アセット一括変更のためのエディタスクリプト機能
  • パーティクルコンポーネントのプーリング
  • マテリアル パラメータ コレクションの更新コスト

新規:Nintendo Switchでのリリースに向けた最適化と改善

Nintendo Switch向けフォートナイトの開発で行った無数のパフォーマンスとメモリに関する改善をすべてのアンリアル エンジン デベロッパーにリリースしました。Nintendo Switch向けの開発を大幅に改善しました!

以下の改善点が含まれます。
  • 動的解像度と Temporal アップサンプリングのサポート
  • コントローラ入力のフレーム同期でのレイテンシー低減
  • 大幅なCPUレンダリング最適化
  • マルチスレッドの改善
  • テクスチャ圧縮の改善
  • メモリプロファイリングのサポート
  • TVモードでの 1080P バックバッファサポート
  • その他多数の修正が含まれます!

新規:プロキシ LOD の改善

新しい プロキシ LOD ツール実験的段階から卒業して実制作で使用可能な段階になりました!このツールはポリゴン数、ドローコール数、マテリアル複雑度によるレンダリングコストを削減することを可能にします。 モバイルとコンソール開発で大きな利点があります。このツールはサードパーティーパッケージのSimplygonに対する代替ソリューションを提供し、アンリアル エンジンの Level of Detail (LOD) と連携して使用することが可能です。

プロキシ LOD ツールは、ソースとなる複雑なジオメトリモデル群に対して、パラメータで制御された単一のローポリゴンメッシュと大体の見た目を再現したテクスチャから構成されるプロキシを生成することで、単純化したモデルを生成します。 モデルの品質を下げることが許される場合に、このプロキシがランタイムで表示されることになります。例えば、ジオメトリが画面においては小さいピクセルサイズのみを占める場合などです。

注意:プロキシLODツールは、現在 Windows 版のアンリアル エディタでのみ使用可能です。

上の画像は Gap-FillingHard-Edge Splitting の両方の設定を使用し、プロキシ LOD tool が構築した Fortnite Battle Royale での建物と駐車場のプロキシモデルです

4.19 に含まれていた実験段階の プロキシ LODツールに比べて、今回実制作に対応したバージョンには複数の機能強化が追加されています。特に、プロキシジオメトリの法線をコントロールする機能の強化と、自動的にドアや窓といった隙間を埋めてさらに単純なプロキシモデルを生成する機能が含まれています。

法線コントロールの改善ハードエッジ法線の分割

フォートナイトでの極端なメモリ使用の制限によって、LODを非常に効率よくする必要が出てきました。大部分のプロキシでは、生成されるベースカラーのテクスチャは非常に小さく、法線マップは使用されません。このアプローチでは、プロキシメッシュ自身ができる限り品質の高い法線を持つ必要があります。

1 - ハードエッジ角度 = 80; 2 - ハードエッジ角度 =0

上のgif画像は、頂点法線に対するハードエッジ分割の効果を示しています。画像 2 はスムーズ頂点法線です。4.19 の実験的段階のプラグインで計算されたもので、家の下側近くの暗い領域で、欠点があることがわかります。これを画像 1 と比べてみましょう。ハードエッジ頂点法線の分割を、ユーザーが指定したハードエッジ カットオフ角度で行ったものです。

ハードエッジ カットオフ角度の追加に加え、ユーザーは頂点法線の計算で使われる方法を指定できるようになりました。 Angle Weighted、 Area Weighted、Equal Weighted から選択できます。

隙間のフィル(Gap Filling)

隙間のない完全に閉じたジオメトリの場合、プロキシシステムは自動的に内側のアクセスできない構造(例えば、閉じた家の中の壁や家具など)を破棄します。理想的には、ソースとなるジオメトリはこのことを考慮して制作するか調整されるべきですが、ゲーム制作での制限の中では常に実現可能なことではありません。ほぼ隙間がないソースジオメトリから効率のいいプロキシ LODを生成するために、プロキシ LODツールでは強度を設定して拡張(dilation)や浸食(erosion)といった手法で隙間を閉じるオプションが利用できます。主に想定されている使用ケースは、離れた場所にある建物でのドアや窓です。

1 - 元のメッシュ; 2 - 隙間のフィル無し; 3 - 隙間のフィル

上の gif 画像は隙間のフィルの効果を示したものです。すべての画像は固定した小さなテクスチャ空間のみを使用するよう制限しています。画像 2 は隙間のフィルを使用しないプロキシ LODの結果です。この場合、 LOD 建物の内部を含んでいます。(見えていない部分でポリゴンとテクスチャのコストがかかっています)画像 3 は同じ建物で隙間のフィルを使用して自動的に建物のドアと窓を閉じたものになります。全体の三角ポリゴン数が減り、限られたテクスチャリソースをより有効に活用しています。

新規:シネマティック被写界深度

新しいシネマティック被写界深度 (Cinematic DoF) を使用することで、映画クオリティのシーンをリアルタイム環境でレンダリングしたいというビジョンを実現することができます。この新しい手法は、すでに存在する Circle DoF より品質が高い手法としてデザインされました。一方で、Bokeh といった他のほとんどの DoF 手法より高速です。シネマティック被写界深度を使うと、被写界深度のエフェクトはよりクリーンになり、プロシージャルな Bokeh シミュレーションで映画的な見た目を実現できます。この新しい DoF 実装はさらにアルファチャンネルをサポートし、動的解像度でも安定し、コンソール向けプロジェクト用にスケールダウンするための設定も含んでいます。

 

1 - シネマティック被写界深度を有効; 2 - 被写界深度を無効

シネマティック被写界深度はデフォルトで有効になります。これまでのカメラポストエフェクト設定で Circle DoF を選択していた場合の選択もシネマティック被写界深度に置き換えられます。

  • シネマティック被写界深度は現在、以下のプラットフォームをサポートしています。
    • D3D11 SM5、D3D12 SM5、Vulkan SM5、PlayStation 4、Xbox One と Mac です。
  • プロシージャル Bokeh シミュレーションでは現在、以下の機能をサポートしています。
    • 絞りの羽根枚数の設定。
    • レンズの最大開口部(最小 F-stop)に合わせて直接羽根の曲率を設定。
    • 設定可能なコントロールはポストプロセスボリューム、カメラアクタ、Cine Camera アクタの Camera(カメラ)設定に用意されています。
  • 一連の r.DOF.* コンソール変数で、ハードウェアリソースが限られたプロジェクトでのスケーラブル設定のカスタマイズが可能です。

詳細についてはDOF (Depth of field:被写界深度)ドキュメントを参照してください

新規:ナイアガラ ビジュアルエフェクト エディタ(アーリーアクセス)

ナイアガラ ビジュアルエフェクト(VFX)エディタアーリーアクセスプラグインとして利用可能になりました!将来的にアンリアル カスケードを置き換えることになるまったく新しいビジュアルエフェクトツールのアーリーアクセス版をお試しください。 ナイアガラのビジョンに関する詳細についてはGDC での講演 を参照してください。

注意:アーリーアクセス機能は、カスタマーの皆様とシェアしたいと考える程度には開発が進んでいるものの、UE4の標準機能とする前にできる限りのフィードバックを受けたりたい、という位置づけです。一方で、アーリーアクセスなのでナイアガラは実際の制作で使用できる段階ではありません。これから実制作で使用できるように、パフォーマンス最適化やバグ修正をさらに行っていく必要があります。こうした制限はありますが、エフェクト開発者がナイアガラについての学習をはじめて、ナイアガラを最高のVFXエディタにするために協力してくださることを願っています。

ナイアガラの概要についてはGDC 2018のプレゼンテーション Programmable VFX with Unreal Engine’s Niagara をご覧ください。また、 ナイアガラ のドキュメンテーションも参照してください。

エフェクトデザインと作成の改善


左 - Dynamic input モジュールを使用したパーティクル システム 右- Dynamic input モジュール

  • スケルタルメッシュはエフェクトを発生させる自身の表面を指定できるようになりました。マテリアル名、もしくは、指定したボーンの影響範囲で指定できます。
  • モジュールでの初期値指定方法が改善され、関数を呼ぶことから、動的入力のデフォルトを使用することまで、さまざまな挙動を使用できるようになりました。
  • メッシュパーティクルが角速度をサポートするようになりました。
  • リボンレンダラーにビームサポートが追加されました。対応するモジュールを使用します。
  • モジュール間の依存関係を定義できるようになりました。スタックの構成がおかしくなった場合にユーザにその情報を知らせることができます。また、自動修正(auto-fix)を使用することもできるようになりました。
  • システムエミッターとベースエミッターのマージへの改善が複数行われました。安定性が全般的に向上しました。
  • スタック内でモジュールをドラッグアンドドロップで上下に移動することができるようになりました。継承したモジュールは移動することができません。移動できるようにするとマージが複雑になるからです。
  • スタック内のモジュールの有効、無効を切り替えることができるようになりました。これは継承でも使用できます。
  • シーケンサーブループリントでのナイアガラユーザーネームスペース変数の設定サポートが追加されました。
  • パラメータをカスタムの HLSL エクスプレッションダイナミックインプット(グラフスニペット)、他の変数へのリンク、値指定で駆動することができます。
  • オプションとして、パーティクルは Persistent ID を持つことができます。このIDはエミッター内でユニークであることが保証されます。
  • 各タイプの複数のレンダラーをエミッターに適用することが可能です。各インスタンスで、特定のパラメータがどこから値を取得するかを調整することが可能です。例えば、エミッターに2個のスプライト レンダラーを持たせて、1つのスプライトレンダラーはパーティクルの位置から自身の位置を決定し、もう一つはパーティクルのオフセット位置から自身の位置を決定する、ということも実現できます。
  • Niagara Extras プラグインは各パーティクルの様々なパラメータをダイアログ状の画面に表示できるデバッグマテリアルも含んでいます。
  • Houdini はナイアガラへのシンプルな CSV インポーターを提供しました。GDC 2018 のデモコンテンツを実現したものです。
  • 自動化テストシステムにナイアガラの多様な機能テストが追加されました。

ユーザーインターフェースの更新

複雑なエフェクトも直感的に作成できるようにナイアガラのインターフェースはデザインされています。全体的にはスタックという形でスクリプトのロジックをまとめています。スタックの内部には、エフェクトの時間経過による変化をコントロールする Timeline、エフェクトで使用している変数に簡単にアクセスできる Parameters Panel、そしてエフェクト実行中に情報を確認して反応することを可能にする Attribute Spreadsheet があります。 

新しいモジュール

すべてのナイアガラのモジュールは、ゲームでのエフェクト制作で一般的に使用される挙動をサポートするために一貫性のあるコーディング標準に従って更新されたもの、もしくは書き直されたものです。 C++ での UProperty でのオプションを模倣するように、新しい UI 機能がナイアガラスタックにも追加されています。他の変数の状態によって、変数表示の有効/無効の切り替えが可能です。 

GPU シミュレーション

ナイアガラは現在のところ、DX11、PS4、Xbox One、OpenGL (ES3.1)、Metal プラットフォームでGPU シミュレーションをサポートしています。Vulkan Switch プラットフォームでも将来のリリースにおいてGPUシミュレーションをサポートする計画があります。GPU シミュレーションの現在の制限事項と既知の問題は以下になります。

  • ナイアガラを完全にサポートするには GPU からのデータ読み戻し機能が必要です。現時点では DX11 PS4 のレンダリングインターフェースのみがこの機能をサポートしています。OpenGL と Metal では開発中です。
  • コリジョン、カーブ、Curl ノイズフィールドが GPU でサポートされています。メッシュ、スキン メッシュ、スプラインコンポーネント、さらに特化したデータインターフェースはまだサポートされていません。UNiagaraDataInterfaces とインタラクトする GPU シェーダー向け API も再デザインされました。
  • パーティクルからのスプライトインスタンス化スタティックメッシュレンダリングが GPU シミュレーションでサポートされています。現在のところ、パーティクルからのライト生成とリボン生成は GPU では機能しません。
  • イベントは CPU のみで機能し、アンリアル エンジン 4.20 以降に大幅な変更が行われる見込みです。

CPU シミュレーション&コンパイル

ナイアガラは現在のところ、PC、PS4、Xbox One、OpenGL (ES3.1)、Metal プラットフォームでCPU シミュレーションをサポートしています。現時点では Vulkan Switch はサポートされていません。

  • CPU バーチャルマシン(VM) は コンテンツ の コンパイル を バックグラウンドスレッド で DDC に対して行います。これによって コンパイルスピード と チーム の効率性が大幅に向上しました。最終で大幅な VM 最適化にはまだ スレッドセーフ ではない ライブラリ に依存している ShaderCompileWorker での開発が必要です。コンパイル依存関係については モジュール間で正しくトラッキングされています。スタックで再コンパイルが必要な部分がどこかを明確に判定します。
  • CPU での物理シミュレーションは正しく摩擦と反発(弾力性)に対して物理マテリアルの値をモデルとして使用するようになったはずです。
  • エミッターは ワーカースレッドで並行してシミュレートされるようになりました。

新規:デジタルヒューマンの改善

エピック ゲームズでのデジタルヒューマンを開発しようというキャラクタ技術の研究は、 Photorealistic Character の胸像からはじまりました。それ以来、リアルで実在するような説得力を持つキャラクタを実現するために数多くのレンダリングの改善が行われてきました。

キャラクタを開発する間に、以下の肌、目、ライティング、サブサーフェス スキャタリングのレンダリング改善が行われました。
  • Double Beckman Dual Lobe メソッドを使用した新しいスペキュラモデルの追加。
  • サブサーフェスプロファイルでの Backscatter を使用した Light Transmission。
  • Boundary Bleed 色を使用して改善したサブサーフェススキャタリングのコンタクトシャドウ。
  • ポストプロセス マテリアルによる、短距離の動的グローバルイルミネーション。
  • 虹彩に分離したノーマル マップを適用することによるディティールの増加。

詳細については、Digital Humans のページをご覧ください。

新規:長方形型エリアライト

長方形型エリアライトによって、頭上の蛍光灯、テレビ画面、照明つきサインなどの大きさのある光源を含んだリアルなライティング設定を実現することができます。長方形型エリアライトは[モード]パネルに他のライト種類と共に存在しています。

  • 現時点ではディファード レンダラのみでサポートされています。
  • 光源のエリアをコントロールするソースの幅と高さ設定がある以外は、ほぼポイントライトと同様に振舞います。
  • 静的、固定の可動性のシャドウイングは、可動動的シャドウイングに設定したエリアライトソースと同様に機能します。現在のところ、大きさを持たないポイントライトと同様の挙動です。

パフォーマンスの考慮事項。

  • 全般的にポイントライト、スポットライトより負荷が高いです。特に可動でシャドウをキャストする時のコストが主要なものになります。シャドウイングのコストは一般的に同程度です。
  • Stationary light (固定ライト)可動性、またはシャドウキャストをしないライトは、使用プラットフォームによっては、コストスケーリングでコストが2倍になります。静的ライトの場合は、この負荷はありません。

新規:Mixed Reality キャプチャ (アーリーアクセス)

現実世界のプレイヤーをバーチャルゲーム空間にコンポジットすることを簡単にするMixed Reality キャプチャ機能を使って、Mixed Reality アプリケーションで魅力的な観戦体験を作り上げましょう!

アーリーアクセスのMixed Reality Captureサポートには主要コンポーネントが3個あります。ビデオ入力、キャリブレーション、そしてゲーム内コンポジットです。現実世界のグリーンスクリーンで撮影したビデオをアンリアル エンジンに取り込むことを可能にする、サポートされているウェブカメラとHDMIキャプチャデバイスのリストを用意しています。Viveトラッカーなどのトラッキングデバイスがあれば、現実のカメラの位置とゲーム内のカメラの位置を一致させて、よりダイナミックで面白いショットを作成できます。セットアップとキャリブレーションはスタンドアロンで存在するツールで行うため、様々なアンリアル エンジン 4 タイトル間で設定を再利用できます。一度撮影場所のセットアップができれば、すべてのアプリケーションで使うことができます。

アーリーアクセスの間に、システムを改善していく上でフィードバックをいただきたいと考えています。Mixed Reality Captureのセットアップに関する詳細は Mixed Reality Development ドキュメント をご覧ください。

新規: nDisplay 柔軟なマルチディスプレイレンダリング

新しい nDisplay システムを使って、巨大なビジュアライゼーションインスタレーションのビデオウォールを苦労せずに制作しましょう!好きな数のアンリアル エンジンインスタンスを自動で起動することができます。それぞれのインスタンスは、結果が同じに決定されるコンテンツ及びフレームも正確な時間同期で堅固に結びついています。インスタンスは任意数のホストコンピュータにに分散させることが可能で、各インスタンスがプロジェクタ、もしくはモニタを駆動します。アクティブ、パッシブステレオスコピックレンダリングを使って3Dシーンへのビューワーの没入感を増強し、ビルトインの VRPN サポートでモバイル VR コントローラーからシステムを動かしましょう。

詳細についてはドキュメントをご覧ください。

新規:Submixオーディオ録音

新しいオーディオエンジンに、エンジンアウトプット、もしくは個々のSubmixアウトプットを *.wavファイル、もしくはサウンドウェーブアセットとして録音する機能を追加しました。

Submix アウトプットをサウンドウェーブアセットに出力


Submix アウトプットを *.wav に出力

新規:スケルタル メッシュ LOD 設定の共有

新しい LOD Settings アセットを使用して、一度設定したLOD設定を複数のスケルタルメッシュアセットで共有しましょう!スケルタルメッシュの [アセットの詳細] パネルの [LOD Settings] で、使用する LOD Settings アセットを選択することができるようになりました。現在の設定から新しいアセットを生成することも可能です。

詳細は、スケルタルメッシュ アセットの詳細 のSharing LOD Settings セクションをご覧ください。

Blutility を 使ってブループリントからも LOD Setting の割り当て、生成が可能です。

新規:GeomCache のストリーミングと Alembic インポーターの改善(実験的機能)

ジオメトリキャッシュシステムに、安定性とパフォーマンスの改善を続けています。

  • 個々の頂点アニメーションフレームが、Huffman エンコードに基づく intra-frame コーデックで圧縮されるようになりました。圧縮データはディスクからストリーミングされます。低いメモリオーバーヘッドでより長いシーケンスの再生が可能になります。新しい実装はまだ実験的機能で実制作での使用には適していません
  • Alembic インポーターはすべてのフレームを一括で読み込むのではなく、各フレームを反復して読み込むように変更されました。 これによってPCAパイプライン及び全般的な安定性とスピードが向上したはずです。

新規:アクタとコンテンツ ブラウザコンテキスト メニューのスクリプト拡張

コードを一行も書かずに簡単にコンテキストツールやワークフローを助けるツールを作りましょう。ブループリントユーティリティ(Blutilities) を使ってアクタやブラウザのコンテントアセットのコンテキスト メニューを拡張できるようになりました。

  • Create a new Blutility using one of the new parent classes - AssetActionUtility (コンテンツブラウザの拡張の場合)もしくは ActorActionUtility (アクタの拡張の場合) を親クラスにした新しい Blutility を作成します。
  • GetSupportedClass 関数で、このアクションが適用できるアクタ種類やアセット種類を指定できます。
  • 返り値のないイベント(もしくは関数)に実行したいロジックを追加して、[Call In Editor] に設定すると、コンテキストメニューに表示されます。またイベントがトリガーされた際にパラメータを入力するためのポップアップダイアログが表示されるように定義が可能です。

新規:アニメーション リターゲット マネージャーの改善

アニメーション リターゲット マネージャーでマッピングデータの保存と読み込みがサポートされ、複数メッシュでマッピングデータの保存と再利用が可能になりました。さらにこの機能によって、異なるアニメーション向けに複数のリグデータを簡単に保存して、使いまわすことも可能になりました。

詳細はRetarget Managerのページをご覧ください。

新規:RigidBody Anim Node の改善

シミュレーションをより安定させる [Local Space] シミュレーションを使用している場合にも、スケルタルメッシュコンポーネントをワールド内で移動した際にシミュレーションされたボディが動くようになりました。コンポーネントのワールド空間でのリニア速度と加速度を見てその内容を(スケーリングとクランプを適用して)ローカル空間のシミュレーションに適用するいくつかのオプションを追加しました。

また指定した好きなジョイントをシミュレーションのベースにするオプションと、物理を簡単にリセットする方法の追加を行いました。

新規:クロスの改善

クロスシミュレーションで物理アセットの先細りしたカプセル(Tapered Capsule)のサポートが追加されました。

注意: これは剛体シミュレーションのコリジョンではサポートされていません。

また、スケルタルメッシュの頂点カラーを選択したクロスパラメータマスクにコピーできるようになりました。

新規:ガーベジ コレクションの改善

ガーベジ コレクションのパフォーマンスに最適化を行いました。13倍高速化した処理もあります!特に、以下の改善を行いました。

  • Mark フェーズを最適化し、マルチスレッド化しました。複数コアを持つマシンにおいて、到達できないオブジェクトをマーキングする処理は約 500,000 オブジェクトのケースで 8 ms から 0.6 ms に処理時間が削減されました。
  • BeginDestroy フェーズ (オブジェクトの unhash 化) は複数フレームに渡って実行されるようになり、1フレームで 2 ms 使用するということはなくなりました。オブジェクトの unhash 化のコストは Mark フェーズと到達性分析と同じフレームに含まれなくなりました。
  • 開発ビルドで実行するガーベジ コレクション 予測検証は、リファレンス収集と同じマルチスレッドコードを使用するようになりました。結果として、開発ビルドのガーベジ コレクションの実行時間が改善しているはずです。エピック内のテストでは約 500,000 オブジェクトのサンプルでのタイミング計測で、320 ms から 80 ms 以下に削減されました。

新規:Visual Studio 2017

UE4 は Visual Stduio 2017 コンパイラを使用するようになりました。エンジンはデフォルトで Visual Studio 2017 向けのプロジェクトファイルを生成します。Visual Studio 2015 も引き続きサポートしていますが、いくつかの設定が必要になります。追加して、Windows 10 SDKのサポートを追加しました。

注意:Visual Studio 2017 は複数コンパイラバージョンのサイドバイサイドのインストールをサポートしています。

ハードウェアとソフトウェアの仕様をご覧ください.

新規:GitHubでの開発ストリームの公開

アンリアル エンジンの開発ストリームの内容がGitHubでライブ更新されるようになりました。最新の開発用のコードが必要な場合は、これらのストリームを直接Pullすることも可能です。これまでのように開発チームがMainブランチへ変更のマージを行うまで待つ必要がなくなりました。注意してください。これらのストリームは更新され続けています。ランチャーでのリリースやMainブランチとは違い、QAチームによる確認は行われていません。

詳しくはブログ記事を参照してください。

新規:UMGセーフゾーンの改善

UMGやプレイインエディタ(PIE)で設定した画面サイズは、デバイスプロファイルとリンクするようになりました。モバイル コンテンツ スケール係数(Mobile Content Scale Factor)も考慮されるため、選択したデバイス画面サイズに基づいて最終的な解像度とDPIスケールが決定されます。

 

UMGのセーフゾーンワークフローで以下の改善が行われました。

  • 1 以下の値を設定してテレビやモニタの画面サイズをテストする際にタイトルセーフゾーンのデバッグのためにセーフゾーンのプレビューが自動的に有効になるようになりました。
  • r.MobileContentScaleFactor コマンドを使用することで、UMG プレビューと PIE モードで携帯電話やタブレットの解像度にスケールが行えます。
  • 画面スクリーンの一部分にアクセスができないiPhoneXのようなデバイスで、不均等なセーフゾーンがサポートされるようになりました。
  • セーフゾーン、スケールボックス、コモンボーダーウィジェットは、不均等なセーフゾーンとUMGデザイナーサイズに正しく反応します。
  • UMGは、選択されたデバイス、画面サイズ、均一スケール係数を表示するようになり、 デザイナーグラフから簡単に参考にできます。
  • r.MobileContentScaleFactor を使用して、UMGとPIEモードの携帯電話とタブレット解像度のスケーリングが可能。

詳細については、UMG Safe Zones のページをご覧ください。

新規:マテリアルのカーブアトラス

マテリアルはカーブアトラスアセットにリニアカラーカーブを保存しアクセスできるようになりました。追加のサポートがブループリントで提供されています。カーブアトラスは以前と同じリニアカーブカラーを使用していますが、アトラスで指定した数だけリニアカラーカーブを持つことができるということが違います。

新しいカーブアトラスを追加するには、コンテンツブラウザから [新規追加] > [その他] Curve Atlas を選択します。

カーブアセットエディタを開くと、色相、彩度、輝度、Vibrance、アルファクランプの個々のカーブを調整できます。さらに、コンテンツブラウザのプレビューサムネイルにはカーブによって作られたグラデーションが表示されます。

詳細については Curve Atlases in Materials のページをご覧ください。

新規:メッシュデスクリプションメッシュフォーマット

UE4の高レベル中間フォーマットをエンジン内のすべてのメッシュアセットタイプを表現可能な新しいものに更新しようとしています。これは段階的なプロセスで、ワークフローを改善し、素晴らしい新機能の提供を可能にしていくものです。

新しいメッシュフォーマットへの移行で目指している内容は以下になります:

  • すべてのメッシュ(スタティック、スケルタル、そしてテレインやBSPといったメッシュ類似オブジェクトも含む可能性あり)が同一の内部表現と、相互交換性をある程度保持すること
  • ほとんどの UE4 ジオメトリツールが、このジオメトリフォーマットをもとにしているすべての種類のメッシュで機能すること
  • この新しいフォーマットを使用しているメッシュの情報の確認や変更をスタンダートな APIで行えること。ランタイム、ネイティブ、スクリプトでの変更を可能にし、プロシージャル生成コンテントの豊富な可能性への扉を開きます。
  • 四角ポリゴンやエッジのハードネス情報といった高レベルのメッシュ表現情報を保持しながら直接メッシュをこのフォーマットにインポートできること。現在のところ、こうした情報はスタティック、スケルタルメッシュのインポート時に失われています。
  • 新しいメッシュフォーマットは内部的に構造を持ち、非常に複雑なメッシュであっても変更操作をリアルタイムで行えるようにしています。これが開発中のメッシュ編集機能の土台になっています。スクリプト機能も将来のリリースで開発される見込みです。

このリリースでは、スタティックメッシュだけが新しいメッシュフォーマットを使用するように変換されます。ユーザーにとっては通常のワークフローへの違いを感じることはないでしょう。アセット自体も変わりません。現在のところ、新しいデータが古いフォーマットから自動的に作成されてDDCにキャッシュされます。

新規:カラー ピッカーで保存した色へのラベル追加

テーマバーやテーマメニューで保存した色に、区別しやすいようにラベルを追加できるようになりました!保存した色のスウォッチを右クリックするだけで簡単にラベルを追加し、保存した色に名前を入力できます。

詳細につい