アンリアル エンジン 4.12 がリリースされました!
June 1, 2016

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

作成 Alexander Paschall

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

aninda, amcofi, Artem V. Navrotskiy (bozaro), Beau Hardy (psychogony), Black Phoenix (PhoenixBlack), Brent Scriver (FineRedMist), Cedric Neukirchen (eXifreXi), Céleste (CelPlays), chendi (cdsama), Courtland Idstrom (Frugality), David Palacios (Hevedy), DavidNSllva, Erik (erikbye), esdasuka, Frank Force (KilledByAPixel), Graham Hughes (graehu), Grimmick, Hannah Gamiel (hgamiel), Hongjun Han (h27han), Ian Fox (MaideCa), jamendxman3, James Baxter (TheJamsh), Jarl Gullberg (Nihlus), Jason (Abatron), Jeremy (JeroMiya), Jorge Martins (SNikon), Kartik (i64), Kim Sang Kyun (skkim-ginno), Konstantin Zaitcev (kosz78), Leon Rosengarten (lion03), M3d10n, MacAndor, Maik Klein (MaikKlein), Manny (Manny-MADE), Marat Radchenko (slonopotamus), Mathew Wadstein (MWadstein), Lucyberad, Matthias Hölzl (hoelzl), MAVRIN (artemavrin), Maxim Pestun (maxpestun), mbehensky, meChiel, mfortin-bhvr, mipg, Narendra Umate (ardneran), Nikola Dimitroff (nikoladimitroff), Pablo Zurita (pzurita), phoboz-net, Pierre-Luc Loyer (plloyer), Piotr Bąk (Pierdek), projectgheist, Rama (EverNewJoy), Robert Chubb (SaxonRah), Robert Khalikov (nbjk667), Robert Segal (robertfsegal), RobertTroughton, Ryan Nielson (RyanNielson), Samuel Groß (saelo), Sasha Petrovich (xulture), Sébastien Rombauts (SRombauts), Stephen Whittle (stephenwhittle), Taces, Temaran, Tim Lindeberg (timlindeberg), Tobias Mollstam (mollstam), wdhwg001, Will Stahl (merlin91), WymzeeLabs, Yohann Martel (ymartel06), Zelex.

新機能

アンリアル エンジン 4.12 から シーケンサー が利用できるようになりました!完全にノンリニアな リアルタイムのシネマティックス アニメーション ツール で、マチネの後継です。自動キーフレーム、シネマティッ クス カメラ、ライブ ゲームプレイ レコーディングなど、パワフルな機能がたくさん備わっています。シーケンサーは好きなだけアセッ トに自由に組み込むことができるので、大規模アニメーション プロジェクトでの連携を容易にします。また、シーケンサーを開くと既存 のマチネ アニメーションのインポートを促しますが、マチネも引き続きサポートされます。

今回のリリースには VR エディタ のプレビューが含まれています。モーション コントローラを使って VR でワールドを自由にナビゲートできる、一歩先行く機能です。VR に没入しながら、アクタを選択、移動し、新規オブジェクトを配置し、 エディタの UI も使用することができます。この機能を使用するには、HTC Vive もしくは Oculus Touch 開発ハードウェアが必要です。 [Editor Preferences (エディタ環境設定)] の [Experimental (実験的)] セクションの [Enable VR Editing (VR 編集を有効にする)] をオンにすれば、この機能を試すことができます。

Windows で C++ を使用する場合、アンリアル エンジンに Visual Studio 2015 が必要になります のでご注 意ください。Visual Studio 2015 は、(無料の) Express と Community 版を含むすべてのバージョンがサポートされます。ご都合に合わせてアップグレードしてください。

もちろん、どのリリースでも、レンダリング、VR、アニメーション、オーディオ、モバイル デバイスの新機能や、パフォーマン スの改善、報告されたバグの修正を全力で行っています。アンリアル エンジン 4.12 をぜひご堪能ください!

主要機能

新規:シーケンサー

シーケンサーは非線形エディタで 3d アニメーション編集機能があり、インゲームのシネマティックスや映画、テレビ、プレビ ズなどのショットのシーケンスを制作することができるます。

非線形ワークフロー

シーケンサーの非線形ワークフローにより、ショットを創造的かつ反復して構成および編集ができるようになります。ライトの色の変更やフォグ エレメントの追加など、特定のショットを簡単に変更したり、これまで撮ったショットをロールバックしてシーケンス を試しにまとめてみることもできます。また、複数名のアーティストが複数のショットに対して同時に作業ができるように作られていま す。ランチャーの [Learn] タブの [Subway Sequencer Project] で実際のシーケンサーの動きを見ることができます。

  • 従来の非線形編集パッケージのようなショットに再調整する
  • 何通りかショットを撮って、簡単にロールバックできる
  • ショットごとに微調整して、そのショット固有のアクタをスポーンする
  • 連携しやすい構成

直観的なユーザー インターフェース

ユーザー インターフェースは、マチネの良い点、および従来の 3D ソフトウェア パッケージからヒントを得てデザインしまし た。明確で簡潔にアニメーション データを表示、編集、整理できる作りになっています。3D コンテンツ クリエーターにとっては、直観 的で見慣れたインターフェースです。

  • アクタのタイプごとに、トラックを自動生成
  • 標準的なキーボード ショートカット
  • 自動キーフレーム
  • トラックの埋め込み、キー編集、ウィジェットの作成
  • トラック カラーはユーザーによる定義が可能
  • キーフレームの形状と色は補間ビヘイビアが定義
  • 整理用のフォルダとラベル

シネマティックス カメラとシネマティックス ビューポート

カメラ リグ アクタと結びついたこのシネマティックス カメラを使えば、初心者だけでなく映画製作者もリアルなカメラ ショ ットを簡単に作成することができます。ストリームライン化されたビューポートには、映画制作のダイアリー用に連続ショットの表示ができます。

  • シネマティックス カメラ アクタには現実世界のカメラを模倣するためのプロパティが付いています。
  • レンズとフィルムバック設定はカスタマイズ可能です。
  • 焦点距離
  • Look-at トラッキング
  • Camera Rig Crane と Camera Rig Rail アクタ
  • Cinematic Viewport (シネマティックス ビューポート)
  • タイムラインとトランスポート制御を埋め込み
  • ショットのインとアウトのカットポイントをフレーム番号で表示
  • オーバーレイとフレーム ヘルパで合成

シーケンスの記録

シーケンスを記録すると、ゲームプレイを記録して、その記録したエレメントをショットにすぐに配置することができます。前の記録の再生中でも記録することができます。

新規:アンリアル VR エディタ (プレビュー)

新しい [VR エディタ] モードは、仮想現実に没入しながらレベルの遷移と編集を可能にします。オブジェクトを選択して移動したり、「ワールド」そのものをつかんで、レベル全体を自由にドラッグ、回転、スケールすることができます。VR のモーション コン トロールを使うと、オブジェクトと視点に対して 1 対 1 の制御ができます。

VR 内にいたままで、コンテンツ ブラウザなど馴染みのエディタ機能にアクセスしたり、トランスフォーム ギズモを使ってオブジェクトを正確に配置することができます。スナップ ツールを使うと、ぴったりそろった配置がしやすくなります。

ワールドを両手でつかんで手前に引くと、ワールドがかなり拡大されます。こうすることでレベル内の細かい部分の点検と編集がしやすくなります。

この機能は早期プレビューなので、[Editor Preferences (エディタ環境設定)] の [Experimental/VR (体 験/VR)] セクション の [Enable VR Editing (VR 編集を有効にする)] をオンにする必要があります。その後[VR Mode] ツールバー ボタンが表示されるので、好きな時にすぐに VR へ切り替えることができます。好きなプロジェクトに VR エディタを使うことができます。シンプルなプレイグラウンドは新しい VR-Basic マップで見ることできます ([File] -> [New option]) 。

重要:VR Editor モードでは、モーション コントローラがワールドおよび UI とインタラクトすることが要求されるので、Touch コントローラ開発ハードウェアが装備された HTC vive か Oculus Rift のいずれかが必要になります。

この機能はまだ体験版ですので、今後さらに改善されます。ぜひお試しください。フィードバックをお待ちしています!アン リアルの VR エディタの詳細はこちらのリンクを参照してください。

新規:Daydream VR をサポート

4.12 は Google の新しいプラットフォーム Daydream をサポートします!Daydream は新しいモバイル VR プ ラットフォームです。質の高い VR 体験を Daydream 認定のスマートフォンにもたらします。UE4 は付属品のモーション コントローラ を含めたプラットフォーム全体をサポートします。

Daydream デベロッパー キットがなくても使用できます!同じプラグインを使えば Google Cardboard apps を作成できます 。Daycream スマートフォンを必要とする機能は、他の Android デバイス上で単にオフにされます。

サポートを有効にするには、エディタの Plugins ウィンドウの [Google VR] と [Google VR Controller] を有効にします。

新規:平面反射

リアルタイムで平面反射がサポートされます。

反射の方向から再びシーンをレンダリングするため、負荷がとても大きい機能です。ただし、スクリーン空間 の反射に比べて反射の品質はかなり高いです。

左:オフスクリーン リーキングのスクリーン空間リフレクション、右: 平面反射 まず [Rendering project (レンダリング プロジェクト)] 設定の [Support global clip plane for Planar Reflections (平面反射のグローバル クリップ プレーンをサポート)] を有効にして、エディタを再起動します。Planar Reflection アクタをシーンに配 置します。近くの反射マテリアルは自動的に平面反射に影響され、その法線を使ってリフレクションを歪めてウェーブのシミュレートを 可能にします。

この機能にはいろいろな制約があります。

  • 反射パスで有効にするレンダリング機能をどれにするか制御できません。
  • 動的シャドウとフォグは反射パスでは正しくありません。
  • 一定のラフネス値のみサポートされ、平面反射コンポーネント上で指定されます。
  • 平面反射はモバイル上で使用できますが、平面反射を使うマテリアルにはマテリアル プロパティの [Mobile (モバイル )] セクションの [Planar Reflections] フラグが必要になります。

新規:質の高い反射

今回のリリースでは、表面反射を限りなく現実的にするために、さまざまなレンダリング機能を追加しました。

カーペイントを他の何よりもリアルにするために、非常に高い品質、鮮明な反射の実現を目指しました。その ためには、ジオメトリ データの処理およびエンコード方法やシーンの高解像度反射キャプチャの有効化などの点を改善する必要がありま した。

スタティックメッシュ頂点法線とタンジェントの正確なエンコード - 頂点法線とタンジェントをどこまで正確に表現できるかが、正確な反射を作成する一番重要な点です。法線とタンジェントをチャネル ベクターごとに 16 ビットにエンコード するオプションを追加しました。このオプションによって、デベロッパーは品質と頂点バッファのエンコードによるメモリの使用量のトレード オフができるようになります。この [Use High Precision Tangent Basis (高精度タンジェント ベースを使う)] オプションは、 スタティクメッシュ エディタの [Build Settings (ビルド設定)] セクションにあります。

スカイ キューブマップとリフレクション プローブの解像度のカスタム化- 高い品質の反射を作成する 2 つ 目の要素は、実際に反射しているもの、つまり背景とローカル反射です。今までは、スカイライトとリフレクション プローブに使用する クック済みのキューブマップの解像度がハードコード化されていました。今回のリリースで、デベロッパーが必要とするパフォーマンス 、メモリ、品質にするために最も適した解像度を選択できるようになりました。反射プローブのキューブマップ解像度はプロジェクト全体に対して設定されますが、スカイライト キューブマップ解像度はスカイライトごとに設定される点にご注意ください。解像度が高くな ると GPU メモリの消費が増え、パフォーマンスに著しい影響がでます。

反射プローブ用のカスタム キューブマップ - デベロッパーは反射プローブを選択することで、カスタム キューブマップを指定できるようになりました。これにより、ローカル反射の外見を改善あるいは微調整する詳細を追加して、カスタム キューブマップを作成することができます。

GBuffer 法線の正確なエンコード - 最後に、GBuffer 法線を正確にエンコードする形式を選択して、他の技術の SSR が正確な法線を信頼できるようにするオプションを公開しました。GBuffer 法線の正確なエンコードにより、法線ベクトルは 3 つのチャンネルにそれぞれ 16 ビットでエンコードされます。このエンコード処理はより多くの GPU メモリを必要とするので、パフォー マンスに影響します。

新規:二重法線クリアコート シェーディング モデル

複数の法線マップをクリアコート マテリアルと一緒に使用することで、カーボン ファイバーのようなサーフェイスに対し、リ アルなシェーディングの実現が可能になりました。

左: これまでの UE4 クリアコート、中央: 新しい UE4 クリアコート (ボトム法線 を使用)、右: 本物の写真

クリアコート シェーディング モデルに、クリアコート レイヤーの下のサーフェイスに対して 2 つ目の法線マップを指定する オプションが追加されました。このオプションを使うと、クリアコート レイヤーとは異なるジオメトリ サーフェイスを持つカーボン フ ァイバーなどの複雑なマテリアルの正確なモデル化が可能になります。

このオプションはプロジェクト設定:[Rendering (レンダリング)] -> [Clear Coat Use Dual Normal (クリアコートに二重 法線を使用)]で有効にしますこの機能を有効にすると、すべてのクリアコート マテリアルに負荷が生じるだけでなく、主要なレンダリング コードにもオーバーヘッドが追加されます。

この機能を使用するためには、

  • マテリアル グラフに *Clear Coat Bottom Normal* ノードを配置します。ここに 2 つ目の法線の演算結果をプラグインします。

新規:OSVR サポート (プレビュー)

OSVR チームの尽力により、UE4 で OSVR がすぐに使えるようになりました!

OSVR ソフトウェア プラットフォームでは、幅広い VR / AR デバイスと周辺機器が共有レイヤー経由でエンジ ンと通信することができます。プラットフォームと対応デバイスについては、http://www.osvr.org/ をご覧ください。

新規:Vulkan モバイル レンダラー (プレビュー)

Vulkan グラフィックス API を使ったモバイル レンダリングのアーリー プレビューが利用できます。

上のスクリーンショットは、Samsung Galaxy S7 Unpacked イベント時の Vulkan でレンダリングした ProtoStar デモです。現時点では、モバイル レンダリング機能のみ実装されています。

新規:高品質のモバイル ポストプロセス

カラー グレーディングの付いた映画のトーンマッパがモバイル デバイスで使えるようになります!

高品質のガウス曲線の被写界深度が、ES3.1 対応のモバイル デバイスでサポートされます!

新規:モバイル向けシャドウの改善点

単一の Stationary Light (固定ライト) に対する動的カスケード シャドウ マップがモバイル レンダラーでサポートされます !

Stationary Directional Light (固定の指向性ライト) が、シーンの静的オブジェクトによってキャストされた事前計算シャド ウと正しくブレンドしながら、移動オブジェクトからシーン全体に動的な CSM シャドーをキャストできるようになりました。CSM シャド ウでは、変調されたシャドウを使うと確認できるダブル シャドウイングが表示されません。複数のオブジェクトにシャドウをキャストす る場合は、この技術は速いです。

  • この機能はテクスチャ サンプラーが 1 つ余分に必要ですが、以下の操作で無効にすることができます。[Project Settings]:[Rendering] -> [Mobile] -> [Combined Static and CSM Shadowing] を選択すると、マテリアルの使用のサンプラーが 解除されます。
  • 結合したシャドウを受け取るコンポーネントは、フラグ [Receive Combined Static and CSM Shadows from Stationary Lights] を設定する必要があります。

新規:ハイエンド Android と iOS デバイスの GPU パーティクル

ベクトル フィールド付きの GPU パーティクルが、ハイエンド モバイル デバイスで使用可能になりました!

  • この機能は、MRT 対応で 32 ビット浮動小数点レンダー ターゲットをサポートするモバイル デバイスが必要です。
  • A8 以上 (iPhone 6、iPad Air 2、iPad Mini 4 以上) の Apple デバイスでサポートされています。
  • Adreno 4xx および Mali-T7xx GPUs (Galaxy Note 4、Note 5、S6、S7、Nexus 6P など) が搭載されている Android 6.0 デバイスでサポートされています。

新規:ブループリントを C++ にクックする (プレビュー)

ブループリントの実行時にかかる VM オーバーヘッドを下げるために、ブループリントをネイティブ ソースコードにパッケージ する機能が追加されました。この機能はまだ体験版なので、出荷ゲームには使用すべきではありませんが、ぜひ試してみてください。フ ィードバックをお待ちしています。

  • プロジェクトの [Packaging Setting (パッケージ設定)] :[Experimental] => [Nativize Blueprint Assets] によ ってエディタ内で有効にされています。
  • -NativizeAssets をパラメータとして UAT BuildCookRun スクリプトにパスしても有効になります。
  • 生成されたソースはプラグインとして、プロジェクトの中間フォルダの以下の場所に保存されます。… \Intermediate\\NativizedAssets\
  • [BlueprintNativizationSettings] で対象ゲームの DefaultEditor.ini ファイルのプロセスから所定のブループリント を取り除くことができます。
  • ブループリントの一般的な「タイプ」は、+ExcludedBlueprintTypes=/Script/UMGEditor.WidgetBlueprint で取り除く ことが可能です。
  • 特定のアセットも、+ExcludedAssets=/Game/Blueprints/MyBlueprint で取り除くことが可能です。

新規:草とフォリッジの拡張

フォリッジの拡張設定が拡張性システムに追加されました。現在の拡張設定に合わせて、ランドスケープの草とフォリッジの密 度を自動的に減らすことができます。設定はランタイム時に変更可能、ゲームはフォリッジ詳細設定のスライダーを実装できます。

Landscape Grass は自動的にフォリッジの拡張設定に含まれますが、フォリッジは [FoliageType (フォリッジ タイプ)] の [Scalability (拡張)] セクションの [Enable Density Scaling (密度の拡張を有効にする)] から選択されなければなりま せん。通常は、岩や低木などのコリジョンを持たない「詳細な」フォリッジに対して有効にされます。インスタンスを除去してもコリジ ョンはゲーム中ずっと有効のままなので、コリジョンをもつ木などのフォリッジには無効にしておきます。草とフォリッジに拡張レベル 別に適用する密度のスケーリングは、BaseScalability.ini の [FoliageQuality] セクションの変数 "grass.DensityScale" と “foliage.DensityScale” で設定します。

新規:iOS の UMG ウェブブラウザ ウィジェット

UMG ウェブブラウザ ウィジェットが iOS でサポートされます!

Chromium はデスクトップ プラットフォームのウェブ ブラウザ ウィジェットに使用しますが、iOS と Android はUMG レイアウトに一致するように並んだネイティブ WebKit コントロールを使います。そうすることで、実行ファイルのサイ ズが最小になり、パフォーマンスがあがります。

新規:Twist Corrective アニメーション ノード

モーフターゲットなどのカーブ値をあるボーンの他のボーンに対するツイストに基づいて操作できるようにする Twist Corrective アニメーション ノードが追加されました。例えば、首を右または左にひねりすぎた場合は、首にモーフターゲットを適用す れば、外見をより自然にすることができます。

ボーン名とローカル軸、Twist Normal を使用して、Base Frame と Twist Frame をひねり軸に指定することができます。Angle Delta の [Ref Pose Delta Angle, Max Angle] 幅は、指定したカーブを使って [Mapped Ranged Min, Mapped Ranged Max] にマッピング することができます。

新規:シーンをまるごとインポート

Full Scene Importing を使うと、Max / Maya / Blender で既に作成した背景を選んで、エディタのレベルにそのシーンをまるごとインポートすることができます。

背景の中に新規に作成された Scene FBX アセットを再インポートすると、背景上でイタレーションが可能になります。4.11 の 早期版では、スタティックメッシュを含んだシーンのみがサポート対象でした。今回の 4.12 では、スケルタルメッシュを含んだシーン のインポート機能も追加されて、いっそう便利になりました。この機能は、[File] > [Import Scene] からインポートする FBX 背景を選択して使用します。

新規:アクタのマージ

レベル ビューポートでのメッシュ アクタのマージがさらに簡単になりました。これにより、より少ないドローコールでパフォ ーマンスをあげることができます。

スタティックメッシュのマージの例です。レベル ビューポートでの表示前は *左* / スタティックメッシュ エディタでの表示後は * 右* です。マージアクタ機能は [Window/Developer/Miscellaneous] に加わりました。Hierarchical LOD システム用のマージ パスの最 新の変更に合わせて、UI パネルが拡張およびアップデートされました。

新規:Pixel Inspector ツール

Pixel Inspector ツールはシーンのピクセルをクリックすると、そのカラーを作り出しているマテリアルとレンダリング ステートを可視化します。

シーンのピクセルの色がどうして変なのだろうと思ったことはありませんか?ピクセルの色を構成しているマ テリアル入力を教えてくれるツールがあったらいいですよね。それがまさに、Pixel Inspector ツールです!

Pixel Inspector ツールは、ツールバーの [Developer Tools] にあります。Enable Pixel Inspector チェ ックボックスをクリックして、エディタ ビューポート (レベル、マテリアル、ブループリント) にマウスを移動すると、以下の情報が確認できます。Esc キーを押すと Pixel Inspector が停止するので、最後に調べたピクセルを分析します。

新規:Platform SDK のアップデート

毎回リリースにおいて、プラットフォーム パートナーからの最新の SDK リリースに対応するようにエンジンをアップデートしています。今回のリリースでは、HTML5 と Android の他にコンソール プラットフォームを更新しています。

  • Xbox One:March 2016 XDK にアップグレード
  • Playstation 4:PS4 SDK 3.508.031. にアップグレード
  • HTML5:Emscripten 1.35.0. にアップグレード
  • Android:NDK 11c. にアップグレード。以前の AndroidWorks 1R1 (保存場所 Engine/Extras/AndroidWorks) から Android 1R4 インストーラー用の新規 CodeWorks に変更しました。

新規:Mask Field 変数

Integer プロパティが bitmask として宣言できるようになり、bitflag 値をカプセル化する enum との関連づけがオプションで 可能になりました。この機能は C++ とブループリントの両方で使用できます。