UE4.14で入る新機能の一部を
駆け足でご紹介!
#UE4Osaka
Epic Games Japan 岡田和也
UE4 Osaka Meetup #2
はじめに
UE4.14がもうすぐリリースされます!
追記:されました!
https://www.unrealengine.com/ja/blog/unreal-engine-4-14-released
#UE4Osaka
ということで!
UE4.14で入る新機能を実演交えつつご紹介していきます!
UE4.14の目玉の一つである「Forward Rendering」については
VR Tech Tokyo #4で紹介済みなので割愛
http://www.slideshare.net/EpicGamesJapan/ue414vr
Contact Shadows
高精細な動的シャドウが使えるように!
Depth Bufferに対してレイを放射し、
光が当たっているか否かを計算
レイの長さを変えることで精度と負荷を調整可能
物体同士が重なっている箇所や
POMのセルフシャドウに有効
#UE4Osaka
Contact Shadowsの使い方
LightのContact Shadow Lengthを調整
#UE4Osaka
LOD自動生成機能
メッシュの曲面を簡易化したLODを自動生成
UV, 法線, 接線, 頂点カラーを保持
制限
• UE4.14ではStatic Meshのみをサポート
• プロキシLODは未サポート
#UE4Osaka
LOD自動生成機能の使い方
Static Mesh設定のLOD Settingsで変更可能
プリセットは、BaseEngine.iniの[StaticMeshLODSettings]で編集可能
#UE4Osaka
Precomputed Lighting Scenarios
同じジオメトリに対して
複数の事前計算ライティングをサポート!
#UE4Osaka
Precomputed Lighting Scenariosの使い方
事前計算ライティング用のサブレベルを作成し
Lighting Scenarioに切り替え
#UE4Osaka
Precomputed Lighting Scenariosの使い方
用意したLighting Scenario用のサブレベルに
適用したいライトを移動
#UE4Osaka
Precomputed Lighting Scenariosの使い方
サブレベルと同様に
Load Stream LevelでLighting Scenarioの有効/無効を切り替え
#UE4Osaka
Precomputed Lighting Scenariosの制限
複数のLighting Scenarioを有効にはできません
→ 別のLighting Scenarioを読み込む時は
それまで使っていたLighting Scenarioをアンロードする必要あり
#UE4Osaka
Precomputed Lighting Scenariosの制限
サブレベルがライトマップを持つ場合、そのサブレベルが持つ
ライトマップは Lighting Scenarioによるライティングに組み込まれます
#UE4Osaka
サブレベル Lighting Scenario Lighting Scenarioをロード
(サブレベルはアンロード状態)
Precomputed Lighting Scenariosの制限
Lighting Scenariosを有効にした際
Reflection Captureが強制的に更新されます
→ ロード時間の増大
#UE4Osaka
Create Static Mesh from Actors
複数のActorからStatic Meshを作成する機能
•Skeltal Meshも選択可能
エディタ実行中もアウトライナから使用可能
各メッシュが持つMaterialは結合されません
#UE4Osaka
NVIDIA Ansel Support
NVIDIAがゲーム世界にカメラを持ち込む!? 新機能「Ansel」は,
カメラを自由に動かしてエフェクトを適用したり,VR映像を出力したりできる
#UE4Osaka
NVIDIA Anselの使い方
UE4ドキュメント:Nvidia Ansel Photography Plugin
https://docs.unrealengine.com/latest/INT/Engine/Plugins/Ansel/in
dex.html
#UE4Osaka
NVIDIA Anselの使い方
Nvidia Ansel Photography Pluginを有効に
#UE4Osaka
NVIDIA Anselの使い方
NvCameraConfiguration.exeを起動し、
NvCamera StatusにEnableに
C:Program FilesNVIDIA CorporationAnsel
ToolsNvCameraConfiguration.exe
保存先などのAnselの各設定を確認・変更可能
#UE4Osaka
NVIDIA Anselの使い方
CameraEnable.exeを実行し、Anselの使用を許可
コマンドプロンプトを開いて、以下を入力・実行
"C:Program FilesNVIDIA CorporationAnselToolsCameraEnable.exe" whitelisting-
everything
使用許可はPC再起動するまで継続
許可をリセットする場合は以下を入力・実行
"C:Program FilesNVIDIA CorporationAnselToolsCameraEnable.exe" whitelisting-
default
#UE4Osaka
NVIDIA Anselの使い方
エディタで試す場合
1. Standalone Gameで実行
2. Alt + F2
3. F3
4. フィルターなどの設定を調整
5. Snapを実行
6. NvCameraConfigurationで
指定したフォルダに画像出力
※ VR・画面分割時は
Anselは使えません
#UE4Osaka
NVIDIA Anselの使い方
Ansel用のBlueprintノード
https://docs.unrealengine.com/latest/INT/Engine/Plugins/Ansel/Reference/Bl
ueprintAPI/index.html
Ansel用のConsole Command
https://docs.unrealengine.com/latest/INT/Engine/Plugins/Ansel/Reference/C
onsoleVariables/index.html
#UE4Osaka
Cable Componentの改善
• 簡易なコリジョンが使用可能に
• 始点・終点に別ActorやEffectなどをAttach可能に
• 始点・終点にFreeフラグが追加
#UE4Osaka
アウトラインフォント
UMG・Slate向けのフォントに
アウトラインを付けられるように!
#UE4Osaka
SetsとMapsのBP対応
BPファン待望のSetsとMaps対応が入りました!
まだ実験段階機能なので注意!
#UE4Osaka
SetsとMapsのBP対応
SetsとMapsを使用するためには
Editor設定を有効にする必要があります
#UE4Osaka
Sets
• 同じ要素を複数持たない配列
• 要素の順番の保証をしない(=要素の並び順が不定)
• ある要素が含まれているかの確認処理が高速
使い方
#UE4Osaka
Maps
• C#におけるdictionary ( ハッシュテーブル, Key-Valueデータ )
• Keyは必ずユニーク
• 要素の順番の保証をしない(=要素の並び順が不定)
• Keyを使った要素の検索が高速
使い方
#UE4Osaka
…UE4.14.0の場合
使えるますが使えません!!!
申し訳ありません…
#UE4Osaka
Vector Noise in Materials
プロシージャルなシェーディングなどに有用なノイズ作成用ノード
ノイズの作成にはコストが発生するため、
作成したノイズはテクスチャにベイクすることを推奨
#UE4Osaka
Textureへのベイク手順
UE4.13で入った、Draw Material to Render Targetノードを使います
#UE4Osaka
PhysX 3.4へのアップデート
• パフォーマンス・メモリの改善
• Continuous Collision Detection(CCD)に対応
• 高速に動作するRigid Body同士の衝突が正確に!
#UE4Osaka
アニメーションエディタの改善
エディタのUI構成が色々変わりました!
#UE4Osaka
アニメーションエディタの改善
#UE4Osaka
アニメーションエディタの改善
#UE4Osaka
アニメーションエディタの改善
#UE4Osaka
Child Actor Templates
Child Actorの全プロパティ(publicな変数含む)の初期値を
親のBPから設定できるようになりました!
#UE4Osaka
Default Animation Blueprint
スケルタルメッシュにAnimation BPを紐付けられるように!
シーケンサーなどで
AnimationBPを使うためだけに
新たにBPを作る必要がなくなりました!
#UE4Osaka
Vulkan対応の改善
• Android 7(Nougat)に対応
• 様々なレンダリング関係の不具合を修正
• デバイスプロファイルを使って
Vulkan・OpenGL ESのどちらを使うかを指定できるように
#UE4Osaka
カスタムデプスのモバイル対応
カスタムデプスがモバイルでも使えるように!
注意
Mobile HDR を有効にする必要あり
Mobile MSAA を無効にする必要あり
#UE4Osaka
モバイルにおけるシーンキャプチャ機能の改善
Opacity・Depthの出力が可能に
注意
Opacityの出力は高コスト
浮動小数点数テクスチャ対応端末が対象
#UE4Osaka
Material Attribute Nodes
Material Attributeをより簡単にかつエラーを防ぐための
ノードが追加されました!
#UE4Osaka
Material Attribute Nodes
#UE4Osaka
Pre-Skinned Local Position in Materials
Skeltal MeshのReference Poseにおける
UV座標を取得できるように
( = スキニング前のUV座標)
#UE4Osaka
Pre-Skinned Local Position in Materials
Worlf positionとの比較( 左:world 右:Pre-Skinned Local Position )
https://twitter.com/Froyok/status/798922530757246976
#UE4Osaka
Virtual Bones
仮想的な骨を作成可能に
Socketとは異なり
AnimationBP内でTargetとして
使用可能( IKやLook Atなどに )
#UE4Osaka
Morph Target Debug View Mode
モーフターゲットの編集支援機能
パラメータの影響範囲の可視化
#UE4Osaka
Child Animation Montages
既存の親Animation Montageをベースとして
拡張用の子Animation Montageを作成できるようになりました!
#UE4Osaka
親Animation Montageでは
アニメーションのタイミングなどを調整
子Animation Montageでは
再生するアニメーションを置き換え!
MIDI Device Plugin
UE4上でMIDIを扱えるようになりました! (…ベータ版ですが)
…ただし、エンジン機能としては入力のみサポート(…現時点では)
#UE4Osaka
使用手順
① MIDI Device Supportプラグインを有効に
(要エディタ再起動)
MIDI Device Plugin
②利用可能なMIDIデバイスの確認
Find MIDIDeviceノードで利用可能なMIDIデバイスの配列を取得し
使いたいデバイスのID・名前などを確認
#UE4Osaka
MIDI Device Plugin
③指定のMIDIデバイスからのイベントを受け取る準備
#UE4Osaka
必ず変数に格納すること!
MIDI Device Plugin
④受け取ったイベントからのパラメータに
応じた処理を組んでいきます
手元にMIDIデバイスがない!という方は
仮想MIDIデバイスを使ってみるといいかもしれません
https://forums.unrealengine.com/showthread.php?
129105-Need-support-for-Midi-Device-Plugin-in-UE4-14
#UE4Osaka
Improved Mesh Material Slot Importing
メッシュのマテリアルにスロット名を付けられるように
マテリアルの順番が不定だったことによる問題を
スロット名を設定することで解決
#UE4Osaka
Improved Mesh Material Slot Importing
スロット名を使ったマテリアルの取得処理が可能に
#UE4Osaka
モバイル向けのダウンロード/パッチ機能用
Blueprint Library
サポート内容
• 更新の有無のチェック
• ダウンロード処理の初期化
• 進行状況の追跡
• エラー対応
• ダウンロード完了後の
インストール処理
#UE4Osaka
Live GPU Profiler
リアルタイムに動作するGPUプロファイラ
コンソールコマンド “stat gpu” から使用可能
#UE4Osaka
あくまで目安レベル!
プロファイルの負荷もあります!
VR Loading Movies
レベルなどのコンテンツをロードする際の
カクつきを隠すための、スプラッシュスクリーンを設定可能に!
#UE4Osaka
VR Loading Movies
レベルなどのコンテンツをロードする際の
カクつきを隠すための、スプラッシュスクリーンを設定可能に!
#UE4Osaka
VR Loading Movies
同名のノードが複数用意されているので
使用する際は、どちらのライブラリの関数かを確認すること
• Oculus Function Library
• Stereo Layer Function Library
Oculus Function Library版の関数は
Oculus製HMD( CV1, Gear VR )以外では動作しません
#UE4Osaka
さいごに
今回紹介できなかった新機能は、まだまだ沢山あります!
是非使って頂き、他のユーザの皆様に
情報をシェアして頂けるとありがたいです!
ありがとうございました!
#UE4Osaka

UE4.14で入る新機能の一部を 駆け足でご紹介!

Editor's Notes

  • #6 プロキシLOD:多くのパーツ、ポリゴン数を持つアセットから、外見がそっくりな新しいジオメトリを1つ生成する