Let's Enjoy Unreal Engine

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

UE4 Unreal Engine 4.11.0リリース!個人的な注目ポイント

無事先日にUnreal Engine 4.11.0がリリースされました。
以下がリリースノートの情報です。

Unreal Engine 4.11 Release Notes | Unreal Engine

f:id:alwei:20160402130620p:plain

膨大な情報量なので、とても追いきれません。
とりあえず日本語で読めるように大きな追加点と修正点をまとめておきます。

・マルチスレッドによるパフォーマンスアップ
・リアリスティックヘアシェーダーの追加
・リアリスティックアイシェーダーの追加
・リアリスティッククロスシェーダーの追加
・スキンシェーダーの改良
・キャラクターに対して落ちるカプセルシャドウの追加
・パーティクル用被写界深度
・ディザーを使った半透明マスク
・ディザーを使ってのLOD切り替えのクロスフェード
・階層式LODの改良
・VR用インスタンスステレオレンダリングの追加
・物理を利用せずに動く高速なダイナミックアニメーション機能追加
・ゲームプレイ中のスケルタルメッシュのアニメーションを録画する機能追加
・更にハイクオリティとなった被写界深度
・各種プラットフォームのSDKを最新版へ更新
DirectX 12対応の改良
・XboxOneのためのDirectX 12サポート
・Max OS X El CapitanでMetal APIに対応
・ライティングビルド高速化(約2.4倍)
・照明の入る位置を伝えるライトマスポータル追加
・メッシュからコピーすることが可能なアニメーションポーズノード追加
・LOD時にボーンを自動的にリダクションするツール追加
・パーティクルのスプライト描画を自動的にカットアウトし、3倍高速化
・半透明ライティングを頂点ごとに照明設定することにより高速化
・3つまでのライティングチャンネル機能追加
・サウンドのステレオ空間化対応
・サウンドの方向に対する制御可能となるフォーカス機能
・サウンドのオクルージョン(遮蔽物による影響)対応
・サウンドの並列実行
・マスクベースなアニメーション同期
・アニメーションモンタージュの曲線ブレンディング
・階層式LOD用のアウトライナを追加
・複雑なテキスト(アラビア語など)レンダリング対応
・より詳細なブループリントの検索機能追加
・VRHMD用のカメラ機能をより使いやすいように改良
・VRステレオレイヤー機能追加
シーケンサーのメジャーアップデート

大きなところではキャラクターにおけるリアルな表現なシェーダーやパフォーマンスの改善が多くを占めています。またVR周りではインスタンスステレオレンダリングと呼ばれる技術で更に高速にレンダリングしたり、VR用カメラの使い勝手も上がっています。

ライティングビルドの高速化やライティングチャンネル機能追加も嬉しいところ。
サウンドもかなり多く機能が追加されています。シーケンサーも多く改良されています。

これより以下は上記以外の個人的な注目ポイントをピックアップしていきたいと思います。

New: Added GetCurrentStateName as a blueprint-accessible function on animation instances.

AnimBp上のAnimGraph上で現在実行しているステートマシンのステート名がとれるようになりました。便利。

New: Added ability to set a global pitch scale for every non-UI sound in the game via a new blueprint function.

ブループリントからグローバルなサウンドピッチが調整できるように。スローモードでBGMを遅くしたりする演出に使えそうです。

New: Blueprint "Development Only" Functions

ブループリント関数に開発中にのみ実行されるノードを作成できる機能が追加されます。ただしこれはあくまでもC++上から設定するので、現状ではブループリント上から直接の設定はできないようです。設定する場合にはUFUNCTIONマクロに"DevelopmentOnly"というメタ情報を付与します。

New: Condensed Blueprint Struct Nodes

構造体ノードの使い勝手が多く改善されています。PostProcessSettingsノードは大量のピンが並んで大変なことになっていましたが、デフォルトではピンはオフとなり、詳細パネルから必要に応じてオンにできます。

f:id:alwei:20160402131851p:plain

New: Added experimental option to use the Blueprint Diff Tool with Animation Blueprints and Widget Blueprints.

ソースコントロールを使った時に見れる差分ツールをアニメーションBpとウィジェットBpにも適用できるように。これがかなり欲しかったので嬉しいところ。あとはなぜかないレベルBp用も欲しい。

New: Exposed many scalability settings to Blueprints via UGameUserSettings, making it easy to build a settings screen entirely in UMG.

解像度やフルスクリーンなどのオプション設定に便利なGameUserSettings系ノードが追加されています。UMG上で設定画面を構築するのが簡単になりました。

f:id:alwei:20160402131820p:plain

New: The Blueprint Profiler is now available as an experimental feature to help identify costly operations in blueprints and guide optimization.

ブループリント用のプロファイラーが追加されました。ブループリント上のCPU負荷を簡単に計測することができます。現状ではExperimentalなので、環境設定からオプションを有効にすることで使用可能となります。

f:id:alwei:20160402131425p:plain

When using a pin connection to specify the class for "Spawn Actor From Class", the default value overrides from the node are assigned to the new actor when it is spawned.

少々わかりにくいかもしれませんが、"SpawnActor"ノードのクラス指定でスポーンする時にクラス指定ピンで変数からクラスを指定する際に、そのクラスがスポーン時に変数を公開していた場合、その変数が"SpawnActor"に表示されるようになりました。地味なところですがこれは便利です。

f:id:alwei:20160402113513p:plain

Stats are now visible in VR mode.

Stat系の計測情報がVRモードでも表示されるようになったようです。元々表示されていたような気もしますが、正式に対応かな?

New: Reinstated the control mechanism to move the pivot by Middle-dragging the center point in perspective mode; this allows the vertex snapping mode (holding V+MMB drag) to work as before.

アクターのピボットが一時的に動かせるようになります。以前も実装されていた機能ですがなぜか廃止されて復活しました。ピボット中心をマウスセンターボタンドラッグで動かせます。

f:id:alwei:20160402131634p:plain

New: The process of duplicating Brushes in the editor has now been hugely optimized.

ブラシを複製するとかなり重くなることがありましたが、絶大な最適化により以前は227個のブラシの複製が4分かかっていたのが、2秒で終わるようになったそうです。すごい。

New: Adding in the StereoPanorama plugin, which allows for 360 stereoscopic movie exporting. This feature is still experimental!

360度パノラマムービーが作成できるプラグインが追加されました。まだ実験的なものですが、既にこれで作られた動画がYouTube上に沢山あります。

f:id:alwei:20160402131725p:plain

New: Leap Motion Controller now supports HMD mode, along with image passthrough

Leap Motionプラグインが更新され、非公式プラグインだったものが公式となりました。Image HandやHMDモードのサポートなど今までと比較できないほどに多機能となりました。

f:id:alwei:20160402131745p:plain

New: Packaged HTML5 build can now work on servers with or without compression. Check out the new htaccess file for server setup of compression.

HTML5ビルドでは必ず圧縮してからしかサーバーで実行できない状態になっていましたが、非圧縮状態でも公開できるように。Dropbox上で動かす時などは圧縮されていると動かなかったのでありがたいです。

New: Added support for free resizing of game window

ゲームのウィンドウサイズを自由に変更可能な対応が追加されました。

New: It is not possible to resize game windows in non fullscreen mode for Windows.

と思ったら別カテゴリーには非フルスクリーンモードではウィンドウサイズが変更できないようになりました、と。これはそれぞれ別々に対応可ということでしょうか。

2016/04/16 追記
It is now possible to resize game windows in non fullscreen mode for Windows.
後ほどみると微妙に意味が変わっていました…意味的には上記と同様ですね。

New: Added basic controller support for Checkbox, Slider, and ComboBox

UMGのウィジェット要素をコントローラーで操作できる対応の追加。チェックボックスやコンボボックスはよく使うのでコントローラーで操作できるとありがたいです。

New: Added support for vertex shaders in UI materials.

UMGなどで使うUIマテリアルで頂点シェーダーをサポート。UIを3次元的に動かしたい時や変則的な動きを作る時に役立ちそうです。

4.11の感想

リリースノートを一通り読んでみましたが、読むだけで本当に大変です…これだけ読んでみてもまだまだ重要なポイントを見落していると思います。
一通り読んでみた感想では今回のバージョンでは機能追加以上にパフォーマンスアップや最適化というものが沢山見受けられました。

UE4も一般公開されてそろそろ2年経ちます。機能追加以上に最適化を重要視するステップへと来たということでしょう。もちろんまだまだ足りない機能もあります。個人的にはPaper2D周りの変更が寂しいので、そろそろ大きな変化が欲しいところです。

次の4.12でも大きな変化があるようですし、楽しみです。