CG関係の備忘録ブログ

主にZBRUSH、blender

UE5 FPSの範囲を指定する

成果

youtu.be

 

 

参考資料

UQ5.liteのプロジェクト内のReadme

 

[/Script/UnrealEd.EditorEngine]
SmoothedFrameRateRange=(LowerBound=(Type="ERangeBoundTypes::Inclusive",Value=5),UpperBound=(Type="ERangeBoundTypes::Inclusive",Value=30))

 

5が最低、30が最高のFPS。これをプロジェクトフォルダ→Config→DefaultEngine.iniの最後に追記する

UE5 パフォーマンスチューニング その1

成果

youtu.be

 

参考HP

Unreal Engine - プロファイリング&最適化の始め方 | ドクセル

【UE4ゲーム制作】ゲームのパフォーマンスを向上させる方法【逆引きUE】 - YouTube

 

まずBluePrintのエディタ画面を閉じる。これ異常に重い!

 

30FPS=33.33ms
60FPS=16.66ms

stat unit
Draw(CPU)何を描画するか選択、描画命令を準備
GPU メッシュ、マテリアル描画、ライティング、ポスプロ
RHIT(CPU)CPUとGPUを橋渡しするスレッド

stat GPU
GPUを詳しく見る

profilegpu
重い個所を把握する

Quality
候補に軽量化設定が表示される
後ろに?を追加すると詳細が表示される

 

プロジェクト設定→エンジン→基本設定→フレームレートをスムージング(Smooth Frame Rate off)※UE5はデフォルトオフ


Output Log Command r.csync 0

レベルエディタ画面の左上3本線
Realtime off
Stat Engine Unit


BP→Mesh→詳細→Optimization→Visibility Based Anim Tick Option
→Only Tick Pose When Rendered


→Update Rate Optimizations(URO)→ON
カメラの距離に応じてアニメーションを間引く

→動作がおかしくなったので断念(たぶんAnimBPのTickに制御用のノードがあるから)


→Use Attach Parent Bound→ON
バウンディングボックスを親に統合し、個別に計算しない

 

これで大体60FPS出るようになった

UE 要件定義メモを書いてみる

成果

youtu.be

 

Unreal Engineにだいぶ慣れてきたので、要件定義してから作業をしてみることに。

*IsCover=ONで発動する
*最も近いSignpostに独特のMotionで移動する
*Signpostに到達したら、CoverMotion始動し敵影確認
敵影確認したら独特のMotionで身を潜める
敵影なければSignpostにMove
*方向はSignpostから取得
敵に見つかったら離脱
敵の反対へダッシュ→最も近い曲がり角を曲がる→出口に向かう
(最も近いEscapPointに移動)

*は今日実装した部分

 

まあまあいい感じ

 

 

UE5 DrawDebugSphereを多用するとパフォーマンスが劣化する

成果

youtu.be

 

コメントでも指摘されていたが、ある時から非常にパフォーマンスが悪くなっていて最近無視できなくなってきてるので調べてみたところDrawDebugSphereを多用しているとパフォーマンスが劣化することがわかった。いやー盲点だった・・・

UE エディター上のアクタのアイコンを消す方法

参考HP

[UE4] スクショ撮影に役立つ機能!ー初心者向けー|株式会社ヒストリア

 

Gキー(ショートカット)を押すか、
Viewport Optionsの「Game View」に
チェックを入れる

UE5 Slice Procedural Meshの実装

成果

youtu.be

 

参考動画

UE4 Chop and Slice everything with a Lightsaber l Unreal Engine 4.26 (Tutorial) - YouTube

 

アンリアルクエスト5が開催される。お題が「剣を使って敵を攻撃する」とあるので、配布されたプロジェクトをいじってSlice Procedural Meshの実装を試す。

写経でいけたので助かった。動画ではPlaneNomalにUpVectorを使っているが、RightVectorのほうがしっくり来た。

いや~楽しいw