アンリアル エンジン 4.19 がリリースされました!
March 14, 2018

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

作成 Jeff Wilson

新機能

アンリアル エンジン 4.19 によって創造のプロセスに没頭することができます。ツールがほぼトランスペアレントなので、創造に関わる作業に時間をかけることができるようになります。レンダリング、物理、ランドスケープ テレインをはじめとする多くのシステムに改善が行われ、ビルド作業はかつてないほどの速さで行えるようになりました。我々が最も大切にしているのはアンリアルエンジンのツールを使うデベロッパーのクオリティオブライフです。そのため、常にアンテナを張ってデベロッパーの手にパワーを与える ような改善がないか考えています。

ゲーム、リニア メディア、建築ビジュアライゼーション、製品設計ツール - アンリアル エンジン 4.19 なら何を作る場合でも、途中すべての段階において最終製品がどのようになるのかを正確に教えてくれます。新機能のライブリンク プラグインは、外部コンテンツ作成ツールとアンリアル エンジン間のワークフローをシームレスにブレンドし、ソース コンテンツに変更を加えると同時に反映したものを確認することができます。継続的な改善が行われているシーケンサーにより、ディレクターにとってはリアルタイムでのシーン調節が更に容易になりました。

自分の空想の世界を実際に作るとなれば、限界などありません。ランドスケープのレンダリング最適化機能を使えば、広大なオープンワールドの中に息を呑むほど美しい世界を作ることができます。新しく登場した動的解像度機能は必要に応じて解像度を調節することによって望ましいフレームレートを実現できるので、PlayStation 4 と Xbox One の中でこれらの世界は驚くほど滑らかに動きます。

膨大なワークフローとユーザビリティの改善が含まれていなければ、完璧なリリースとは言えないでしょう。その点でアンリアル エンジン 4.19 はみなさんの期待を裏切りません。マテリアル レイヤーとパラメータがさらに簡単で直観的に使用できるようになりました。ブループリントのデバッグ機能にステップ イン、ステップ オーバー、ステップ アウトが加わり、さらにパワフルになりました。コンテンツ フォルダをお気に入りとして保存できるようになりました。アニメーション ツールが改善され、コマンドのピン留めや複数のビューポートなど多数の機能が追加されました。

今回のリリースには、エピック ゲームズによるすべてのアップデートが含まれており、そのうち 128 の改善点は GitHub のアンリアル エンジンのデベロッパーのコミュニティから寄せられたものです!アンリアル エンジン 4.19 に貢献をいただいた以下の皆様に謝意を表します (以下、敬称略)。

Adam Rehn (adamrehn), Alex Chi (alexchicn), Alexander Stevens (MilkyEngineer), alexformosoc, Andrew Armbruster (aarmbruster), Anton Rassadin (Antonrr) Austin Pukasamsombut (AustinPuk-Conffx), Bo Anderson (Bo98), Carlos (carloshellin), Carsten Neumann (cneumann), Celso Dantas (celsodantas), Chris Conway (Koderz), Chris Dietsch (cdietschrun), Chrispykins, Clinton Freeman (freemancw), cmheo, CuoXia (shrimpy56), Daniel Butum (leyyin), Daniel Neel (dneelyep), Daniel Sell (djsell), David Payne (dwrpayne), DavidNSilva, Deep Silver Dambuster Studios (DSDambuster), Derek van Vliet (derekvanvliet), DerelictHelmsman, dfb, Dorgon Chang (dorgonman), druhasu, Eddy Luten (EddyLuten), foollbar, GeorgeR, Giperionn, Hyuk Kim (Hybrid0), Ilya (ill), Jack Knobel (jackknobel), Jacob Nelson (JacobNelsonGames), James Horsley (mmdanggg2), Jared Taylor (Vaei), Javad Shafique (JavadSM), jessicafalk, John W. Ratcliff (jratcliff63367), Jørgen P. Tjernø (jorgenpt), Josef Gluyas (Josef-CL), Julien Le Corre (jlc-innerspace), konflictue, Kryofenix, Kyle Langley (Vawx), Marcin Gorzel (mgorzel), Matt Hoffman (LordNed), Matthew Davey (reapazor), Michael Allar (Allar), Michał Nowak (BibbitM), Mikael Hermansson (mihe), mkirzinger, Mustafa Top (MSTF), nakapon, nullbus, pfoote, phlknght, projectgheist, Richard Schubert (Hemofektik), Ron Radeztsky, rlefebvre, ruffenman, sangpan, Sébastien Rombauts (SRombauts), smt923, Stefan Zimecki (stefanzimecki), Stephen Swires (sswires), Tim Niederhausen (timniederhausen), Timothee Besset (TTimo), Tom Ward (tomwardio), tomari, TomFors, Toru Hisai (torus), Vikram Saran (vikhik), yaakuro, Yohann Martel (ymartel06), YuchenMei, Zeno Ahn (zenoengine)

主要機能

新規: テンポラル アップサンプリング

新たなアップスケーリングの方法としてテンポラル アップサンプルが追加されました。この方式は、低解像度でフレームを一時的にアキュミュレーションするとともに、プライマリ空間的アップスケールを実行することで出力時のブラーを軽減します。

1 - テンポラル アップサンプルを有効にした場合 2 - テンポラル アップサンプルを無効にした場合

4.19 以前では、スクリーン パーセンテージといアイデアを使って 3D シーンを低解像度のままレンダリングし、UI を表示する前に空間的に出力解像度にアップスケールすることができました。パワーが弱めのハードウェア上で GPU の予算内に収めることができる非常にフレキシブルな方法でしたが、鮮やかな出力と GPU パフォーマンスのいずれかを諦めなければなりませんでした。

今回のリリースから、単一であったスクリーン パーセンテージを 2 つのスクリーン パーセンテージに分割し、それぞれのアップスケールで使用することが可能になりました。

  • プライマリ スクリーン パーセンテージには今までどおりデフォルトで空間的アップスケール パスが使用されます。
  • セカンダリ スクリーン パーセンテージは UI を表示する前のポストプロセスの一番最後に静的で空間のみのアップスケールを行います。

テンポラル アンチエイリアシング (TAA) パスで行われるテンポラル アップスケールは、プライマリ スクリーン パーセンテージを 50% から 200% の間で変更してジオメトリの鮮明さを一定に保ちます。通常は画面サイズを低くするとバックグラウンドのジオメトリの色はくすんだりごちゃまぜになってしまいますが、TAAU を有効にすると上のサンプルのフェンスや電柱のように、詳細や複雑度が維持されます。

詳細は [テンポラル アップサンプルによるスクリーン パーセンテージの調整](https://docs.unrealengine.com/en-us/Engine/Rendering/ScreenPercentage) を参照してください。

新規: 動的解像度

動的解像度がサポートされました。これにより PlayStation 4 と Xbox One のゲームに 適したフレームレートになるように必要に応じて解像度を調節する ことができます。以前のフレーム GPU ワークロードに基づくヒューリスティックを使用してプライマリ スクリーン パーセンテージを設定します。

サポート対象のプラットフォームが追加された場合は、今後のリリースノートに記載されます。詳細は 動的解像度 のページを参照してください。

新規: 統合されたアンリアルのAR (拡張現実) フレームワーク

今回のアンリアル エンジンのリリースでは、Apple および Google のハンドヘルド プラットフォームに向けて AR (拡張現実) アプリケーションを作成する場合に有用な、充実した統合フレームワークが追加されました。このフレームワークで提供されているシングルパス開発により、デベロッパーはひとつのコードパスで両方のプラットフォーム向けの AR アプリケーションを作成できます。統合されたアンリアルのAR (拡張現実) フレームワークには、アライメント、ライト予測、ピン留め、セッション ステート、トレース結果、トラッキングをサポートする機能が含まれています。

画像協力:Theia

新規: 統合された Unreal AR フレームワーク プロジェクト テンプレート

新たなブループリント テンプレート HandheldAR が加わりました。新しい機能を実演するためのサンプルだけを集めたプロジェクトです。

新規: 物理ライトの単位

すべてのライト単位は物理ベースの単位で定義されるようになりました。定義がきちんとしているライト単位もありましたが、多くのライトは未定義のエンジン固有の単位を使っていました。ライトの単位はドロップダウン メニューで選択します (必要に応じて)。デフォルトのライト単位はエンジンの以前のバージョンとの互換性が維持されています。新たなライト単位のプロパティは、ライト別に設定することによって、ライティング関連の計算を行う際に行われるエンジンによる Intensity (明るさ) の解釈を変更できるようになります。

プロジェクト協力: Litrix

新規: ライブリンク プラグインの改善点

Maya ライブリング プラグイン が利用可能になりました。Maya と UE4 を接続し Maya 上で行った変更をリアルタイムで UE4 でプレビュー することができます。

このプラグインを有効にすると、ご利用の Maya のバージョンと関係するバイナリ ファイルを Maya プラグイン フォルダにコピーし Maya プラグイン マネージャからそのファイルを有効にする必要があります。

Maya ライブリンク プラグインのプレビルド バイナリは、以下の場所のエンジンのインストール フォルダに入っています。Engine\Extras\MayaLiveLink\LiveLinkMaya.zip.この圧縮ファイルの中に Maya 2016/2017、2018 のバイナリ (Windows 版) が入っています。これ以外のバージョン用のバイナリが必要な場合、バイナリのビルドに使用する「Engine\Source\Programs\MayaLiveLinkPlugin 」フォルダの中にプラグイン用のソースコードが入っています。

Maya ライブリンクの UI ウィンドウは、コマンド MayaLiveLinkU を使って MEL コンソール上で有効にすることができます。Maya 側のこのインスタンスのアンリアル クライアントへの接続状態がディスプレイの右上に表示されます。アンリアル エンジン側のライブリンクの下にはストリーミング中のすべての対象がリスト表示されます (上の動画では 1 つのみ)。ウィンドウの下の方でストリーミング対象の追加 / 削除を行います。

エディタ側のアクティブなカメラとしてアクティブなカメラをストリーミングする

Maya 側のアクティブなカメラを操作することで、エディタ側のアクティブなカメラを動かすことができるようになりました。さらにエディタのアップデートフックを修正しました。ストリーミングはさらにロバストになり、表情リグ / 葉のボーンも正確にアップデートされるようになりました。

バーチャル サブジェクトをライブリンクに追加する

バーチャル サブジェクトを使うと、ライブリンクに入ってくる複数のサブジェクトを 1 つに結合してからエディタで使えるようにすることができます。バーチャル サブジェクトはクライアントで作成され、本物のサブジェクトのボーンが複数含まれ、それはすべて共通するルートに結び付いています。

下の画像は、バーチャル サブジェクトをエディタのスケルタルメッシュに適用しているところです。

ここではバーチャル サブジェクトを新規作成し (Add > Add Virtual Subject)、Maya ライブリンク ソースからのサブジェクトを読み取るように設定します。バーチャル サブジェクトは Maya から送付される 3 つのサブジェクトのアイテムで構成されるように設定されています。

ライブリンク プラグインの開発

ライブリンクの目的は、UE4 以外のソース (DDC ツール、Motion Capture サーバーなど) からあらゆる種類のアニメーション データをストリーミングするために共通のインターフェースを提供することです。アンリアル プラグインによる拡張が可能なので、サードパーティが新しい機能を開発した場合、開発後にエンジン上で変更を行ってそれを維持する必要はありません。

ライブリンクの統合には 2 通りの方法があります。

  1. 一つ目は新しいソースをライブリンクに公開するアンリアル エンジン プラグインを作成するというやり方です。このアプローチは独自のストリーミング プロトコルがすでに存在する場合に推奨されます。
  2. 二つ目は、サードパーティ ソフトウェアのメッセージバス エンドポイントを統合して組み込みのメッセージバス ソースのデータ伝送装置として機能させる方法です。このアプローチは Maya プラグインに使用しました。

一般的なプラグイン開発については プラグイン を参照してください。

ライブリンク モーション コントローラのサポート

ライブリンクでモーション コントローラが使えるようになりました。モーション コントローラのモーション ソース プロパティをライブリンク内のサブジェクトに設定することができます。この方法で設定すると、Motion Controller コンポーネントの位置はサブジェクトの最初のトランスフォームによります。

モーション コントローラを統合すると、ライブリンクのサブジェクトのカスタム パラメータにもアクセスすることができます。これらのパラメータは、ライブリンクのサブジェクトに備わっているカーブのサポートによって渡されます。

それらの値にアクセスするには MotionControllerComponent から新しいブループリントを派生され、OnMotionControllerUpdated 関数をオーバーライドする必要があります。OnMotionControllerUpdated の間、モーション コントローラ上での GetParameterValue の呼び出しが有効になります。

下図は、ライブリンクにおいて、Intensity パラメータからライト コンポーネントの Intensity (明るさ) を調節する一例を示しています。

その他の改善点

  • ライブリンク ソースが独自のカスタム設定を定義できるようになりました。 - これはライブリンク サポートを構築する IKinema などのパートナーの要請によるものです。
  • ライブリンク ソースはスケルトンをライブリンク クライアントにプッシュ送信しますが、ソースの GUID もパスできるようになりました - メッセージ バスのソースはスケルトン送付の際に GUID をプッシュします。
  • 仮想の初期化関数と Update DeltaTime パラメータを Live Link Retargeter API に追加しました。

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

シーケンサーのパワーと効率性を高めるために、継続的に機能性およびワークフローの改善を行っています。

オブジェクト トラックのコピー / ペースト / 複製

右クリック メニューからオブジェクト トラックとその子トラックのコピー / ペースト / 複製が可能になりました。同じレベル シーケンスあるいは別のシーケンサーへの Spawnbale (スポーン可能なもの) のコピー、および、あるレベル シーケンスから別のシーケンスへの Possessable (所有可能なもの) のコピーが可能になりました。オブジェクトは別のレベル シーケンスでも同じオブジェクトにバインドされます。さらに、UMG アニメーションから別の UMG アニメーションへのコピーもできるようになりました。
 

レベル シーケンスの動的なトランスフォーム原点

Sequence のトランスフォーム トラックによって制御されるアクタを、ランタイム中にグローバルなオフセット値を使ってオフセットできるようになりました。これによりレベル シーケンスを別の座標空間でも再利用することができます。この機能を使用するには、レベル シーケンスの詳細パネルで [Override Instance Data] を有効にして Transform Origin Actor を割り当てます。

シーケンス内のすべての絶対トランスフォーム セクションが増加する時の源となるトランスフォームは[Transform Origin] セクションによって指定されます (スケールは無視されます)。最高の結果を出すには、レベル シーケンス内の 0,0,0 でアクタの開始トランスフォームをキーフレーム化し、定義した Transform Origin Actor に、ワールド内で開始する位置を制御させます (下の映像を参照)。

キーを押すとキューブが移動し (上の画像)、アクタはTransform Origin Actor の位置からパスに沿って歩き続けます。

シーケンサー Anim BP ウェイト コントロール

シーケンサー ウェイト ブレンドが Animation ブループリントで使えるようになりました。アニメーションのためのスロットと同じものを使って、カーブによるウェイトの制御が可能になります。ブレンドするアニメーションのプロパティに同じ Slot Name を割り当てます。好きなウェイト値をキー設定します。Anim BP の中の Slot Node を使用してください。これによって、AnimBP は設定した値をブレンド時に使用することになります。

シーケンサー エディタのパフォーマンスの改善

  • Compile On The Fly のロジック - シーケンサーは無効になった評価テンプレートを必要に応じてソースデータから部分的あるいは完全にコンパイルできるようになりました。エディタでシーケンサーを使用する場合、コンパイル処理の効率がかなり良くなります。
  • 詳細パネルの更新 - シーケンサー エディタでスクラブ / プレイ中は詳細パネルの更新が延期されるようなりました。

小さな改善

  • "When Finished" のデフォルトのビヘイビアのために、新しい.ini の設定項目ができました。
    • レベル シーケンスの場合は、デフォルトは引き続き RestoreState に設定されています。UMG は [Keep State] に設定されています。
      [/Script/LevelSequence.LevelSequence]
      DefaultCompletionMode=RestoreState
  • カメラを追加すると必ずカメラ トラックが作成されます。シーケンサーをアクティブしてもカメラを制御できない原因が分かりやすくなります。
  • 自動キー設定 / 新規キーが追加されても、回転が反転するということがなくなりました。
  • 選択したノードのみをツリー ビューで表示するオプションが付きました。レベル シーケンスで数多くのアクタを使った作業中に、ビューの上下スクロールを制限するのに便利です。
  • トランスフォーム トラックをフレーム インターバルでキーにベイクするオプションが付きました。
  • トランスフォーム トラックからカメラ アニメーションを作成するオプションが付きました。
  • シーケンスで、(パス トラック、カメラカット トラック、アタッチ トラック) を Spawnable (スポーン可能なもの) にバインドできるようになりました。
  • セクションを下方向ではなく上方向にもドラッグできるようになりました。

新規: ランドスケープのレンダリングの最適化

ランドスケープの LOD システムが変更されました。スタティックメッシュ LOD システムの仕組みと同じように、距離ではなく画面サイズに応じてコンポーネントの詳細を判断するようになりました。LOD の分布は画面サイズに応じて遠景のトライアングル上により一貫性のあるサイズをもたらすことになり、これまで不可能だった詳細の維持が可能になりました。

   

(左: これまでのメソッド、右: 新しいメソッド)

ランドスケープ LOD は [Viewport] > [Visualizers] > [LOD] で視覚化することができます。

以下の設定を使って、画面サイズに基づいて LOD の遷移先の調節ができます。さらにマテリアル テセレーションも調節可能になりました。動的シャドウイングを有効にした指向性ライトを使用する場合、パフォーマンス面でメリットがあります。

新規: Proxy LOD システム (実験段階)

新しい Proxy LOD システムは、複数のメッシュに対してベイクしたマテリアルをともなったローポリ LOD を作成するための実験段階の新しいプラグインです。このシステムは HLOD で使用され、Simplygon と差し替わります。

注意:現在、Windows 版ビルドのみサポートされています。

このツールを有効にするには、[Project Settings] ダイアログの Editor の下に位置する [Hierarchical LOD Mesh Simplification] というオプションを探します。[Hierarchical LOD Mesh Reduction Plugin] から新しいモジュール [ProxyLODMeshReduction] を選択することができます。 プロンプトに従ってエディタを再起動すると、このプラグインは、スタティックメッシュ マージ LOD のためのサードパーティ製ツール Simplygon に取って代わります。この新しいプラグインには、2 通りの方法でアクセスすることができます。HLOD Outliner ダイアログと Merge Actors ダイアログです。

     

ソースのジオメトリ:ジオメトリ ピース 11、トライアングル 38,360、頂点 27,194 | 適用後のジオメトリ プロキシ:ジオメトリ ピース 1、トライアングル 8,095、頂点 5,663

新規: マテリアル パラメータの編集と保存

マテリアル エディタとマテリアル インスタンス エディタにおいて、パラメータ値を 新しい Child Instance (子インスタンス) または Sibling インスタンス (兄弟インスタンス) に保存できるようになりました。

  • Save to Sibling Instance は、現在のパラメータとオーバーライドを、同じ Parent Material をもつ新たな Material Instance に保存します。
  • Save to Child Instance は、現在のパラメータとオーバーライドを、Parent Material として現在のインスタンスをもつ新たな Material Instance に保存します。

マテリアル エディタに Parameter Defaults パネルが付きました。マテリアル グラフで設定したすべてのパラメータのデフォルト値にこのパネルからアクセスすることができます。パラメータのデフォルト値も簡単に変更することができます。

新規: Material Layering (実験段階)

Material Layering は、新しい Material Layer と Material Layer Blend アセットを使って スタック内のマテリアルをまとめる 機能です。ノードのセクションを手作業で作成しなくても、正しいマテリアルグラフを作成することができます。この機能はマテリアル関数と似ていますが、子インスタンスの作成をサポートしています。

実験段階である Material Layering を有効にするには、[Project Settings] > [Rendering] > [Experimental] セクションで [Support Material Layers] を [true] に設定します。

詳細は フォーラム の投稿をご覧ください。フィードバックもお待ちしています。

新規: Auto Convex ツールのアップグレード

Auto Convex ツールでスタティックメッシュのために単純化したコリジョンを生成する場合、精度の代わりに Max Hulls を指定できるようになりました。演算はスタティックメッシュ エディタのバックグラウンド タスクになりました。Auto Convex ツールには、より正確な結果を出す V-HACD ライブラリの最新バージョンも使用されています。

新規: カーブのみのアニメーションによるフェイシャルアニメーション シェアリングの改善

ボーンをトランスフォームせずに、カーブをアニメートしてポーズを制御することで、キャラクター間でフェイシャルアニメーションを共有できるようになりました。ボーンのトランスフォームは 1 つでもメッシュの参照ポーズがあると他のメッシュでは機能しません。従って、異なるメッシュ間でカーブを共有するには、それらを取り除いてメッシュ独自の参照ポーズで開始することが重要です。このようにすることによって、様々な顏でフェイシャル カーブを共有することができます。

アニメーション カーブだけを残して他のボーン トラックをすべて削除する機能を追加しました。[Remove All Bone Tracks (すべてのボーントラックを削除する)]オプションには [Animation][Asset]からアクセスすることができます。
 

また、ボディ アニメーションを共有してフェイスについてはカーブで制御したい場合は、Animation Modifier を使って特定のジョイントだけを削除することができます。特定の Animation Sequence (Raw Animation Curves [Name] はスケルトンからは取り除かれない場合があります) から [Name] でアニメーション カーブを取り除く Remove Bone Animation 関数、および、特定のアニメーション シーケンスからすべてのアニメーション ボーン トラックデータを削除する Remove All Bone Animation 関数を追加しました。



さらにインポート処理中にボーン トラック (カーブのみのアニメーション) をインポートするオプションをオプトアウトすることが可能になりました。

アセットに含まれているウェイトを選択できるように Pose Preview を修正しました。[Asset Details] パネルの [Animation Track Names] でアニメーションに含まれているボーン トラックを確認することができます。

新規: クロス (Cloth) のアップデート

新規 Anim Drive 機能が、Cloth アセットに追加されました。シミュレーションのための実行時のインタラクションによって Anim Drive Multipliers のための新しいマスク ターゲットが追加されます。Anim Drive Multipliers は、アニメートされた位置に向かってクロスを引っ張るスプリングを操作するために使われ、アニメーターはシネマティックスやアニメーションで動くシーンを制御できます。

これは Skeletal Mesh コンポーネントでブループリントがアクセスできる "Interactor" オブジェクトを使って実行時に操作することができます。実行時に設定する値は、ペイントされた値に掛け合わされ、最終的なスプリングとダンパーの強さが得られます。

その他の改善点としては以下があります。

  • クロスのシミュレーションで重力のオーバーライドをサポート - Skeletalmesh コンポーネントで Interactor オブジェクトを使って、任意の重力のオーバーライドを指定することができます。
  • クロスのビュー範囲に自動範囲機能を追加 - 必要に応じて範囲を広げるツールも追加しました。
  • クロスの視覚化の改善 - Clothing Paint モードがアクティブな場合に有効化できるようになりました。
  • [Clothing Create] メニューで Skeletal Mesh Physics アセットをデフォルトで使用するようになりました。

新規: Animation ブループリントの改善

以下のように Animation ブループリント システムに作業のしやすさに関わる改善を加えました。

  • ポスト プロセス インスタンスが、Skeletal Mesh コンポーネントで実行するかどうかをブループリントおよびアニメーション エディタから制御する機能が加わりました。
  • Copy Pose ノードが、カーブと Bone のトランスフォームのコピーをサポートするようになりました。 - この機能を使う場合、カーブをコピーするには、bCopyCurves を必ず有効にしてください (デフォルトでは false)。有効にすると、現在のスケルトンにあるカーブをコピーします。カーブ リストが変更されると、アニメーション システムの再初期化が必要になります。
  • 加算ポーズでアニメーションを再生するときの加算の警告を追加しました。 - 非加算のアニメーションが加算アニメーション ノード (Apply Additive ノードなど) の加算ピンに接続されると、メッセージ ログにアニメーションとブループリントの名前が表示され、警告が出力されるようになりました。
  • SkeletalMesh コンポーネントにおけるネイティブの AnimInstance の選択 - Skeletal Mesh コンポーネントでネイティブのアニメーション インスタンスが設定できるようになりました。これまでは、Skeletal Mesh コンポーネントで設定可能だったのは Anim ブループリントのみでした。

新規: Animation ツールの改善

アニメーション エディタに Pinnable Command List を追加しました。

スケルトン ツリー フィルターまたはビューポート メニューのいずれかで、メニュー オプションをシフトキーを押しながらクリックすると、メニュー外部にコマンドがピン付けされます。これで頻繁に使用するコマンドを簡単に利用できるようになります。

すべてのアニメーション エディタのビューポートに最高 4 つまでの独立したビューポートが表示可能に。 - アニメーションに関連するすべてのエディタで、同じシーンに対して最高 4 つまでそれぞれ独自の設定を持つ独立したウィンドウを開けるようになりました。

指定したボーンに追随し、周回する機能を追加しました

Skeletal Mesh コンポーネントのデバッグ情報を追加

スケルタルメッシュ エディタに表示されているビューポートのテキストを拡張することができます。現在の Cloth 値を表示するラインも追加されました。

実行時にスケルタルメッシュのセクションの表示、非表示を変更する機能

スケルタルメッシュのマテリアルのセクションを実行時に表示 / 非表示にするための ShowMaterialSection 関数をブループリントに公開しました。ShowAllMaterialSections 関数と IsMaterialSectionShown 関数を追加しました。アセットから内部の 'disable' フラグと 'highlight' フラグを取り除きました。常にコンポーネント毎にフラグを使用するようになりました。

BreakStruct ノードのために、Hide Unconnected Pins ボタンができました。

BreakStruct ノードに、接続されていないピンを迅速に非表示にするボタンが付きました。

Animation ツールの改善にはさらに以下のようなものがあります。

  • スケルタルメッシュのプロパティを変更した場合のモーション ブラーを修正しました。 - アニメーション システムはリビジョン番号付きで前のボーンのトランスフォームを所有して、RenderState が再作成されると、それをレンダー スレッドに送ることができるようにします。Frame Number は、クロス システムがまだ使用するため、残ります。リビジョン番号はコンポーネントがティックすると増えていきます。ティックしない場合はリビジョン番号は変わりません (履歴を維持)。
  • アニメーション エディタでシーケンスの記録のための設定項目を公開しました。
  • コリジョンの形状に名前を付ける機能 - Physics アセットを編集する時に個々のコリジョン形状に名前を付けられるようになりました。
  • アニメーション エディタのビューポートで追随するバウンドの改善 - バウンドは遅延なしで追随するようになりました。
  • Pose アセット内で Retarget Source を変更するための機能を追加しました - Pose アセットはオリジナルの Source Pose を保存し、Retarget Source が変更されると新ポーズを再計算できるようになりました。Retarget Source を使ってポーズ アセットの差分トランスフォームをベイクします。従って、異なるメッシュに対して同じアセットを使用している場合は、必ず Retarget Source が適切なものであることを確認します。
  • 設定可能なメッシュ ペイントの頂点サイズ - メッシュ ペイントの設定項目をユーザー毎の設定項目に追加するとともに、頂点サイズのプレビューを追加することによって、異なるサイズのメッシュで使用する場合にユーザーが設定できるようにしました。
  • ペルソナでアニメーション プレビューのツールチップを変更し、まだアニメーションがロードされていない場合はロードを停止するようにしました。
  • アニメーション エディタで該当する場合はプレビュー ボタンが表示されるようになりました。 - プレビュー メッシュ、プレビュー アニメーション、参照ポーズが関連する場合はすべてツールバーから編集可能になりました。
  • [Advanced Preview Scene] 設定パネルに検索バーが追加されました。
  • コンテキスト メニューを HLOD アウトライナー ツリービューの HLOD レベル ノードに追加しました。 - 現在のレベル ビューポートの選択肢から新規クラスターが作成できるようになりました。
  • プレビュー シーンでポストプロセスを切り替えるためのホットキーとコマンドが追加されました。
  • メッシュ ペインターでフォアグラウンドとバックグラウンドの色を切り替える新しいショートカットが追加されました。 - メッシュ ペインターがアクティブな場合、デフォルトでショートカットは ‘X’ キーにバインドされています。
  • Material Baking が実験段階を終えました。
  • メッシュ ペインターでの RGBA Mask のサポートを追加しました。 - メッシュ ペインター内でフィル ツールを使用している間、RGBA チャンネルをマスクとして使えるようになりました。
  • ProceduralMesh コンポーネントに GetSectionFromProceduralMesh ユーティリティ関数を追加しました。
  • Sync Group (同期グループ) 内のフォロワー アニメーションで通知が可能になりました。 - Sync Group 内のフォロワー アニメーションで通知がトリガーできるフラグが追加されました。
  • すべてのアセットをクックする場合に、ロギングの冗長性を減らしました。 - アセット毎に 4 行ではなく 2 行だけをロギングします。
  • Spring Anim ノードのピンとして Damping (減衰) と Stiffness (剛性) を公開しました。 - Spring Anim ノードは、Spring Damping と Spring Stiffness をピンとして公開できるようになりました。

新規: Motion Controller コンポーネントの視覚化

アンリアル エンジン 4.19 のモーション コントローラーに、新しい Visualization カテゴリが加わりました。ディスプレイ モデルのスタティックメッシュをモーション コントローラーに迅速 (かつ容易に) に追加することができます。デフォルトで、システムはモーション コントローラーを動かしているデバイスに対応するスタティックメッシュ モデルをロードしようとします。

  • Motion Controller コンポーネントに以下のオプションを持つ視覚化の欄が新たに加わりました。ディスプレイ デバイス モデルディスプレイ モデル ソースカスタム ディスプレイ メッシュ、および ディスプレイ メッシュ マテリアル オーバーライド
    • カスタム ディスプレイ メッシュ は、ディスプレイ モデル ソース が Custom に設定されている場合のみ利用できます。
    • さらに複雑なカスタムのモデルについては、ご自身のスタティックメッシュ モデルを手動で適用してください。
    • ディスプレイ モデル ソース は、ターゲットの XR システムがロードされていなければ、手動で設定することができます。
  • 空の場合は、デフォルトで ディスプレイ モデル ソース が、その支えとなっている XR システムからモデルをロードしようとします。
    • 異なるタイプの XR システムについては、IXRSystemAssets インターフェースを実装することによってこの機能をサポートします。 - 現在この機能をサポートするのは Oculus と SteamVR のみです。

新規: Vive Pro のサポート

SteamVR をサポートする UE4 のすべての既存のコンテンツは、HTC の新たに発表された Vive Pro と互換性があります!  既存の UE4 プロジェクトで Vive Pro を使うために変更を加える必要はありませんが、Vive Pro は高解像度で動作するため、Vive Pro を使った場合の UE4 プロジェクトのパフォーマンスをチェックし、適宜最適化する必要があります。

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

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

SupportedPlatforms_MasterDK.jpg

  • ビルドファームによるコンパイルの対象である IDE のバージョン
    • Visual Studio: Visual Studio 2015 Update 3
    • Xcode: Xcode 9.2
  • Android:  
    • NDK 12b (新しい CodeWorks for Android 1r6u1 のインストーラーが、まだ NDK 12b にあるリリース前のこれまでの CodeWorks for Android 1R5 と置き換わります。)
  • HTML5: Emscripten ツールチェーンを 1.37.19 にアップデートしました。
  • LInux: v11_clang-5.0.0-centos7
  • Steam:1.39
  • Oculus Runtime:1.17
  • SteamVR:1.39
  • Switch:3.7.0 with NEX:4.3.1 (オプション), 4.5.0 with NEX 4.3.1 (オプション); Firmware Version 3.0.1-1.0
  • PS4:
    • 5.008.071
    • Firmware Version 4.730.001
    • Supported IDE: Visual Studio 2015, Visual Studio 2013
  • Xbox One (XB1, XB1-S, XB1-X):
    • XDK:June 2017 QFE9
    • Firmware Version:October 2017 Preview 3 (version 16291.1000.170913-1900)
    • Supported IDE:Visual Studio 2017, Visual Studio 2015
  • macOS:SDK 10.13
  • iOS:SDK 11
  • tvOS:SDK 11

新規: 低入力レイテンシーのフレーム同期 (Xbox One と PlayStation 4)

低レイテンシーのフレーム同期モードによって、ゲーム スレッド、レンダリング スレッド、RHI スレッド GPU 間のスレッド同期の機序が変わり、入力レイテンシーが大幅に削減および制御されます。低レイテンシーのフレーム同期の効果は r.GTSyncType (game thread sync type) コンソール変数を使って制御することができます。このコンソール変数によって、新しいフレーム同期メカニズムの動作が制御されます。以下の値を使用することができます。

  • 0 - ゲーム スレッドがレンダリング スレッドと同期します (古い挙動でデフォルト)
  • 1 - ゲーム スレッドが RHI スレッドと同期します (パラレル レンダリング前の UE4 に相当)
  • 2 - ゲーム スレッドが、存在するスワップ チェーンをミリ秒単位のオフセットで加減したものと同期します (サポートされるプラットフォームでのみ利用可能で、vsync (垂直同期) が有効な場合のみ機能)

詳細については Low Latency Frame Syncing のページをご覧ください。

新規: Encryption/Signing Key Generator (暗号 / 署名の鍵ジェネレータ)

ひとつにまとまった設定パネルを使って エディタから configure .pak ファイルの署名と暗号化の設定 が可能になりました。プロジェクト設定内の Project セクションで [Crypto] パネルから制御できるようになりました。

このパネルから署名や暗号化の鍵の生成や消去を行うことができます。また、様々なタイプの利用可能な署名や暗号化を有効または無効にすることができます。以下の機能はこのメニューから有効または無効にすることができます。

  • Encrypt Pak .ini Files - プロジェクトの.pak ファイルにあるすべての .ini ファイルを暗号化します。これは、プロダクトのコンフィギュレーション データが簡単に取り出されたり、改ざんされるのを最小限のランタイム コストで防ぎます。
  • Encrypt Pak Index - pak ファイルのインデックスを暗号化します。UnrealPak が開かれ、表示され、プロダクトの pak ファイルがアンパックされるのを最小限のランタイム コストで防ぎます。
  • Encrypt UAsset Files - pak ファイルの uasset ファイルを暗号化します。 uasset ファイルには内部のアセットに関するヘッダー情報が含まれますが、実際のアセット データ自体は含まれません。このデータを暗号化するとデータのセキュリティは高まりますが、ランタイム コストが若干増え、データ エントロピーが増えて、パッチサイズに悪影響を及ぼすことがあります。
  • Encrypt Assets - pak ファイル内のすべてのアセットを完全に暗号化します。この設定は実行時のファイルの I/O パフォーマンスに対して重大な影響を及ぼし、最終的なパッケージング データのエントロピーが増し、配布およびパッチ システムの効率が悪くなることに注意してください。

新規: ブループリントのデバッグのためのコール スタックを表示

現在のブループリント コール スタックを表示する制御が [Developer Tools] メニューに追加されました。コールスタック内のエントリをダブルクリックすることでブループリント エディタ内で、それに対応するノードがフォーカスされます。

新規: ブループリントのデバッグのためのシングル ステップを改善

エンジンのブループリントのデバッガーは、ブループリントのブレークポイントで停止したときに、Step Into (F11)Step Over (F10)、および Step Out (Alt+Shift+F11) の操作に対応するようになり、デバッグ セッションを素早く簡単に行えるようになりました。

さらに、マクロや折り畳んだグラフ ノードに直接ブレーク、ステップイン、ステップ オーバー、ステップ アウトできるようになりました。

新規: ディスク サイズを最適化するためのツールの改善

パッケージ化されたゲームのディスク サイズやダウンロード サイズを分析できるツールがいくつか追加、改善されました。Asset Audit ウィンドウには、新しい "Add Chunks" オプションがあります。このオプションでは、すべてのパッケージ化された Chunk/Pak ファイルが表示され、そのビューから Reference Viewer と Size Map を使って、なぜアセットが特定のチャンクにクックされている理由を分析することができます。

Size Map ツールが変更されて、デフォルトで Disk Size を表示するようになりました。これは、推測されたメモリ サイズよりも正確です。[Asset Audit] ウィンドウでプラットフォームを選択すると、それに対する実際のクック サイズが表示されます。Size Map のユーザー インターフェース (UI) も改善されて、右クリック操作に対応し、パフォーマンスが向上しました。

新規: オーディオの改善

Steam Audio Beta 10 にアップグレード (新しい Audio Engine のみ)

Steam Audio (Beta 10 Release) へのアップデートに伴う改善点は以下のとおりです。

  • 空間化とオクルージョンについて Android をサポート
  • Steam Audio 機能に簡単にアクセスするためのエディタ モード
  • Phonon Geometry コンポーネントをすべての Static Mesh アクタに追加するボタンおよびそこから取り除くためのボタン
  • デバッグのためにシーンを .obj にエクスポートするためのボタン
  • ファイルへのエクスポートのために Phonon Scene アクタを取り除きました。
  • Probe の生成およびベイクによってデータがディスクに書き込まれることになり、マップ ファイルの読み込みと保存が遅くならないようにしました。
  • 情報表示に関する多くの改善
  • 数多くのバグ修正

Oculus Audio のアップデート (新しい Audio Engine のみ)

Oculus Audio プラグインがアップデートされて Android がサポートされるようになりました。

HRTF (Head-Related Transfer Function 頭部伝達関数) による空間化に加えて、ボリューメトリック パラメータを備えた Oculus Audio のルーム モデリングのリバーブ、およびアンビソニックスのソースを再生する機能がサポートされるようになりました。 

Resonance Audio プラグインの追加 (新しい Audio Engine のみ)

アンリアル エンジンの Resonance Audio プラグインが、UE 4.19 のエンジンのプラグインに加わりました。Resonance Audio プラグインは、Windows、iOS、Android、Linux、および Mac でバイノーラルな空間化、リバーブ、サウンドの指向性、、アンビソニックの再生をサポートします。

1 次アンビソニックス (First-Order Ambisonics) のファイルをサポート (プラグインを通じて再生をサポート)

1 次アンビソニックスの Unreal プロジェクトにインポートして、空間化プラグインを使って再生できるようになりました。1 次アンビソニックス (FOA) は、音場の前方、右、上方のベクターによる球形音場のためのフォーマットです。デザイナーは垂直方向のサウンドを含むサラウンド サウンド体験を作り出すことができます。これは VR で役立ちます。ユーザーが頭を傾けたり、他のインタラクティブな体験によって、体の向きで垂直方向の変化が可能な場合に、垂直方向の音場の自然な変化を体験できます。ファイル名に FuMa または AmbiX (2 つある 1 次アンビソニックスのチャンネルのコンフィギュレーション) のタグを含めることで、 4 チャンネルの 1 次アンビソニックス ファイルをインポートすることができます。Oculus Audio と Google Resonance は両方ともアンビソニックの再生を実装しています。

UE4 におけるネイティブの VOIP の実装の改善 (新しい Audio Engine のみ)

ネイティブの VOIP の実装が改善されて、Windows におけるサイレンス検知の改善を含めて一貫性が向上しました。さらに、VOIP 音源をシーンに取り込み、以下を可能にします。

  • 空間化
  • 距離減衰
  • リバーブ
  • カスタムのソース エフェクト

UVoipTalker シーン コンポーネントを使ってすべてが制御されます。

新しい Microphone Capture コンポーネント (新しい Audio Engine のみ) (Windows のみ)

以下を可能にする Microphone Capture コンポーネントを実装しました。

  • Audio Mixer で使用するためにオーディオを直接ゲームに送り込みます。
  • リアルタイムの振幅データを使ってゲーム内のパラメータを制御します。
  • Source Effect または Submix Effect を使ってオーディオを処理します。

現在、これはローカル クライアントのマイクロフォン キャプチャ専用であり、VoIP システムには接続されません。

現時点では、マイクロフォンの出力をアセットに直接記録する機能はサポートされていませんが、サードパーティのプラグイン デベロッパーがマイクロフォン入力からのデータを活用することはできます。

リアルタイム オーディオの振幅をブループリント データとして取得 (新しい Audio Engine のみ)

ブループリントのデリゲートを通して Audio コンポーネントと Synth コンポーネントを直接フォローして振幅のエンベロープ データを取得する機能を追加しました。

ソース エフェクト処理前後のバス送信のタイプ (新しい Audio Engine のみ)

ソース エフェクト処理前後のバス送信のタイプを追加しました。デザイナーは、Source Effect と Attenuation (減衰) の処理の前後で、Source オーディオを Source Buss に送ることができます。

マルチチャンネルのファイルのインポートをサポート

インターリーブ マルチチャンネルの WAV ファイルをブラウザに直接インポートできるようになりました (複数の Mono ファイルを使ったレガシーな方法に加えて)。

シンセサイザーでサンプル レートの制御

シンセサイザーが初期化時に要求されたサンプル レートを変更してシンセサイザー音源が独自のサンプル レートを指定できるようにする機能を追加しました。

クロス プラットフォームのオーディオ プラグインの改善 (新しい Audio Engine のみ)

複数のオーディオ プラグインのソース設定ができるようになり、プラグイン毎に異なる設定ができるようになりました。様々なプラットフォームで様々なプラグインを使用するマルチ SKU の製品で作業するデザイナーにとって特に有用です。

Panner ソース エフェクトの追加

この Panner ソース エフェクトを使うと、ステレオのパンニング値をブループリントからソース エフェクトとして制御することができます。Mono、ステレオ 3D、または 2D のソースのパンニングを変更することができます。

新規: 物理の改善

物理システムにいくつかの改善と最適化が加えられ、物理オブジェクトのシミュレーションがより容易にかつ効率的にできるようになりました。

  • Show Only Selected Constraints (選択されたコンストレイントのみを表示) を物理アセット エディタに追加
  • Ctrl+T キーボード ショートカットを追加し、Body と Constraint Selection との間で切り替えができるようにしました。
  • "Set Use CCD" 関数を追加して、実行時に [Continuous Collision Detection] (継続的コリジョン判定) オプションを変更できるようにしました。
  • BodyInstance の実行時メモリを節約しました - Editor Builds 以外のビルドから FBodyInstance::ResponseToChannels_DEPRECATED を取り除き、メモリを節約しました。
  • SpringArmComponent に関数を追加し、コリジョン テストに関連するステータスを取得するようにしました。
  • シーン クエリのヒッチをプロファイリングする機能を追加しました。 - p.SQHitchDetection コンソール変数を使用
  • 物理アセットの機能を公開することによって C++ における拡張性を高めました。
  • 最初にオーバーラップした場合に備えて、HitResult の情報を改善 - ImpactPoint には、最も深くオーバーラップしたポイントにおける PhysX からの情報が含まれるようになりました。
  • PhysX なしでエンジンがクリーンにコンパイルするようになりました。 - WITH_PHYSX define ディレクティブを 0 にセットし、エラーを発生させずにコンパイルすることができます。

新規: iOS の自動コード署名

Xcode を使用する場合の Automatic Code Signing (ACS) が UE4.19 で導入されました。ACS と Team ID を使って、iOS プロジェクトのパッケージを作成し、署名することができます。これは、モバイル プロビジョンが事前に Mac にインストールされていないにも関わらず、Mac で証明書が必須の場合にも機能します。開発チームは、アプリケーションをデプロイするために iOS デバイスを Apple アカウントに追加する必要がまだありますが、この機能を使用すれば Mac にモバイル プロビジョンをダウンロードし、インストールする必要がなくなります。

新規: Android 4.19 の改善

  • Proxy ネットワークのサポートを追加しました。
  • 新しいポップアップ ボックスを追加し、実行中のモバイル プロジェクトがサポートされていないテクスチャ形式を使用していればそれを通知し、サポートされているテクスチャ形式も示すようにしました。
  • プロジェクトのコンパイルとパック前に、 NDK と SDK のプラットフォームの検証を追加し、ビルドの成否を早めに知らせるようにしました。

新規: コンテンツ ブラウザのお気に入りフォルダ

コンテンツ ブラウザの任意のフォルダを、"favorite" (お気に入り) に指定 して、簡単にアクセスできるようになりました。フォルダを"favorite" (お気に入り) に指定すると、フォルダ ツリー上部にある新しい "Favorites" セクションに入ります。単に右クリック メニューから、Favorites セクションにフォルダを追加、Favorites セクションからフォルダを削除することができます。

コンテンツ ブラウザの Favorites セクションは、Show Favorites の View Options を使って有効 / 無効にすることができます。この機能はデフォルトで有効になっています。

  

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