ぼっちプログラマのメモ

Unreal Engineについて書いたりしてます

UE5

【UE5, C++】 AnimSequence から AnimComposite, Montage を少し便利に作る方法

はじめに AnimSequenceアセットの右クリックメニューから AnimComposite, Montageアセットを作れます。しかし、アセット生成先のフォルダを指定できなかったり、アセット名末尾に _Composite/Montage が強制的につけられます。 それぞれ手動でアセットを移動…

【UE5】StateTreeで文字列から関数・イベントを呼び出すタスクの作り方

はじめに StateTreeから制御対象のActorの関数・イベントを呼びたい、というのは多々あるかと思いますが、そのたびに専用のStateTree Taskを作るのは少々めんどうです。 基底クラスで関数を用意したり、(BP)Interfaceなどを用いることで1つのTaskを流用す…

【UE5】StateTreeのParameterを実行中に変更する方法(C++版)

はじめに StateTreeのParameterはStateTreeComponentで初期値を設定することができ、 TaskやConditionなどで紐づけ(Binding)して利用することが可能です。 また、StateTree全体だけでなく、State毎にParameterを追加・設定することが可能です。 しかし、UE…

【UE5】StateTreeでドアの開閉状態の管理を実装してみる (BPのみ編)

はじめに StateTreeはいいぞ! StateTreeはUE5から追加された「汎用的な階層型ステートマシン」機能です。UEユーザの中で「ステートマシン」と言えばAnimationBPのAnimGraphにおけるステートマシンがまず思い浮かぶかと思います。基本的な概念・考え方はStat…

【UE5】C++でChooser Table・Proxy Tableを使う方法について

C++でChooserTable, ProxyTableを利用する方法を解説した記事です。Chooser TableやProxy Tableの評価をC++で行うためのUChooserFunctionLibraryおよびUProxyTableFunctionLibraryの主要な関数や使い方を詳しく紹介。具体的なサンプルコードを交えて、プロジ…

【UE5】猫でも分かるChooser(動的アセットの選択)ことはじめ Part2 - Proxy Asset , Table編 -

はじめに 本記事は「【UE5】猫でも分かるChooser(動的アセットの選択)ことはじめ Part 1 - Chooserとは?編 -」の続きです!もしまだ見ていない方は Part 1 からどうぞ! pafuhana1213.hatenablog.com Part 1 ではChooserの用途例や基本機能について説明し…

【UE5】猫でも分かるChooser(動的アセットの選択)ことはじめ Part 1 - Chooserとは?編 -

本記事はUnreal Engine (UE) Advent Calendar 2024 の13日目の記事です。 UE5.3(5.2だったかも)辺りで追加され、UE5.5ではProduction ReadyになったChooser(動的アセットの選択)機能に関して書いていきます!「なんか凄そうな機能だけど、具体的に何がで…

【UE5】FGuid型のプロパティに対して「is not initialized properly even though its struct probably has a custom default constructor」というエラーが出たときの対処方法

本記事は Unreal Engine (UE) - Qiita Advent Calendar 2024 - Qiita シリーズ4の 1日目の記事です。 定期的に遭遇するエラーの対処方法を毎回忘れるので、備忘録的な小ネタ記事です。 ( 1日目の記事なのにこんなに地味 & シンプルでいいのかなと思いつつも…

【UE5】FEditorDelegates 自分用メモ

はじめに エディタの特定のタイミングに処理を追加するのにFEditorDelegatesをよく使いますが、ちょうど忘れたタイミングで必要になり毎回エンジンコードを探しに行くのが面倒だったので、メモ代わりに関数名・コメント(日本語版)を並べました。何か追記す…

【UE5】Live Coding時に自動的にSlateを更新する「Live Update for Slate」プラグインが便利という話

はじめに ✕ おわりに ✕ おまけ SlateをC++でガリガリ書く際、変更結果を確認するためにエディタやタブを開き直すのが手間に感じていました…が、 偶然見つけた「Live Update for Slate」プラグイン有効にすると、LiveCodingによるビルド成功時に自動的にエデ…

【UE5】エンジン内にコッソリあるSlateサンプル集(SlateViewer)を見る方法

はじめに 下記公式ドキュメントにて「Slate Viewer Widget Gallery で実演されないレイアウトとウィジェットの複雑性」とあるのですが… Unreal Engine でのスレート UI ウィジェットのサンプル | Unreal Engine 5.5 ドキュメンテーション | Epic Developer C…

【UE5】Instanced Object におけるプロパティ表示を少し強引にフィルタリングしてみる

はじめに Instanced Object という機能を使うことで実装を分割・併用することができ、柔軟かつ変更に強い設計を構築することができます。 UE5/UE4 C++で変数にクラス(Class)のインスタンス(Instance)をプロパティ指定子(Property Specifiers)を使って…

【UE5】特定のディレクトリ以下にあるファイルの変更を検出する方法について

はじめに UE5にはAuto Reimportという「アセットの元データ(画像、モデル、テキストデータなど)が変更されると自動的に再インポートを行う」機能があります。ただ直接的な元データではなかったり、プロジェクト独自にチェックや変換処理をしたい時はAuto R…

【UE5】外部ファイルを拡張子に関連付けられた既定アプリで開く方法について(LaunchFileInDefaultExternalApplication)

はじめに UE5からTXTファイルやCSVファイルなどをテキストエディタやExcelなどのUE5外のアプリケーションで開きたいことは稀によくあります。 その際に便利な関数としてFPlatformProcess::CreateProc や FPlatformProcess::ExecProcessがあります。 paperslo…

【UE5】Actor ColorationにおけるProperty Color、Ctrl+クリックでサクッと設定できる件について

はじめに 以前に、プロパティの設定状況を可視化するActor Coloration という機能について講演したりサンプルを公開したりしましたが… www.docswell.com github.com その際に調査・説明を忘れていた「 Property Color」の使い方についてEpic公式動画で語られ…

【UE5】AnimNodeのAlphaが0のときって本当に処理走らないの?

はじめに AnimNodeのAlphaを0に設定するとそのノードの処理がアニメーション(各ボーン)に反映されなくなりますが、 GitHubにて「内部処理は動いてないの?大丈夫?」と質問されて少し不安になったので調べてみたという話 https://github.com/pafuhana1213/…

【UE5】移動入力・落下により再生中のAnimMontageをキャンセルするAnimNotifyStateについて

はじめに 攻撃モーションなどの単発モーションをRootMotion付きのAnimMontageで実装することは多いですが、「BlendOutが始まるまでキャラクターが移動入力で動かせない」ことでアクションの手触りが悪くなることがしばしばあります。 とはいえ、BlendOutの始…

【UE5】エディター右上にプロジェクト独自のテキスト・情報を表示する方法

はじめに エディタ設定の Show Frame Rate and Memory をONにすると、エディタ右上にフレームレートやメモリなどの情報が出ます。 ここにプロジェクト固有の情報表示したい! パフォーマンス関連の情報ももっと出したい!!! できた!!! ということで、エ…

【UE5】自作AnimNodeが持つプロパティのカテゴリーの表示順を変える方法

はじめに この記事を見る方の大半はご存知の通り、UPROPERTY にて Category を設定すると USTRUCT(BlueprintType) struct KAWAIIPHYSICS_API FAnimNode_KawaiiPhysics : public FAnimNode_SkeletalControlBase { GENERATED_USTRUCT_BODY() public: UPROPERTY…

【UE5】User ToolBoxのタブがエディタ起動時に表示・復元されない問題の修正方法 in UE5.3

はじめに UE5.2からUser ToolBoxという機能が追加され、EditorUtilityWidgetを作らなくてもサクッと簡易的なエディタ拡張ができるようになりました! User ToolBox(UTB)とは? User ToolBox 5.2 | Tutorialしかし、User ToolBoxで作った画面(User ToolBox T…

【UE5】アウトライナーの目玉アイコン(Visibility)をEditorUtilityからONOFFする方法について(SetIsTemporarilyHiddenInEditor)

本記事はUnreal Engine (UE) - Qiita Advent Calendar 2023 - Qiita シリーズ5の 5日目の記事です はじめに ホグワーツレガシーの開発者による講演「Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries(Unreal Engine 5での…

【UE5】Collision Presetのリスト情報を取得する方法について(GetProfileNames)

本記事はUnreal Engine (UE) - Qiita Advent Calendar 2023 - Qiita シリーズ5の 4日目の記事です はじめに ホグワーツレガシーの開発者による講演「Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries(Unreal Engine 5での…

【UE5】Collision Presetの設定状況をReference Viewerで確認可能にする方法について(MarkSearchableName)

本記事はUnreal Engine (UE) - Qiita Advent Calendar 2023 - Qiita シリーズ 5の 3日目の記事です はじめに ホグワーツレガシーの開発者による講演「Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries(Unreal Engine 5で…

【UE5】Collision Presetの選択UIを検索可能版(SSearchableComboBox)にする方法について

本記事はUnreal Engine (UE) - Qiita Advent Calendar 2023 - Qiita シリーズ 5の 2日目の記事です はじめに ホグワーツレガシーの開発者による講演「Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries(Unreal Engine 5で…

【UE5】Collision PresetにおけるCustomを無効化する方法について

本記事はUnreal Engine (UE) - Qiita Advent Calendar 2023 - Qiita シリーズ 5の 1日目の記事です はじめに ホグワーツレガシーの開発者による講演「Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries(Unreal Engine 5で…

【UE5】コリジョン管理・処理に関する講演メモ・補足 : Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries | Unreal Fest 2023

本記事は「Unreal Engine (UE)のカレンダー | Advent Calendar 2023」 13日目の記事です。 はじめに Uneral Fest 2023 におけるホグワーツレガシーの開発者による講演「Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries(U…

【UE5】UE5.1でData Layer Assetのアセット名・配置場所を変えるときは十分に気をつけて!という話

はじめに 今回紹介する不具合は下記番号で修正リクエスト済みですが、少なくともUE5.1.0, UE5.1.1 では確実に発生します。UE5.2以降で修正済みか否かに関しては下記URLからご確認ください。UE-176093 If the DataLayerAsset name or asset path changes, Act…

【UE4・UE5】StringTableに項目を追加・削除・リセットするBPノードの作り方

はじめに 小ネタですが、EUWなどからStringTableに項目を追加したり、項目を削除・リセットする必要が出てきたのでそのメモをさらに指定のStringTableに対して要素の追加もできるように。標準だとStringTableに対してはGet系のノードしか用意されてないのでC…

【UE5】グラフベースのUIで処理の流れを組める「Common Conversation」プラグインを動かす簡単なサンプルを公開しました!

この記事は Unreal Engine (UE)のカレンダー | Advent Calendar 2022 2日目の代理投稿記事です。 はじめに 突然ですが、UE4.27から追加されているCommon ConversationプラグインをUE5.1で動かしてみたというサンプルプロジェクトを公開しました! github.com…

【UE4・UE5】SteamDeck上でUnrealEngineで作ったパッケージ(実行ファイル)を動かしてみた!

この記事は Unreal Engine (UE) - Qiita Advent Calendar 2022 - Qiita 11日目の代理投稿記事です。 はじめに Steamを運営しているValue社による新しい携帯型ゲーム機「Steam Deck」が届きました! わーい! Steam Deckが…キタ━━━━(゚∀゚)━━━━!!とりあえず充電だ…