ゲーム開発備忘録

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

UnrealEngine-Tips

【UE4・UE5】〈Tips〉TreeViewを使って階層のあるUIを作ろう

目次 はじめに 解説 TreeViewでできること ①B_TreeItemObjectの作成 ②B_TreeItemObjectの編集 ③ W_TreeEntryの作成 ④W_TreeEntryのデザイン編集 ⑤W_TreeEntryの実装 ⑥W_TreeMainの作成 ⑦W_TreeMainのデザイン編集 ⑧W_TreeMainの実装 ⑨UIの表示 ⑩子UIの表示 …

【UE4・UE5】〈Tips〉UIボタンのデザインやプロパティをBPから上書きする方法

目次 はじめに 解説 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 UE5.5.4で解説します。 解説 Buttonの見た目はButtonStyleプロパティの構造で取りまわされているので…

【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で変更を検知する方法 について解説しま…

【UE4・UE5】〈Tips〉知っていると得するキャラクターが持つ便利なDelegateの紹介(着地・移動検知・モード切替・ジャンプ最高到達点)

目次 はじめに 解説 LandedDelegate CharacterMovementUpdated MovementModeChangedDelegate OnReachedJumpApex 最後に はじめに Characterクラスがブループリントに公開しているディスパッチャは4種類あります。意外と知られていないのでこの記事で紹介しま…

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

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

【UE4・UE5】〈Tips〉プレイヤーが任意の範囲にいるかどうかをチェックする簡単な方法

目次 はじめに 解説 前提 Is Overlapping Actor / Is Overlapping Component Component Overlap Actors / Get Overlapping Components 最後に はじめに ゲーム開発で求められる機能の中で、○○にいたら~するといった仕様は多く存在します。 例えば、 ・裏世…

【UE4・UE5】〈Tips〉キャラクターの移動に対して地面にブロック状の影やノイズが表示される場合の解決方法

目次 はじめに メモ ①操作しているキャラクターのスケルタルメッシュを開きます ②メッシュ->バウンドを開いてプレビューします ③アセット詳細->Boundsからカリングに利用されるBoundsを広げます 最後に はじめに キャラクターが移動した際に影が画像のように…

【UE4・UE5】〈Tips〉Windwos向けにマルチプレイの専用サーバーを立てるツールを公開しました

目次 はじめに 紹介 導入 使い方 最後に はじめに UEのマルチプレイには専用サーバー(Dedicated Server)を立ててそれにクライアントが接続する形のクライアントサーバーモデルの手法が存在します。 dev.epicgames.com 専用サーバーを立てる方法はいろいろ…

【UE4・UE5】〈Tips〉LevelSequenceでTextureRenderActorのフォントを更新するメモ

目次 はじめに メモ ①NewTextRenderComponentからイベント->トリガーを選びます。 ②更新したい時間にキーを打ちます。 ③キーのプロパティからSet Textをバインドします。 ④シーケンサーのDirectorBPにできた関数をリネーム(任意) ⑤キーのプロパティから更…

【UE4・UE5】〈Tips〉エンジンが提供している機能がどのバージョンから存在するのかを調べる方法

目次 はじめに 解説 ①UnrealEngineのリポジトリを見に行く ②知りたい機能を実装しているバージョンに指定する ③知りたい機能が書いてあるコードを探す ④バージョン別に見つかるかとコミットの特定 最後に はじめに アンリアルエンジンのバージョン更新頻度は…

【UE4・UE5】〈Tips〉RiderでMicrosoft.Cpp.Default.propsが見つからない場合の対処法

目次 はじめに メモ ①設定を開く ②ツールセットとビルドを開く ③MSBuildバージョンをVSのパスに変更する 最後に はじめに RiderでUEプロジェクトをビルドしたときに以下のエラーが出た時の対処法メモ UECommon.props(15, 3): [MSB4019] インポートされたプロ…

【UE4・UE5】〈Tips〉World設定のウィジェットコンポーネントのCastShadowを切る方法

目次 はじめに メモ 最後に はじめに SkeletalMeshやStaticMeshにはCastShadowという影の表示をしない設定がありますが、WidgetComponentには設定が存在しません。Worldスペースで配置したUIが影の影響を受けてほしくないときもあるので、設定についてメモを…

【UE4・UE5】〈Tips〉プロジェクト配布あり。本格的なミニマップを0から作ろう!

目次 はじめに 解説 ①ミニマップのアイコンに表示可能なアクタ向けのインターフェースを作成 関数GetMiniMapInfo 関数GetbMiniMapDisplayable 関数OverridebMiniMapDisplayable ②ミニマップアイコンウィジェットの情報を渡すインターフェースを作成 関数SetM…

【UE4・UE5】〈Tips〉コンポーネントに依存しない、CameraManagerを利用して視点の先を取得する。

目次 はじめに 解説 CamraraManagerを使わない気合実装 CamraraManagerを利用した実装 結論 最後に はじめに プレイヤーの注視点を取得する方法には、 キャラクターの持つコンポーネントベースにフォワードベクトルを取得するものがあります。 しかし、これ…

【UE5】〈Tips〉Windowsビルドした実行ファイルがD3D12Util.cpp] [Line: 998] D3D12RayTracing.cpp:663 with error E_INVALIDARG でクラッシュする問題

目次 はじめに メモ ・解決策①-Lumenのレイトレを無効化する。 ・解決策②-.upipelinecacheを削除する。 最後に はじめに UE5.5でビルドしたパッケージがゲーム起動時に以下のログでクラッシュする問題が解決できたので、その方法についてメモを残します。 Lo…

【UE4・UE5】〈Tips〉ウィジェットのボタンOnPressedとOnClickedの違い

目次 はじめに 解説 検証環境 結果 結論 最後に はじめに ウィジェットブループリントにおけるボタンの入力取得にはOnPressedとOnClickedの二つが存在します。これらの違いは何なのか調査しました。 個人の備忘録としてまとめています。誤った情報がある場合…

【UE5】〈Tips〉Splineで変形したメッシュをStaticMeshに変換する方法

目次 はじめに 解説 SplineMeshを利用したメッシュの作成 変換 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 UE5.4.4 解説 SplineMeshを利用したメッシュの作成 スプラ…

【UE4・UE5】〈Tips〉SNS画面のようにScrollBoxに上から要素を追加する方法

目次 はじめに 解説 事前準備 本題 スクロールボックスの上から追加 最後に はじめに UIウィジェットのScrollBoxには追加を行う時にしたから行います。そのためSNSのように上から追加したい場合は少し工夫が必要です。 個人の備忘録としてまとめています。誤…

【UE4・UE5】〈Tips〉UIでコンテンツ比率を固定し範囲外に黒帯を入れる階層設定

目次 はじめに 解説 それぞれの設定 背景イメージ スケールボックス1 スケールボックス2 キャンバスパネル 最後に はじめに UIウィジェットの階層にはキャンパスパネルやスケールボックスなど様々なレイヤーがあります。毎回作成するときに迷うので多く使わ…

【UE4・UE5・UEFN】〈Tips〉マテリアルのUVでスケールするときに原点を調整する方法

目次 はじめに 解説 共通条件 ①左上を基準にスケール ②右上を基準にスケール ③右下を基準にスケール ④左下を基準にスケール ⑤中央を基準にスケール まとめ オマケ 最後に はじめに 今回はマテリアルでスケールを行う場合、原点座標を変更する方法について解…

【UE4・UE5・UEFN】〈Tips〉マテリアルだけで色相を変更しよう!HueShiftの使い方

目次 はじめに 解説 ①色相変更ノードHueShift 0 変化なし。 0.25 もしくは -0.75 赤を基準としたカラーピッカーの真下。 0.5 もしくは -0.5 赤を基準とした反対 0.75 もしは-0.25 赤を基準とした真上 1 もしくは -1 一周したので同じ色 まとめ ②応用してみる…

【UE5】〈Tips〉EditorUtilityTaskでツールの進捗状況を更新する方法

目次 はじめに 解説 ①アセットアクションユーティリティーの作成 ②関数の追加 ③EditorUtilityTaskの作成 ④EditorUtilityTaskの呼び出し ⑤進捗の表示 ⑥オマケ: タスクの表示名を変更する 最後に はじめに この記事はブループリントオンリーです。 エディタユ…

【UE4・UE5】〈Tips〉ブループリントでCastを利用せずにそのアセットが指定のクラスかどうか確かめる方法

目次 はじめに 説明 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 UE5.4.3 説明 エディタユーティリティなどで、選択されたアセットが任意のものか検証するにはCastす…

【UE4・UE5】〈Tips〉検証 - BP の Switch と Select ノードはどちらが軽いか??

目次 はじめに 解説 事前準備 Switch Select 検証① - エディタからUnrealInsightsで比較 検証② - デベロップメントビルドで古いAndroid端末で確認 検証③ 処理が重い場合 Switch Select 最後に はじめに ブループリントを組むときに用いるSelectやSwitchノー…

【UE4・UE5】〈Tips〉ブループリント論理演算チートシート AND/OR/XOR~

目次 はじめに 解説 一覧 AND NAND OR NOR XOR NOT オマケ ToBoolean(Integer) 最後に はじめに この記事はブループリントで利用できるブーリアン系の演算についてまとめます。 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメ…

【UE4・UE5】〈Tips〉ActorComponentでキャラクターの足跡と足音を自動化しよう

目次 はじめに 解説 ⓪事前準備 ①ActorComponentの作成 ②変数の追加 ③関数の追加 ④イベントグラフの実装 ⑤使ってみよう 最後に はじめに この記事はブループリントオンリーです。 キャラクターに足跡を付ける方法はデカールを利用してアニメーション通知をき…