Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4.16で追加される新機能ハイライト

いよいよUE4.16の正式版がリリースされそうです。
今回も正式版リリース直前に放送される機能ハイライトについての動画から新機能を紹介していきたいと思います。

オリジナル動画は以下にありますので、気になるという方は自分でも確認してみてください。

www.youtube.com


いつも通り、画像が大量にありますので注意してください。
それでは早速紹介していきます。

ボリュームフォグの追加

まず4.16の目玉機能のひとつとして、ボリュームフォグ機能が追加されます。

f:id:alwei:20170522202723p:plain

利用する場合には指数関数ハイトフォグを使います。ボリュームフォグはライティングの影響を受け、エリアを意図的に区切った限定的なフォグとして利用できます。

またマテリアルによるコントロールも少しだけ可能なようです。ボリュームフォグに関しては既にドキュメントが存在しており、使い方がわかる状態になっています。

docs.unrealengine.com

イメージベースなブルームの畳み込みエフェクトが追加

既存のブルームとは別に、より現実に近いイメージベースなブルームの畳み込みエフェクトが追加されます。

f:id:alwei:20170522203750p:plain

かなり処理的に負荷がかかるようで、主に映画やハイエンドハードウェア上で実行されることを想定しているようです。フォトリアルな絵作りには欠かせないものになりそうです。

GDCで発表されたThe Human Raceデモでも活用されていたようです。

www.youtube.com

ディスタンスフィールドライティングの最適化

ディスタンスフィールド系のライティングが最適化され、最大で50%程度、早い速度で処理されるようになります。

f:id:alwei:20170522204141p:plain

ディスタンスフィールドアンビエントオクルージョンとレイトレースディスタンスフィールドシャドウが対象です。

速度だけではなく、メモリー消費も大幅に改善されるようで、利用している人には大きな恩恵があるはず。

軽量剛体物理シミュレーションの追加

これまでの物理シミュレーションとは別に、より軽量な剛体物理シミュレーションが追加されます。

f:id:alwei:20170522204545p:plain

アニメーションブループリントから利用することができ、物理アセットのシミュレーションをサポートします。パフォーマンスも大幅に向上します。

既存のAnim Dynamicsとも似ていますが、あちらはボーンごとに指定する代わりに、RigitBodyノードではひとつのノードでスケルタルメッシュに全体に利用されます。

ローレベルクロスシミュレーションの追加

これまで、NVIDIAのAPEXという機能を使って実現していたクロスシミュレーションが新たにエンジン内蔵機能となります。

f:id:alwei:20170522204951p:plain

NvClothというNVDIAと新開発したソリューションで、パラメーターもエンジン内に大幅に公開されます。これにより、エンジン内だけクロスシミュレーションのセットアップが可能となりました。

メッシュ上に直接ウェイトペイントといった、本来はアーティストがDCCツール上で作業したいた内容もエディターで完結することになります。

正式なニンテンドースイッチサポート

4.15では実験的だったニンテンドースイッチのサポートが正式なものとなりました。

f:id:alwei:20170522205314p:plain

ニンテンドースイッチの特徴的な部分として、通常のディファードレンダリングとモバイルフォワードレンダリング、更にPC用のクラスタフォワードレンダリングの3つのレンダラーがサポートされます。

処理負荷や必要な絵作りと相談しながら、自由にレンダラーを選択することができる唯一のプラットフォームとなります。

Xbox OneDirectX 12が標準レンダラーに

Xbox OneではこれまでDirextX 11が使われていたのがDirectX 12に標準で切り替わります。

f:id:alwei:20170522205654p:plain

これにより、パフォーマンスとメモリー消費が最適化され、より早く使いやすいものとなるようです。Xbox OnePS4と比べると性能差を随分と開けられていたので、これは随分と助かりますね。

PS4でソーシャルスクリーンをサポート

PS VRの特徴的な機能として、VRを利用した状態でTVに別の映像を映すというソーシャルスクリーンという機能が実験的にサポートされました。

f:id:alwei:20170522205840p:plain

現状は30fpsで出力され、将来的には更に最適化され、機能自体がマルチプラットフォームで利用できるものになるようです。

Oculus RiftやViveでも使えるということでしょうか?どうなるか楽しみです。

VRモードアップデート

VRエディターのVRモードに様々なアップデートが入ります。

f:id:alwei:20170522210154p:plain

ラジアルメニューによる新UI、シーケンサーをVRで編集するモード、物理シミュレーションをVRモードで利用、VR用のスマートスナッピングなどなど多岐に渡ります。

またここには書かれていませんが、VR用のコンソールコマンドがプラットフォームごとに分かれていたのが、全て共通で利用できるものに変更されます。

HTML5のWebAssemblyとWebGL 2に対応

WebAssemblyとWebGL2というふたつのHTML5の新技術に対応します。

f:id:alwei:20170522210450p:plain

WebAssemblyはダウンロードサイズ、起動時間、メモリー消費量、パフォーマンスを全て改善してくれます。

WebGL 2.0では新しいレンダリング機能をサポートし、OpenGL ES 3.0相当の機能が使えることができるようになります。世代的にはPS3Xbox360相当でしょうか。もう一世代上がると一気に表現力が上がりそうです。

ガベージコレクションの高速化

これまでと比較し、ガベージコレクションの速度が2倍程度速くなります。

f:id:alwei:20170522210910p:plain

分散ガベージコレクションにより、ブループリントで生成したクラスや選択?アクタータイプをサポートします。特に大型タイトルではGCの速度が問題になるようで、これからUE4で大型タイトルを作る場合には大きく貢献しそうです。

シミュレートされた親の効果を受けるキネマティックボディ機能

親のシミュレートされた物理効果を得るキネマティックボディ機能が追加されます。

f:id:alwei:20170522211234p:plain

動画がないのでわかりづらいですが、親の物理効果が他の子のスケルタルメッシュなどに影響を与えるようになるようです。

カラーグレーディングツールの改良

カラーグレーディングツールがより使いやすく改良されます。

f:id:alwei:20170522211731p:plain

HSVモードが追加されたり、これまでスライダーで上限が0~2だった場合でも、Ctrl+スライダードラッグでMAXを越えて設定できるようになるようです。地味ですが便利。

アニメーションモディファイア機能の追加(実験的)

アニメーションモディファイアという新しいアニメーション機能が追加されます。

f:id:alwei:20170522212257p:plain

これはアニメーションシーケンス中に追加し、指定したタイミングで通知を呼び出してブループリント上でアニメーションに変化を与えることができる機能のようです。

通常のイベント通知とは違い、アニメーションブループリント並みに色々な機能にアクセスできます。ただどちらかと言えば作業効率化が目的なようで、あくまでもエディターオンリーの機能みたいです。

アニメーションポーズドライバーの改良

アニメーションポーズドライバー機能が改良されます。

f:id:alwei:20170522213138p:plain

アニメーションポーズドライバーはポーズに対して様々な変化を与えることができますが、今回はUIなどが大きく改良されて、より様々なコントロールが可能になったようです。

メッシュペイントツールの改良

長らく更新がなかったメッシュペイントツールが改良されます。

f:id:alwei:20170522213342p:plain

一番大きいのはスケルタルメッシュに対してペイントが可能になったことです。

更にこのメッシュペイントはレベルに配置したインスタンスごとではなく、アセットそのものに対してペイントできます。

つまりテクスチャーに対する3Dペイントができるようになったということです。簡易Substance Painterのように使うことができます。

スプラインIKソルバーノードの追加

3ds Maxなどでよく使われているスプラインIKソルバーがアニメーションブループリントのノードとして使えるようになります。

f:id:alwei:20170522214023p:plain

スプラインIKを利用すると、ボーンを使わずに少ないコントロールポイントでより自然なアニメーションを実現できるようになります。

メッシュサーフェス上のマテリアルを検出

ブループリントからメッシュサーフェス上のマテリアル情報を検出できるようになります。

f:id:alwei:20170522214322p:plain

"Get Material From Face Index"というノードを使うことで、"Line Trace"などで取得したメッシュのサーフェス上に存在するマテリアル情報を取得することができます。

現状ではスタティックメッシュ、プロシージャルメッシュ、BSPブラシ上のマテリアルがサポートされます。

Look Atアニメーションノードの改良

アニメーションブループリンドのアニムグラフで利用可能な"Look At"ノードが改良されます。

f:id:alwei:20170522214540p:plain

ボーンやソケットの相対位置をLook Atノードに利用できるようになったり、実際にどの向きを向いているのか、わかりやすくビジュアル化してくれる機能が追加されました。

アニメーションエクスポートの改良

アニメーションエクスポート機能が更に改良されます。

f:id:alwei:20170522214747p:plain

メッシュだけではなくアニメーションそのもののエクスポートや、Anim Dynamicsや物理シミュレーションでシミュレートされた結果もアニメーションに含む状態でエクスポートできるようになりました。

オーディオ新機能(実験的)

オーディオエンジンに多数の追加機能が入ります。

f:id:alwei:20170522215351p:plain

新規エフェクトやSteam Auidoプラグインシンセサイザープラグインが追加されます。

これらの機能は非常に多数の機能をもっていますが、かなり大きな内容となるので、ここでは割愛します。4.17では更に大きな改良が行われるようです。

ローカライズのための文字列テーブル

ローカライズ時に利用できる専用の文字列テーブル機能が追加されました。

f:id:alwei:20170522215650p:plain

文字列テーブルはKeyとSource Stringのふたつを設定します。また設定にはCSVファイルでのインポートが可能です。また名前空間が存在するようで、同じようなセリフでも違う名前空間として利用できるようです。

Android用バーチャルキーボードの追加(実験的)

Androidにバーチャルキーボードが追加されます。

f:id:alwei:20170522215919p:plain

既存のキーボードとオーバーライドし、オリジナルのバーチャルキーボードを作成可能になります。日本語キーボードについても言及があったので、おそらく多言語についても対応を考えられているようです。

Androidのランタイムパーミッションに対応

Android SDK 23で追加されたランタイムパーミッションに対応します。

f:id:alwei:20170522220311p:plain

ランタイムパーミッションとはユーザーに対してインストール時にパーミッションを求めるのではなく、実行時に必要なパーミッションかどうかを尋ねてから許可するというものです。

ユーザーはインストール時によくわからないパーミッションを聞かれるよりも、実際に動かしているタイミングで理由を聞かれる方が納得しやすいので、このような機能があります。

ブループリントから専用のノードもいくつか追加され、イベントとして処理することができます。

ブレンドスペースエディターの改良

ブレンドスペースのエディターがいくつか改良されます。

f:id:alwei:20170522220604p:plain

4.15で大きく改良されたブレンドスペースですが、更に改良が行われてブレンドスペース内のアニメーション名や置換時の挙動などがより直感的なものとなるようです。

フラットマテリアルのためのオパシティとオパシティマスクのオプションを公開

少しわかりにくいのですが、フラットマテリアル?でのオパシティとオパシティマスクの確認がしやすいオプションが公開されるようです。

f:id:alwei:20170522220812p:plain

マージアクターとHLOD機能で値をベイクするためのサポートが追加され、そのために必要なブレンドモードオプションとして追加されたようです。具体例がないとわかりづらいですね…

FBXからカプセルコリジョンをインポートできるように

FBXから直接カプセルコリジョンがインポートできるようになったようです。

f:id:alwei:20170522221436p:plain

これまではカプセルコリジョンを直接インポートすることができませんでした。(ボックスと球体とメッシュコリジョンのみ)

これからは"UCP"というプレフィックスをつけてカプセルポリゴンを作ることで、UE4上でカプセルのコリジョンとして認識されるようになります。

ブループリントにPlay Montageノードが追加

今まではアニメーションブループリント上でしか処理できなかった、アニメーションモンタージュを直接クラスブループリント上から制御できます。

f:id:alwei:20170522221918p:plain

この"Play Montage"ノードは非同期に実行され、各種イベントが実行された時にピンから実行されます。

またセクションを指定された場合や通知名を受け取ることができるので、様々な処理へと分岐させることが可能です。

リターゲットポーズオプションの追加

アニメーションリターゲット時のポーズオプションが追加されます。

f:id:alwei:20170522222207p:plain

これまではベースのポーズとリターゲット先にポーズをボーンの向きを調整するなどして自分で調整が必要でしたが、ポーズ情報を保存して、インポートするなどでその手間がかからなくなります。

シーケンサーの改良

常に改良が行われているシーケンサーですが、更に改良されます。

f:id:alwei:20170522222401p:plain

ショットトラックの強化やオーディオサムネイルのサンプル値のリサイズ時のレンダリング、マテリアルパラメーターコレクションをトラック化できたり、その他細かい改善が多く含まれています。

Vertex Interpolatorマテリアルノードの追加

マテリアルに頂点シェーダーからピクセルシェーダーへの情報と簡単に補間できる"Vertex Interpolator"ノードが追加されます。

f:id:alwei:20170522222641p:plain

頂点シェーダーから受け取る情報を簡単にピクセルシェーダーへと変換し、カスタマイズUVなどで手軽に利用することができそうです。

アセット管理フレームワークの追加(実験的)

新たにグローバルにアセットを管理するためのフレームワークが追加されます。

f:id:alwei:20170522222934p:plain

より大量のアセットが管理しやすいように様々な情報が一覧化されます。クック時やパッケージング時のルールやプラットフォームごとの違いもわかりやすくなるようです。


f:id:alwei:20170522223025p:plain

閲覧用の専用ウィンドウが用意されています。メモリー使用量やディスクサイズなど、並べ替えでソートできると非常に便利そうです。

ハードウェアカーソルのカスタム化

OSごとに違うマウスカーソル情報をカスタム化できるようです。

f:id:alwei:20170522223444p:plain

現状ではWindowsMacLinuxでのみサポート。それにしてもこの絵は一体…

4.16について

長々となりましたが、以上です。
UE4.16は早ければ今週中には来るでしょう。
他にもコントロールリグシーケンス機能などがありましたが、なぜか紹介されていませんね…

unrealengine.hatenablog.com

さて、また沢山の機能が入るので気になるところから調べなくては。