More Related Content
Similar to Unreal Engine 4の2019年上半期アップデート情報まとめ / GTMF 2019 (20)
More from Game Tools & Middleware Forum (20)
Unreal Engine 4の2019年上半期アップデート情報まとめ / GTMF 2019
- 12. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 13. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 22. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 26. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 27. #UE4 | @UNREALENGINE
C++ イテレーション高速化
● Molecular Matters の Live++ライセンスを取得し、
新しい ライブ コーディング 機能(実験的機能)として統合
● UnrealBuildTool と UnrealHeaderTool が最適化され、
C++ のイテレーション時間が最大 3 倍高速に
- 34. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 37. Skeletal Mesh Reduction [4.22-]
● 4.22からSkeletal MeshのReductionに対応
● 従来はStatic Mesh(ボーン等が入っていないメッシュ)のみの対応
LOD0
41052 triangles
LOD1
20524 triangles
LOD2
10262 triangles
LOD3
4104 triangles
LOD4
2052 triangles
- 39. Skeletal Mesh Reduction [4.22-]
● LOD Pickerから調整したいLODを指定し設定項目を表示
・Screen Size
・描画領域がこの割合になった時に
該当LODを描画
・Bones to Prioritize
・リダクション時に
プライオリティを上げたいBoneを設定
・Weight Of Prioritization
・プライオリティ(品質)を保持する割合
・Bones to Remove
・Skeletonから参照するボーンを
削除するリスト
- 40. Skeletal Mesh Reduction [4.22-]
● LOD Info内のReduction Settingsを展開
・Termination Criterion
・リダクションの基準とするもの
・Percent Of Triangles
・どのぐらいの割合で基準となるものを
減らすか
・Max Bones Influence
・影響させるボーンの数
・Lock Mesh Edges
・メッシュの端のトポロジを保つ
- 41. Lock Mesh Edges
LOD0
6040 triangles
LOD1
2030 triangles
(Disable Lock Mesh Edge)
LOD1
2030 triangles
(Enable Lock Mesh Edge)
- 45. Animation Budget Allocator[4.22]
Skeletal Mesh ComponentのTick制御を動的に制限する機能
プラットフォームごとに(ゲームスレッドでの時間配分)を決めて
その時間の中で実行を行う
以下のような処理を切り替える、
・Tick処理を止める、
・Master Pose Componentに切り替える
・アップデートの間の処理を補完、
または補完しない
---Experimental---
- 48. Animation Budgetの有効化
● Game ModeなどでEnable Animation Budgetノードを実行
● 全体を管理するAnimation Budget Allocatorを作成
● a.Budget.Enabled 1を設定し有効化
● 制御を行うためのフラグ
- 49. ● Animation Budget Allocator登録したいSkeletal Meshを
Skeletal Mesh Component Budgetedに置き換える
Skeletal Mesh Component Budgetedの置き換え
Pluginに含まれているコンポーネントです
- 58. ● 現在Early Accessの機能
● 大量のキャラクターを表示させたい時
● Tickを減らせるのでGame Threadに対して有効
● Skeletal Mesh Reductionsや、
Dynamic Resolution と組み合わせると効果的
Animation Budget Allocator まとめ
- 59. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 60. #UE4 | @UNREALENGINE
Audio Systemに関する改善
● New Audio Engineについて
● Time Synthについて
● Sound Concurrency のレイヤー化
● Sound アセットインポート機能の改善
- 61. #UE4 | @UNREALENGINE
New Audio Engineについて
● 4.22で当初New Audio EngineがデフォルトになるとPreview版の告知には書かれていましたが、
リリース版でのデフォルトは従来通りとなっています
Audio Device
New Audio Engine
Audio
Audio Mixer
- 62. #UE4 | @UNREALENGINE
Audio Systemの指定方法について
● AudioDeviceModuleNameとAudioMixerModuleNameは
WindowsEngine.ini等Configで設定
● au.IsUsingAudioMixer ?で現在の設定を確認
LoadModule
AudioDevice
ModuleName
LoadModule
AudioMixer
ModuleName
UseAudioMixer
True
False
False
Configの[Audio]のUseAudioMixer
または、起動時の-AudioMixer引数
- 63. #UE4 | @UNREALENGINE
● 新規プロジェクトでUseAudioMixerをTrueにするConfigを自動で追加する仕組みが導入
● bUseAudioMixerForAllPlatformsはデフォルト無効化されているのでこれをTrueにするか
または、AudioMixerEnabledPlatFormsのArrayに対応したいプラットフォームを追加
UseAudioMixerについて
- 66. #UE4 | @UNREALENGINE
Time Synthのセットアップ
● ActorなどにTime Synth Componentを追加してQuantization Settingsを設定
Time Synth Componentの役割
Audio Threadで再生しているサウンドの
タイミングを管理し、Eventを発生させる
Quantization Settings
Beats Per Minute(BPM) : 1分間の拍子
Beats Per Bar : 1小節何拍子か
Beat Division : 1拍子の分割数
Global Quantization :Globalでのタイミング
※Event Delay Secondsに関しては現状未実装
- 67. #UE4 | @UNREALENGINE
Time Synthで再生するサウンドについて
● Content Browserの右クリックから Sound > Time Synth Clipを作成
作成したTime Synth Clipを開きSound Waveを登録
- 68. #UE4 | @UNREALENGINE
Time Synth ComponentにEventを設定
● Add Quantization Event Delegateによってイベントを追加
以下例では、1小節、1拍子ごとにイベントを呼ぶように設定
- 69. #UE4 | @UNREALENGINE
Time Synth Componentの実行
● この状態で実行すると、
それぞれ同期した状態でイベントが呼ばれる
イベント上で別のClipを再生したり
Clipを停止することでリズムに合った
サウンドの再生が可能となる
イベントでは現在の小節や拍子の番号を取得可能
- 71. #UE4 | @UNREALENGINE
Sound Concurrency のレイヤー化
● Sound Concurrencyはサウンドの並列再生に関する設定
● AudioComponent、SoundBase、SynthComponentに対して複数設定が可能に
Max Count:同時再生数
Resolution Rule:
同時再生数を超えた場合の挙動定義
複数設定した場合...
Resolution Rule が同時に
実行されるため注意
- 72. #UE4 | @UNREALENGINE
Sound Concurrency のレイヤー化
● 複数条件により評価処理が複雑になっているため
詳しく確認したい場合はEvaluteConcurrency関数を参照
.¥release-4.22¥Engine¥Source¥Runtime¥Engine¥Private¥SoundConcurrency.cpp
- 74. #UE4 | @UNREALENGINE
Sound アセットインポート機能の改善
● これまで対応していたWAVファイルに加えて
「AIFF」、「FLAC」、「Ogg Vorbis」に対応
設定等は必要なく、Content Browser
に
ドラッグ&ドロップでインポート可能
- 75. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 77. #UE4 | @UNREALENGINE
Composure によるリアルタイム コンポジットを大幅に強化
バーチャル プロダクション パイプラインの改善
・OpenColorIO (OCIO)
カラー プロファイルへの対応 (実験的機能)
・GPUによるビデオ デコード (実験的機能)
・新しい Media I/O フォーマット
・nDisplay の改善
- 80. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ
- 103. #UE4 | @UNREALENGINE
内容
● リアルタイムレイトレーシング
● レンダリングの最適化
● C++ イテレーション高速化
● アニメーション周り機能追加
● Audio Systemに関する改善
● その他のアップデート
● 今後のUE4
● まとめ