March 31, 2019

Unreal Engine 4.22 がリリースされました!

作成 Jeff Wilson

新機能

Unreal Engine 4.22 は、没入感あふれる魅力的なゲームの制作、テレビの生放送、画期的な製品の視覚化、または次の超大作映画の制作など、リアルタイム環境におけるフォトリアリズムの限界を押し広げます。著しく進歩した技術を利用することで開発時間が伸びる結果になってしまう、となる必要はないと考えています。そのため、再び 全ての分野のユーザーのワークフローをより速く、よりアクセスしやすくすることを目指しました。

Unreal Engine は、Nvidia RTX グラフィックスカードでのリアルタイム レイトレーシングのおかげで、動的なグローバル イルミネーション、ピクセルの完璧な反射、物理的に正確な屈折など、最も正確なリアルタイムのライティングとシャドウイング エフェクトで、リアルティあふれるワールドを作り上げることができます。ソフトなエリアシャドウとアンビエントオクルージョンで、シーンを現実的にしっかりとなじませるための最後の仕上げが可能です。

Unreal Engine の膨大なバーチャル プロダクション機能により、複雑なライブ パフォーマンスをキャプチャして記録し、それらをリアルタイムで合成することができます。新しいマルチ ユーザー編集機能を使用すると、チーム全体が連携して直接シーンでの調整と作業ができます。

作品が命を吹き込まれて動きだすのを待つまでの一秒一秒は、常にコストになります。自分のコスト、ユーザーにとってのコスト、自分のアイデア実現のためのコストです。そのため、Unreal Engine はリリースごとにアプリケーションの隅々に至るまで、 より簡単かつ迅速に実行できるように 努めています。そうすることで、ユーザーのエクスペリエンス向上のための微調整により時間をかけることができるようになります。ライブ コーディングとして、Unreal Engine で Live++ がサポートされるようになりました。そのため、 プロジェクト実行中に自分のアイデアをすぐに試すことができます。ビルド時間が全体的に最適化され、 インクリメンタル ビルドのイテレーション時間は最大 3 倍速くなり、パイプラインの貴重なリソースが開放されるようになりました。

今回のリリースには、GitHub の Unreal Engine の素晴らしいデベロッパー コミュニティから 174 の改善点が寄せられました。Unreal Engine 4.22 に貢献いただいた以下の皆様に謝意を表します (以下、敬称略) 。

0xmono, Adam Moss (adamnv), Ahsan Muzaheed (muzaheed57), Alessio Sgarro (cmp-), Alexander Stevens (MilkyEngineer), AlexTimeFire, AlSafty, Andrzej K. Haczewski (ahaczewski), Anton Rassadin (Antonrr), Ben Peck (bpeck), BinaryRK, Branislav Grujic (grujicbr), Cameron Angus (kamrann), Cengiz Terzibas (yaakuro), Chris Conway (Koderz), Chris Gallegos (Chrispykins), Clinton Freeman (freemancw), Cristiano Carvalheiro (ccarvalheiro), Dan Ogles (dogles), Daniele Benegiamo (kafumanto), David Aylaian (davidaylaian), David Nadaski (GlassBeaver), David Sauve (notanumber), Deep Silver Dambuster Studios (DSDambuster), Dmitriy Donskoy (sentik), doodoori2, Dorgon Chang (dorgonman), Doug Moscrop (dougmoscrop), Doug Richardson (drichardson), Dzuelu, Erik Dubbelboer (erikdubbelboer), H1X4Dev, Hargreawe, hkozachkov2, Ilyin Aleksey (IlinAleksey), improbable-valentyn, Ivan Popelyshev (ivanpopelyshev), IvanKuzavkov, James Cahill (Prouser123), Jan Kaniewski (getnamo), Jin Hyung Ahn (zenoengine), jkinz3, Joe Best-Rotheray (cajoebestrotheray), joemmett, Josef Gluyas (Josef-CL), Kalle Hämäläinen (kallehamalainen), Kartik Saranathan (Kartiku), korkuveren, Kory Postma (korypostma), Leon Rosengarten (lion03), locus84, lotodore, Marat Radchenko (slonopotamus), Marcel (Zaratusa), Mark Whitty (Mosel3y), mastercoms, Mathias Hübscher (user37337), Michael Kösel (TheCodez), Michael Samiec (m-samiec), Mike Bell (MichaelBell), Mike Slegeir (tehpola), Mimus1, Mitsuhiro Koga (shiena), momboco, Morva Kristóf (KristofMorva), Muhammad A. Moniem (mamoniem), Nick (eezstreet), Nick Edwards (nedwardsnae), Nick Pruehs (npruehs), Ondrej Hrusovsky (skylonxe), Paul Hampson (TBBle), Philippe Chaintreuil (Philippe23), Phillip Baxter (PhilBax), projectgheist, RDIL, Riley Labrecque (rlabrecque), Roman K. (CrispMind), Robin Zoň (ZonRobin), roidanton, ruzickajason, ryugibo, Sam Hocevar (samhocevar), Satheesh (ryanjon2040), Scott Fries (ScottFries), Sébastien Rombauts (SRombauts), ShalokShalom, spoiltos, stanley1108, Stephen A. Imhoff (Clockwork-Muse), stkrwork, sturcotte06, Takashi Suzuki (wankotank), tgroll, Thang To (thangt), Tim Lincoln (Ratherbflyin), TommyTesla, Vladimir Ziablitskii (rainlabs), whoisfpc, YanaPIIDXer, Yannick Comte (demonixis), yhase7, Zeblote

主要機能

新機能:リアルタイム レイトレーシングとパストレーシング (早期アクセス)

今回のリリースで、NVIDIA RTX シリーズカードの DirectX 12 および DirectX Raytracing (DXR) を最大限に活用し、Windows 10 RS5 アップデートを使用した レイトレーシングおよびパストレーシングの早期アクセス版がサポートされるようになりました。

リアルタイム レイトレーサー

レイトレーシング機能は、一連のレイトレーシング シェーダとレイトレーシング エフェクトで構成されています。これらをそれぞれ使用することで、シャドウイング、アンビエントオクルージョン、反射を作成するモダンなオフライン レンダラに匹敵する、自然でリアルな見た目のライティング エフェクトをリアルタイムで作成できます。

いくつかレイトレーシング機能を導入しましたが、Unreal Engine の今後のバージョンでは、その機能セットを拡張していく予定です。今回のリリースの機能には、次のものがあります。

  • 指向性、ポイント、スポット、矩形のソフトなエリアシャドウ。
  • カメラの視錐台の内外にあるオブジェクトの正確な反射。
  • シーン内の地上のオブジェクトに対するソフトなアンビエントオクルージョン。
  • 透過処理されたサーフェスでの物理的に正しい屈折と反射の発生。
  • 光源からもたらされる動的なグローバル イルミネーションからの間接ライティング。
  • その他

その他、このリリースで現在サポートされている機能の詳細については、リアルタイム レイトレーシングのドキュメントを参照してください。

パストレーサー

レイトレーサーに加えて、グラウンド トゥルース リファレンス レンダリングをエンジンのすぐ内側に作成する、間接ライティングの完全なグローバル イルミネーションのパスを持つ、バイアスのないパストレーサーが追加されました。これにより、比較の際にサードパーティのオフライン パストレーサーにエクスポートする必要なく、Unreal のシーンのワークフロー コンテンツを改善できます。

詳細については、パストレーサーのドキュメントを参照してください。

新機能:高レベルなレンダリング リファクタリング

このリリースでは、描写パフォーマンス向上とリアルタイム レイトレーシングのサポートのため、Unreal Engine でのメッシュ描画を完全に書き直しています。今後も、追加のレンダリング作業を GPU に移していきます。

メッシュ描画パイプライン リファクタリング:

新しいメッシュ描画パイプラインでは、静的シーンにあるエレメントの描画情報が以前よりも積極的にキャッシュされるようになりました。そして、可能な場合は、自動インスタンス化によって描画呼び出しがマージされます。これにより、メッシュ パスの新しい実装で、コードの行数を 4〜6 倍少なくすることができます。

このリファクタリングは、主にカスタム シーン プロキシを使用したレンダラ内でのメッシュ描画に影響を与え、レンダラへのインターフェースへはわずかに影響を与えます。新しいアーキテクチャでは、任意のカスタム描画ポリシーを「FMeshPassProcessors」に書き換える必要があります。つまり、描画ポリシーの後方互換性を維持することは、この大きな変更では不可能でした。

詳細については、メッシュ描画パイプラインのドキュメントを参照してください。

新機能:C ++ のイテレーション時間の改善

ライブ コーディング (実験的機能)

すべてのデベロッパーが Unreal Engine プロジェクトで Molecular Matters の Live++ を使用できるようにそのライセンスを取得し、それを新しい ライブ コーディング 機能として統合しました。ライブ コーディングを使用すると、開発環境で C++ コードを変更し、それを実行中のエディタまたはスタンドアロン ゲームに数秒でコンパイルしてパッチを適用できます。従来のホット リロードのメカニズムとは異なり、ライブ コーディングはオブジェクトの再インスタンス化について特別の考慮を必要とせずに個々の機能にパッチを適用するため、大規模プロジェクトでの信頼性とスケーラビリティが大幅に向上します。

これを使用するには、エディタの [Compile (コンパイル)] ボタンの横にあるドロップダウンから[Live Coding (Experimental) (ライブ コーディング (実験的機能))] オプションをチェックし、「Ctrl」、「Alt」、「F11」を同時押しして、変更をコンパイルして適用します。クック済みのゲームから有効にするには、コンソール ウィンドウに「LiveCoding」と入力します。

注記:

  • エンジンの実行中にクラス レイアウトを変更することはサポートされていません。今後のリリースでサポートする予定です。
  • 現在サポートされているのは Windows のみです。

ビルド時間

UnrealBuildTool と UnrealHeaderTool が最適化され、C++ のイテレーション時間が最大 3 倍高速になりました。

フルビルド (UE4Editor Win64 開発) :

 
 

Unreal Engine 4.21

Unreal Engine 4.22

改善

総ビルド時間:

436.90

326.81

30% 高速化

UnrealHeaderTool のコンパイル:

46.12

46.30

 

ヘッダの生成:

25.05

15.50

60% 高速化

UE4Editor のコンパイル

323.15

257.97

25% 高速化

UnrealBuildTool のオーバーヘッド

42.58

7.04

600% 高速化

インクリメンタル ビルド (UE4Editor Win64 開発) :

 
 

Unreal Engine 4.21

Unreal Engine 4.22

改善

総ビルド時間:

7.47

2.14

340% 高速化

UE4Editor のコンパイル

1.19

1.08

 

UnrealBuildTool のオーバーヘッド

6.28

1.06

590% 高速化

コード変更なし (UE4Editor Win64 開発)

 
 

Unreal Engine 4.21

Unreal Engine 4.22

改善

UnrealBuildTool のオーバーヘッド

5.38

1.03

520% 高速化

さらに、プロジェクトに追加および削除されるファイルの検出、およびコンパイラ主導のインクルード依存関係チェックの使用など、インクリメンタル ビルドの依存関係チェックの精度が大幅に向上しました。

新機能:バーチャル プロダクション パイプラインの改善

Unreal Engine は、パイプラインのあらゆる側面を大きく改善しながら、リアルタイム バーチャル プロダクションの最先端を走り続けます。

Composure によるリアルタイム