まえがき
UE4.26にて追加された機能の中から便利そうなものをピックアップして紹介します。といっても自分が興味あるものだけになっており、BlueprintsとUMGに絞っています。
内容としては公式のリリースノートで書かれている説明に画像を追加した程度のざっくり紹介です。それぞれの機能に使用頻度をつけていますが、あくまで自分基準になっていますのであしからず。
あと自分は英語をGoogle翻訳にかけないと読めないタイプなので、翻訳でいまいち理解できなかった機能は載せていません。ほかにもどんな機能があるか気になる方はぜひ公式のリリースノートをのぞいてみてください。 docs.unrealengine.com
確認環境
- UE4.26.0
使用頻度【★★★★】
変数、関数、マクロをコピー、切り取りしたあと別のBPへ貼り付けできる
詳細で設定した内容も一緒にコピーして貼り付けられます。ただ、カテゴリの設定はコピーされない模様です。
ピンを変数へ昇格するとピンの名前が変数の名前になる
UE4.25までは"NewVar"という名前が自動でついていましたが、UE4.26からはピンの名前に合わせた変数名になります。
関数をイベントに変換する機能が追加
この機能が追加されたことにより、関数 <-> イベントの相互変換が可能になりました!
また、関数内で追加したローカル変数は変数(メンバ変数)に変換されます。
この機能を試していたところ、関数内のノードの配置によってはイベントへの変換がうまくいかずエディタが落ちてしまうことがありました。ただUE4.26.1で修正されますので、UE4.26.0では気を付けてお使いください。(公式のバグ報告はこちら)
#UE4.26
— K.Y. (@KumasanDebug) 2020年12月7日
「関数をイベントに変換」という今後すごくお世話になりそうな機能を試したんやけど、関数の最初にローカル変数のSetノードを呼ぶ形のものをイベントに変換するとエディタが落ちる...
なぜかこの形だけ落ちて、間にPrintStringノードとか挟むと問題なく動作する pic.twitter.com/xiixj6JlxH
不明な関数の呼び出しがある場合に関数を自動生成する機能が追加
不明な関数をBPに貼り付けるとプロンプトが表示される
貼り付けようとしている不明な関数をどう処理するか聞かれます。
下記の選択肢から処理を選んで貼り付けを行います。
- 何もしない -> 不明な関数のまま貼り付けられます
- ブループリントでマッチング関数を作成 -> 関数を自動で作成して貼り付けます
- ノードを削除 -> 貼り付けを行いません
変数と関数を親クラスのBPに移動させる機能が追加
使用頻度【★★★】
配列の要素をランダムにひとつ取得する関数「Random関数」「RandomArrayItemFromStream関数」を追加
配列の要素を逆順に並び替える関数「Reverse関数」を追加
UMGアニメーションの現在の再生時間を設定する関数「SetAnimationCurrentTime関数」を追加
アニメーションが停止した状態だと、内部的に時間が設定されるだけでWidgetの見た目は変わらない(アニメーションに設定した値は適用されない)です。
ウィジェットリフレクタがより便利に
ウィジェットリフレクタはメニューバー > ウィンドウ > デベロッパーツール > ウィジェット リフレクタ から起動できます。レイアウトがガラッと変わり機能が増えています。(それぞれの機能はまだ試していませんが...)
Widgetのナビゲーションをシミュレートする機能が追加
Widgetのデザイナー画面にて、メニューバー > ウィンドウ > ナビゲーション シミュレーション から起動できます。詳しい使い方はわかりませんが今後活躍しそう。
すべてのBPにあるノード参照を別のノード参照に置き換える機能が追加
BP編集画面にて、メニューバー > ウィンドウ > リファレンスを置換 から起動できます。
使用頻度【★★】
ディスク上のアセットへのフルパスを取得するための関数「GetSystemPath関数」を追加
ダイナミックマテリアルインスタンスの割り当てを行うマクロ「CreateAndAssignMIDマクロ」を追加
マクロ内で重複割り当てを回避するようになっているので、重複チェック用の処理を別で書かずにすみます。
レンダーターゲットの割り当てを行うマクロ「CreateAndAssignRenderTargetマクロ」を追加
マクロ内で重複割り当てを回避するようになっているので、重複チェック用の処理を別で書かずにすみます。
またこちらのマクロはActorを継承したBPのみ使えるようになっています。
マクロ内でFormatTextノードのワイルドカード接続が可能に
注意点としてはマクロのワイルドカード入力ピンの性質上、ひとつのピンの型が決まると他のピンも同じ型に統一されてしまいます。
使用頻度【★】
ArrowComponentに矢印の長さを設定できる項目を追加
アクターの向きをエディター上で確認できるようにするArrowComponent。このコンポーネントの長さを設定できるようになりました。
WidgetComponentにTickMode設定を追加
TickModeは下記の中から選びます。
- Disabled -> コンポーネントのTickを無効化
- Enabled -> コンポーネントのTickを有効化
- Automatic -> 必要な時だけコンポーネントのTickを有効化(Widgetが表示されているときなど)
ListView, TileView, TreeViewに表示物同士のすきまを設定する項目を追加
TileViewに表示物のサイズを取得する関数を追加
詳細のツールヒント入力欄にカーソルを合わせるとツールチップが表示
UE4.26.0だとここだけツールチップが表示されるようになっていました。今後、変数名や関数説明の入力欄でも同じようになるかも?
参考資料
あとがき
UE4.26になってBP編集機能がパワーアップしています!
今回のアップデートでBP内での相互変換(関数 <-> イベント)とBPの内容を別のBPに持っていく機能が整備されたので、これまでよりさらにストレスなく編集ができるようになりました。
こういった便利機能を実装してくださる方々にはいつも感謝しています。