K.Y.さん、しんちょくどーですか?

仕事や趣味で知ったこと、つまずいたことを書いています

【UE4】UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)

まえがき

UE4.26にて追加された機能の中から便利そうなものをピックアップして紹介します。といっても自分が興味あるものだけになっており、BlueprintsとUMGに絞っています。

内容としては公式のリリースノートで書かれている説明に画像を追加した程度のざっくり紹介です。それぞれの機能に使用頻度をつけていますが、あくまで自分基準になっていますのであしからず。

あと自分は英語をGoogle翻訳にかけないと読めないタイプなので、翻訳でいまいち理解できなかった機能は載せていません。ほかにもどんな機能があるか気になる方はぜひ公式のリリースノートをのぞいてみてください。 docs.unrealengine.com

確認環境

  • まえがき
  • 確認環境
  • 使用頻度【★★★★】
    • 変数、関数、マクロをコピー、切り取りしたあと別のBPへ貼り付けできる
    • ピンを変数へ昇格するとピンの名前が変数の名前になる
    • 関数をイベントに変換する機能が追加
    • 不明な関数の呼び出しがある場合に関数を自動生成する機能が追加
    • 不明な関数をBPに貼り付けるとプロンプトが表示される
    • 変数と関数を親クラスのBPに移動させる機能が追加
  • 使用頻度【★★★】
    • 配列の要素をランダムにひとつ取得する関数「Random関数」「RandomArrayItemFromStream関数」を追加
    • 配列の要素を逆順に並び替える関数「Reverse関数」を追加
    • UMGアニメーションの現在の再生時間を設定する関数「SetAnimationCurrentTime関数」を追加
    • ウィジェットリフレクタがより便利に
    • Widgetのナビゲーションをシミュレートする機能が追加
    • すべてのBPにあるノード参照を別のノード参照に置き換える機能が追加
  • 使用頻度【★★】
    • ディスク上のアセットへのフルパスを取得するための関数「GetSystemPath関数」を追加
    • ダイナミックマテリアルインスタンスの割り当てを行うマクロ「CreateAndAssignMIDマクロ」を追加
    • レンダーターゲットの割り当てを行うマクロ「CreateAndAssignRenderTargetマクロ」を追加
    • マクロ内でFormatTextノードのワイルドカード接続が可能に
  • 使用頻度【★】
    • ArrowComponentに矢印の長さを設定できる項目を追加
    • WidgetComponentにTickMode設定を追加
    • ListView, TileView, TreeViewに表示物同士のすきまを設定する項目を追加
    • TileViewに表示物のサイズを取得する関数を追加
    • 詳細のツールヒント入力欄にカーソルを合わせるとツールチップが表示
  • 参考資料
  • あとがき
続きを読む

【UE4】【雑記】PlayAnimationWithFinishedEventノードを複数回実行すると意図せずFinished実行ピンを呼ぶかもしれないという話

PlayAnimationWithFinishedEventノードのFinished実行ピンが呼ばれるタイミングが思ったのと違ったときがあったので整理。(結局は自分の勘違いやったけど)
動作環境はUE4.25.4。

ちなみにPlayAnimationWithFinishedEventノードはWidgetBPで使えるノードでアニメーションの再生とアニメーション終了イベントの呼び出しが一つにまとまったもの。アニメーションを再生して終了後に何か処理をする場合、ノードの配置をすっきり書けるので重宝している。
似た名前でPlayAnimationTimeRangeWithFinishedEventノードがあるけど、入力ピンが違うだけで同じような使い方ができる。

続きを読む

【UE4】UMGアニメーションの終了イベントが呼び出されるタイミングをまとめました

まえがき

UMGアニメーションで再生やら停止やらを使っているとアニメーション終了イベントがいつ呼び出されるのか混乱してきたので、迷わないためのメモです。

確認環境

  • まえがき
  • 確認環境
  • アニメーション終了イベントが呼ばれるパターン
    • アニメーションが完了したとき
    • アニメーションが停止したとき
  • アニメーション終了イベントが呼ばれないパターン
    • 無限ループ再生
    • 再生速度0
    • アニメーション一時停止
  • 参考資料
  • あとがき
続きを読む

【UE4】Widgetでモバイルのタッチ入力を検出する関数(関数オーバーライド)の紹介

まえがき

モバイル向けにタッチ入力を検出するイベントが用意されている(↓参考)のですが、Widgetから利用することはできません。 yashinut.com

どうにかWidgetでタッチ入力を検出できないか調べたところ、関数オーバーライドを利用するとよいことが分かったので使い方を紹介します。

確認環境

  • まえがき
  • 確認環境
  • Widgetの関数をオーバーライドする方法
  • タッチ入力に関係する関数一覧
  • タッチ系関数の紹介...の前に
    • PCでタッチ入力をテストする方法
    • タッチ系関数が反応する条件
  • タッチ系関数の紹介
    • On Touch Gesture関数
    • On Touch Started関数
    • On Touch Moved関数
    • On Touch Ended関数
    • On Mouse Enter関数
    • On Mouse Leave関数
  • タッチ系関数内で取得できる情報の紹介
    • タッチした指の番号
    • タッチした座標(ビューポート上)
    • タッチした座標(Widget上)
    • スワイプ時の移動量
  • タッチ系関数をオーバーライドして使ってみる
  • 参考資料
  • あとがき
続きを読む

【UE4】Widgetのデザイナー画面にあるFill ScreenとかCustomとかDesiredとかの使い方

まえがき

ある日、Widgetを触っているときふと右上に目をやると"Fill Screen"と書かれたプルダウンがあることに気が付きました。

メニューの画像
赤丸のやつです

クリックしてみると"Custom"やら"Desired"と書かれた項目が現れたので、なんだろう?と思った私は興味本位で"Desired"を選択。すると...

FillScreen->Desired切り替え画像
ん?

作成途中の画面が崩れ、焦った私はとっさに"Fill Screen"に戻し事なきを得ました。(同じような経験をした人はいるはず...)

この機能はなんだ?と気になり、いろいろ使ってみて要領がわかったので記事にしました。

確認環境

  • まえがき
  • 確認環境
  • "Fill Screen"プルダウンの名称について
  • 表示モードの違い
    • Fill Screen
    • Desired
    • Desired on Screen
    • Custom
    • Custom on Screen
  • "Desired"と"Custom"はいつ使う?
    • "Fill Screen"の使いどころ
    • "Desired"の使いどころ
    • "Custom"の使いどころ
    • 表示モード使い分けのポイント
  • あとがき
続きを読む

【UE4】Paper 2Dスプライトを編集してもデータが更新されないときの対応

  • 確認環境
  • まえがき
  • 再現手順
  • 対応
  • 参考資料
  • あとがき

確認環境

まえがき

Paper 2Dスプライトを作成した後、スプライトに編集を加えてもデータが更新されないことがあったのでその対応を書いています。

続きを読む