22.9K Views
October 08, 23
スライド概要
Unreal Engine Meetup in Osaka Vol.01で登壇した時に使用したスライドです。
https://indie-us-games.connpass.com/event/294068/
Unreal Engine 5 ブループリントアップデート Indie-us Games 代表 alwei Unreal Engine Meetup in Osaka Vol.1
自己紹介 名前 : alwei Xアカウント(@aizen76) 株式会社Indie-us Games 代表 Unreal Engineの何でも屋 昨年結婚した。そろそろ新婚見納め FF16をプレイして物量にヤバさに度肝を抜いた
Indie-us Gamesについて Unreal Engine専門のスタジオ。 ゲームをメインとしながらも、 映像、製造、建築、XR、メタバースなど あらゆる業種の案件をやっています。 何かありましたら、いつでもご相談を! https://www.indie-us-games.co.jp/
Unreal Engine Meetup in Osaka 大阪でUnreal Engineコミュニティを再度盛り上げるべく、 以前行っていた勉強会からリニューアル! 今回だけでなく次回開催も検討しておりますので、 ぜひ登壇したい方がおられましたら何卒お願いします! 面白いUnreal Engineネタであれば何でもOK!
アジェンダ ・UE5.0からのBPアップデート ・UE5.1からのBPアップデート ・UE5.2からのBPアップデート ・UE5.3からのBPアップデート
その前に…
全力で探してみましたが… ぶっちゃけそこまで美味しい情報はなかったです… Tips程度のものが多いです。 UE5以降のブループリントで 大きな変更はごく僅か。 それを承知の上でご清聴ください。
UE5.0からのBPアップデート
Type Promotion 自動的に型を判断して、 演算子ノードでの接続の手間を より少なくしてくれる ただし、一部型(DateTime型) においては型が合わなくて、 Subtractが接続できないという 既知の問題がある
ブループリントデバッガーの刷新 デバッガー全体がUE4.27の頃と はあらゆる部分で刷新されました 変数情報はこれまで個別でしか 見れなかったのが一覧で 見れるようになったで便利!
Print String & Print TextのKey Keyの文字が同一だった場合、 同じKeyを出力した場合に 同一メッセージを上書きします 複数同じメッセージを Printしたくない場合に便利!
親クラス名が全て表示されるように UE4.27まではBPのクラス設定上で 親クラスを設定した時にクラス名が 全て表示されていなかったのが UE5.0になってクラス名が 全て表示されるようになった! UE4.27 UE5.0
Find Relative Look at Rotation 対象との向きを取得するFind Look at Rotationの 相対向きを考慮するように改良された Find Relative Look at Rotationが UE5.0で追加されている 自分の向きを考慮できるので、 何気にめちゃくちゃ便利!!
Get Build ~ ノード追加 Get Build Versionでは UE5のビルドバージョンを取得 Get Build Configurationでは Development、Shipping、Test などのビルド構成を取得 特に後者はビルド構成毎に機能分け するのに非常に便利!!
Widget内でInput Eventが利用可能に UE4.27まではInput ActionやInput Axisは そのままUMG Widget内で扱えなかったが、 UE5.0以降ではWidgetの中でも問題なく使えるように!
UE5.1からのBPアップデート
ブループリント ヘッダープレビュー BPの内部構造を解析し、 ほぼそのままC++のヘッダーへと コピペ可能なコードをプレビュー BPネイティブ化が廃止された 代替機能として追加された 実装は自分で行う必要がある
ブループリント 名前空間 BPにおける名前空間システムの追加 名前空間を分けることで、不要なロードを行わせないように 設定することができる また検索時のフィルター としても機能するので、 名前空間を分割することで 表示を整理することが可能! 解説記事 → https://unrealengine.hatenablog.com/entry/2022/09/28/230631
カテゴリーのオーバーライド エディタ環境設定から、 追加のブループリントカテゴリ にカテゴリーを追加することで 標準で変数や関数にカテゴリーを リストに追加することができるように! 特定クラスにのみ追加も可能
IsAノードの追加 Objectが特定クラスかどうかを判定することが出来る 『IsA』ノードが追加 Castなどで判定する必要が なくなり、不要な参照を 増やすことがなくなる
UE5.2からのBPアップデート
Scriptable Tools Framework BPだけでインタラクティブなツールが作成可能に! Editor Utility Widgetでは不可能な3D空間を直接編集可能
ブループリントのDiffツール Diffツールで異なるBP同士での比較が出来るように! これまでは同じBPでしか比較が出来なかった 差分があるもの対して細かく色分けされるように 現状はBPのみだが今後は他のアセットもサポート予定
PrintStringの出力元追跡 bp.BlamePrintString 1 上記コマンドを入力するとPrintStringのソースBPを 追跡して情報が確認出来るように! スパムのように流れてくるPrint元を簡単に探すことが出来る
BPノンブロッキングメニュー 右クリック時の検索(コンテキスト)メニューが 非同期処理となり、レスポンスがよくなるように! エディタ環境設定の設定が必要 5.2時点では標準ではオフだが、 5.3以降では標準でオンになる 解説記事 → https://unrealengine.hatenablog.com/entry/2023/07/29/224830
BP変数型をコンテンツブラウザで確認 自作BPクラスの変数を作成してから、 詳細内で変数の型を右クリックを行うと、 『型をブラウズ』という項目が追加されている 選択するとコンテンツブラウザ上で ファイルを直接確認できるように!
アクター構築中に非安全フラグ追加 Construction Script内など、 アクターを構築中に呼び出すと危険な関数に対して、 詳細設定内で『アクタ構築中に安全ではない』フラグが追加!
UE5.3からのBPアップデート
BPオンリーのUMG ViewModel UMGウィジェットのプロパティ更新をイベントドリブンで 行うことができるようになる!5.1から存在し、C++が 必須だったのが5.3からはBPオンリーでも利用可能になった MVVMと呼ばれる仕組み を採用しており、軽量に 動作してくれる 解説記事 → https://unrealengine.hatenablog.com/entry/2023/09/28/233801
型変更時のオートキャスティング 変数の型変更などを行った際に、元々接続されていた ノード同士が双方でキャスト可能な型だった場合、 自動的にキャストノードを挿入するようになった 以前は型変更で接続が切れて しまってエラーになっていた ので余計な手間が減るように
カスタムイベントのアクセス指定子 カスタムイベントに対してアクセス指定子を 指定することができるようになった Publicの他にProtectedとPrivateが設定可能に!
参照型引数の初期値なしを許容 関数の引数に対して、参照型を 初期値なしで渡そうとすると 5.2まではエラーが発生する UE5.2 5.3からは初期値がない参照型を 渡してもエラーではなくなる! UE5.3
オマケ
VerseのUE5実装状況について 既にGitHubのUE5-Mainブランチ上に VerseVMの実装が多く入っている UEFNで動いている現状から、 UE5本体へと組込まれる日もそう遠くないはず 気になる方は実装を追ってみてください UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/VerseVM/
まとめ • UE5以降のBPで大きな更新は少ない • なくなってしまった機能もいくつかある(BPネイティブ化等) • UE4の時よりも確実に便利になってきている • 今後はBPの更新は少ないがVerseが入ってくる • 既にUEのGitHubにはVerse VMが存在している • BPはいい意味で枯れてきていると言える
ご清聴ありがとうございました!