ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

UnrealEngine-UEC++

【UE4・UE5】〈Tips〉UPROPERTY で別のプロパティがFalseなら有効になるオプションの設定メモ

メモ 以下のように書くことでエディタでbHogeOptionが有効になったらFugaOptionが操作できなくなる。 UPROPERTY(Config, EditAnywhere, BlueprintReadOnly)bool bHogeOption;UPROPERTY(Config, EditAnywhere, BlueprintReadOnly, meta=(EditCondition = "bHo…

【UE4・UE5】〈Tips〉C++からGameUserSettingsを継承して独自のオプション項目を簡単に作る方法

目次 はじめに 解説 ①プロジェクト用のGameUserSettingsの定義 ②エディタでの指定 ③取得と設定 最後に はじめに UEのセーブのロジックは通常SaveGametoSlotを使うのが一般的ですが、 GameUserSettingsを継承することで簡単にオリジナルの設定項目を増やすこ…

【UE4・UE5】〈Tips〉SkeletalMeshのComponentHitが反応しないときに確認すること

目次 はじめに 解説 ① 互いのコリジョン設定が不適切 ② Generates Hit EventsがTrueではない ③ Physics Assetがない ④ Physics AssetのHit Eventsが無効 ⑤ Physics AssetのCollisionResponseが無効 最後に はじめに Unreal EngineのSkeletalMeshComponentに…

【UE5】〈Tips〉列挙型の代わりにGameplayTagで管理したら便利だった話

目次 はじめに 解説 ① 簡単な使い方の解説 GameplayTagの追加 GameplayTagの利用 - 単一タグの指定 GameplayTagの利用 - 複数タグの指定 GameplayTagの利用 - タグの制限 ② 列挙型(Enum)の代替としての活用 ③ MatchTags / HasTag 機能による柔軟な分岐処理…

【UE4・UE5】〈Tips〉AnimationのSetPositionにアニメーション尺以上の値を指定した挙動について

目次 はじめに 解説 ① SetPositionの処理の流れ ②実際にどうなるかまとめ 最後に はじめに Unreal EngineのSkeletalMeshComponentにおけるSetPositionについて、「アニメーションの長さよりも大きい値」を指定した場合にどうなるかを検証しました。 公式ドキ…

【UE4・UE5】〈Tips〉自作のプラグインをローカライズ対応する方法

目次 はじめに 解説 ①コンテンツを含めるフラグの有効化 ②C++におけるテキスト収集について ③ローカライゼーションダッシュボードでの収集 ④ローカライズデータの組み込み 最後に はじめに プラグインのローカライズについて情報が無いので実際にやってみて…

【UE4・UE5】〈Tips〉コピペを自動化するエディタユーティリティを作る

目次 はじめに 解説 ①②下準備 ③コードの追加 ④ツールの追加 ⑤ツールの編集 ⑥ツールの使い方 最後に はじめに 特定のブループリントに同じような内容をつなげるのってめんどくさいですよね。そんな悩みを自動化するためのエディタユーティリティノードを作り…

【UE4・UE5】〈Tips〉ブループリントグラフを生成するエディタユーティリティを作る

目次 はじめに 解説 ①エディタモジュールの配置 ②モジュールの追加 ③コードの追加 ④ツールの追加 ⑤ツールの編集 ⑥ツールの使い方 最後に はじめに ブループリントにはグラフを複数作成することができますが、皆さんは使ったことがあるでしょうか? EventGrap…

【UE4・UE5】〈Tips〉Console Variable 通称CVarの使い方と変更検知を取得する方法

目次 はじめに 解説 Console Variableの概要 Console Variableの作成 Console Variableの更新 Console Variableの取得 Console Variableの変化検知 最後に はじめに 本記事では Console Variable(CVar)の基本 と、BPで変更を検知する方法 について解説しま…

【Rider】〈Tips〉フォルダ以下でコード内文字列検索のショートカット

目次 はじめに メモ 最後に はじめに Riderディレクトリ階層以下での文字列検索をするときのショートカットについてのメモです。 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 参考にし…

【UE4・UE5】〈Tips〉自作プラグインからプロジェクトにGameplayTagを追加する方法

目次 はじめに 解決法 最後に はじめに プラグインを追加したときにGameplayTagを自動的に付与したい場合に見る記事です 参考にしたフォーラム forums.unrealengine.com 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご…

【UE4・UE5】〈UnrealC++入門〉③ BPで作った関数をC++ノード化してみよう ~最短アクタ計算~

目次 はじめに 解説 ➀OutHitsから当たったアクタを取り出そう ② 最短計算をする 最後に はじめに BPがある程度理解できたがC++はちょっと、、という人に向けて書いています。 ゲームでよく使うであろう”周囲のアクタから一番近いものを取得するノード”を作っ…

【UE4・UE5】〈UnrealC++入門〉② BPで作った関数をC++ノード化してみよう ~MultiSphereTraceの組み込みとmeta指定子~

目次 はじめに 解説 ➀MultiSphereTraceの中身を見てみよう ②MultiSphereTraceの引数を自作ノードから指定できるようにする ③MultiSphereTraceを使ってみる ④Return Valueを実行ピンで表示する ⑤配列など未接続のピンがあるとエラーが出る問題を修正する ⑥Wor…

【UE4・UE5】〈UnrealC++入門〉➀ BPで作った関数をC++ノード化してみよう ~BPでの実装から基本的なUFUNCTION~

目次 はじめに 解説 ➀C++化するBPの実装 ②C++化していこう 1. .hと.cppを生成する 2. .hに関数をつくってみる 3. .cppに基本的な実装を書く 最後に はじめに 今回はBPで組んだ関数をC++化する内容です。 BPがある程度理解できたがC++はちょっと、、という人…

【UE4・UE5】〈Tips〉UEC++ UFUNCTIONの変数を折りたたんだり、表示名を変更してみよう

目次 はじめに 解説 1.折り畳みできる変数 2.表示名の書き換え 最後に はじめに ブループリントのノード上に公開する変数の表示のカスタマイズについて紹介します。 環境 : UE5.1 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメ…

【UE4・UE5】〈Tips〉UEC++ 実行ピンが複数あるUFUNCTIONを作ろう

目次 はじめに 解説 最後に はじめに ▼今回作るノード IsVaildやブランチノードのように入力される値によりピンが分岐するノードはとても便利です。これらの実装を一般的なUFUNCTIONで行う方法を解説します。 環境 : UE5.1 個人の備忘録としてまとめています…

【UE5】〈Tips〉UEC++ K2Nodeでコンパイルに失敗しているノードにエラーを出す方法 : How to display errors on K2Node that failed to compile

目次 はじめに 方法 最後に はじめに 環境 : UE5.0 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 K2NodeはUFUNCTIONよりも高度で動的な機能をラップするために利用できる洗練されたブル…

【UE4・UE5】〈Tips〉UEC++ ログの出し方 (FName,FString)

目次 はじめに UE_Log を使う方法 FStringを出力する FNameを出力する PrintStringを使う方法 最後に はじめに UE5.0.3時点のデータです。 内容に差異がありましたらコメントまでお願いいたします。 UE_Log を使う方法 一般的なやり方です。 アウトプットロ…

【UE4・UE5】〈Tips〉UEC++マクロ翻訳 ~UPROPERTY編~

目次 はじめに UPROPERTY Const, Config, GlobalConfig, Localized, Transient, DuplicateTransient, NonPIETransient, NonPIEDuplicateTransient, Ref, Export, NoClear, EditFixedSize, Replicated, ReplicatedUsing, NotReplicated, Interp, NonTransacti…

【UE4・UE5】〈Tips〉UEC++マクロ翻訳 ~UCLASS編~

目次 はじめに UCLASS classGroup, Within, BlueprintType, NotBlueprintType, Blueprintable, NotBlueprintable, MinimalAPI, customConstructor, Intrinsic, noexport, placeable, notplaceable, DefaultToInstanced, Const, Abstract, deprecated, Transi…