ゲーム開発備忘録

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

UE5

【UE5】〈Tips〉ビルド時にFHazardPointerCollection::FHazardRecord で失敗する。

目次 はじめに 改善 最後に はじめに UE5.3.2かつVisualStudio2022 17.9時点で以下のようなエラーがエンジンで発生しビルドが失敗することがあります。その解決方法について詰まったのでまとめました。 ▼怒ったRider君のログ 個人の備忘録としてまとめていま…

【UE4・UE5・UEFN】〈Tips〉便利 Material 組み方ツアー

目次 はじめに 序章 マテリアルの作り方と設定 アニメーション 1 : 移動&スケール 2 : 移動アニメーション 3 : 回転・アニメーション 4: ディゾルブアニメーション 5: 点滅 6: カメラに被らない半透明orディザ 図形 1 : 円 2 : 棒/四角 応用- 斜め 応用-開閉…

【UE4・UE5】〈Tips〉UnrealEngineで学ぶ色空間基礎知識

目次 はじめに 解説 代表的な色空間の種類 ➀RGB(Red, Green, Blue) ②CMYK(Cyan, Magenta, Yellow, Key/Black) Adobe RGBとsRGB RGBとカラーコード リニア空間とsRGB空間 RGBとHSV 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場…

【UE4・UE5】〈Tips〉ダイアログボイスとダイアログウェーブの使い方

目次 はじめに 解説 使いどころについて 解説 -事前準備- ➀シンプルな会話システムの構築 ②会話相手の作成 解説 -ダイアログボイス- ➀ダイアログボイスの作成 ②ダイアログボイスアセットのキャラクターに割り当て ③会話時に相手のダイアログボイスを取得する…

【UE4・UE5】〈Tips〉楽にDelayなどの遅延処理をキャンセルする実装の小技

目次 はじめに 解説 やりかた 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 今回は、遅延処理の最中にその処理をキャンセルしたい場合のシンプルな小技を紹介します。 …

【UE4・UE5】〈Tips〉列挙型(Enum)の要素をブループリントだけでランダムに取得する方法

目次 はじめに 解説 やりかた 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 列挙型の要素をランダムで取得するハックです。 環境 UE5.3.0 解説 やりかた 今回取得した…

【UE4・UE5】〈Tips〉Ambient Zone を利用して簡単に音声のブレンドをやってみよう

目次 はじめに 解説 環境の構築 Audio Volume の配置 Audio Volume の設定 Ambient Sound の配置 Ambient Sound の設定 サウンドの音量調整 注意事項 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指…

【UE5】〈Tips〉UEの自作ツールでDetailsViewのプロパティの変更を検知する方法

目次 はじめに 解説 変更の検知方法 OnPropertyChangedの使い方 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 エディタユーティリティウィジェットを利用することでエ…

【UE5】〈Tips〉Overlayマテリアルが表示されない原因と解決

目次 はじめに 解説 原因 解決 最後に はじめに キャラクターのアウトラインを表示するのに便利なOverlayマテリアルですが、動作しないことがあったので原因を探しました。 Overlayマテリアルの使い方はわかりやすいヒストリアさんの記事をお読みください。 …

【イベント】UE Tokyo .dev #1 に UEFN ネタで登壇した話

目次 はじめに どうしてUEFNネタで登壇したか UEを布教するための構成 最後に はじめに 運営に携わってきたUEのコミュニティイベント【UE Tokyo .dev #1】が7/28日に開催されました。 初回ということもあり機材トラブルが多く発生する中、 配信・現地問わず…

【UE4・UE5】〈Tips〉指定した範囲内でランダムにスポーンする仕組みを作ってみよう

目次 はじめに 解説 ➀生成用のアクタの作成 ②コンポーネントの追加 ③スポーンするアクタの作成 ④スポーン処理の作成 ⑤ランダムにスポーンする処理 ⑥一定間隔でスポーンする 最後に はじめに ゲームでは指定した範囲内でランダムに位置を取得してスポーンする…

【UE4・UE5】〈Tips〉TextBoxの大文字・小文字・数字の強要+文字数制限のやりかた

目次 はじめに 解説 ⓪共通 ➀大文字・小文字の強要 ②文字数制限 ③数字制限 最後に はじめに ユーザー名やパスワードの入力などで大文字だけにしたい、 数字以外使わないでほしい。 ??桁以上入力しないでほしい。 そんな仕様にぶち当たった方への記事です。 …

【UE4・UE5】〈Tips〉 EUW(エディタユーティリティウィジェット)で警告や確認ダイアログを出す方法

目次 はじめに 解説 ノードの説明 パラメータの説明 Cancel Retry Continue Yes No All No All Cancel 処理の分岐について 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします…

【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〉アニメーションモンタージュをループ再生する方法

目次 はじめに 解説 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 解説 モンタージュは、複数のアニメーションシーケンスを配置することができます。 そのためコンボ攻…

【UE5】〈Tips〉UE5の新機能を使った"いい"アニメーションの設計法

目次 はじめに 目指すべき”いい設計”ってどんなの? ロジックを再利用する 処理の抽象化をする 最後に はじめに 今回は大幅にアップデートされたアニメーション機能において、次の内容を参考に現時点で考えるメンテナンス性や拡張性を考慮したアニメーション…

【UE4・UE5】〈Tips〉PrintStringで改行を使ってログ出力をより便利にしよう

目次 はじめに 解説 最後に はじめに ブループリントのPrintStringの内容を改行する小技です。 環境 : UE5.1.1 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 解説 みんな大好きPrintStr…

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

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

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

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

【UE5】〈Tips〉異なるモンタージュのタイミングを同期するMontage Sync Followノードの使い方

目次 はじめに 使いどころ 使用方法 最後に はじめに 今回はUE5から追加された新ノード Montage Sync Followの解説をします。 その名の通り異なるモンタージュを同期することができるので便利です。 モンタージュって何ぞや!?という方は公式のラーニングが…

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

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

【UE4・UE5】〈Tips〉WebAPIを使ってゲームと現実の天気を同期してみよう

目次 はじめに 解説 1.APIを使用する無料プラグインの導入 2.天気データの取得方法 3.UEからデータの取得 4.実際に天気を変えてみる 追記 最後に はじめに この記事はUnreal Engine (UE) Advent Calendar 2022の2部6日目に参加しています。 Unreal Engine (U…

【UE4・UE5】〈Tips〉UIのWidgetの階層でMask(切り抜き)を行う方法

目次 はじめに 解説 最後に はじめに ミニマップを実装するときにUI上で任意の範囲でマスクできないか試してみて実装できたのでここにまとめます。 解説 階層でマスクを行うにはRetainerBoxを使用します。 RetainerBoxの下にマスクしたい画像などを配置しま…

【UE4・UE5】〈Tips〉座標計算によるミニマップの作り方

目次 はじめに 解説 ①ボリュームの配置 ②ミニマップの背景を撮影する ③画像とアイコンのインポート ④ウィジェットのデザイン編集 ⑤+α マップを円形にくりぬく ⑥ウィジェットのイベント編集 1.ボリュームの取得 2.位置の更新 3.回転の更新 4.変数の設定 最後…

【UE4・UE5】〈Tips〉豆知識!デバッグで使用しているPrintString場所を一覧で確認する方法

目次 はじめに 解説 ①とりあえずどこでもいいので検索したいノードを出す ②検索ウィンドウを出す ③検索する 最後に はじめに デバッグで利用したりするPrintStringのログを開発終盤で探すのは骨が折れる作業です。PrintStringは少し重いためできれば消してお…

【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…