ゲーム開発備忘録

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

UnrealEngine-UE5

【UE4・UE5】〈Tips〉レベル名を使わずに現在のレベルを開きなおすコマンド

目次 メモ 最後に メモ レベル開きなおすときにレベル名入れるのめんどくさいですよね。 そんな時は以下で解決です。Editor/DevPackageで確認済み。Shippingは未確認です。 RestartLevel BPからはこのように使えます。 最後に UE4やUE5向けの記事を書いてい…

【UE4・UE5】〈Tips〉実はつながなくても良い!?知ってると得するTimelineノードのミニTips

目次 Tips 最後に Tips みんな※当社比 大好きTimelineノードですが、、 TimelineノードのPlayやPlay from Start、Stopなどのイベントピンはつながなくても使えます。 Timelineノードを配置するとコンポーネントが追加されたときと同じようにそのタイムライン…

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

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

【UE5】〈Tips〉UE5.6でMagick.NET-Q16-HDRI-AnyCPU' 14.7.0 has a known high severity vulnerabilityで失敗する問題の対処法

目次 はじめに メモ 結論Magick.NET-Q16-HDRI-AnyCPU' 14.7.0を14.8.2にあげると治る ①エンジンのソースパスにいく ②RiderやVisualStudioでNuGetのPackage管理画面から更新 最後に はじめに UE5でビルド時にしたときに以下のようなメッセージと共にビルド不…

【UE5】〈Tips〉パッケージ済みの開発向けソフトをUnrealInsightsでデバッグする方法

目次 はじめに 解説 ① PCで UnrealInsights を起動 ② PCで Developmentビルドのexeを起動 ③ 途中から記録する方法 最後に はじめに 今回はWindowsでパッケージングしたUE5のアプリケーションをUnrealInsightsを接続する方法について解説します。 これにより…

【UE4・UE5】〈Tips〉はみ出た文字を自動でスクロールさせるUIを作ってみる

目次 はじめに 解説 ⓪ Widgetの用意 ① ScrollBoxでラップする ② 実装の追加 最後に はじめに 音楽アプリのように長い文字を自動で流す仕組みを作ります。 マテリアルを利用する方法もありますが、なるべくシンプルで拡張性が高い方法を模索したので紹介しま…

【UE4・UE5】〈Tips〉RichTextでテキストの一部を変えたり画像を埋め込む方法

目次 はじめに 解説 ⓪ Widgetの用意 ① Rich Text Blockの追加 ② Textを表示できるようにする 1 - Rich Text Block の作成 - 2 - Rich Text Block の編集 - 3 - Rich Text Block の登録と使い方 - 4 - 部分的なStyleの変更 - ③ Textに画像を表示できるように…

【UE5】〈Tips〉UE5.6でローカライズのテキスト収集時に.manifestの取得で失敗する問題の対処法

目次 はじめに メモ 結論UE5.5のEditor.manifestとEngine.manifestファイルをUE5.6のフォルダに突っ込むと解決する ①エンジンのパスにいく ②UE5.5のEditor.manifestとEngine.manifestをコピー ③UE5.6へ貼り付け 最後に はじめに UE5.6でローカライゼーション…

【UE4・UE5】〈Tips〉そのPrintString必要?デバッグに便利なブループリントデバッガで値を監視しよう

目次 はじめに 解説 ①ブループリントデバッガを開く ②ゲームの実行と監視対象の指定 ③値の監視 最後に はじめに ゲーム制作において不具合やパラメータ調整で値を確認するときに多用されるPrintStringノードですが、毎回デバッグ目的のPrintStringノードを置…

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

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

【UE5】〈Tips〉UE5.6でライティングビルド時にFailed to initialize Swarmで失敗する問題の対処法

目次 はじめに メモ 結論UE5.5のDotNET ファイルをUE5.6のフォルダに突っ込むと解決する ①エンジンのパスにいく ②UE5.5のDotNETフォルダごとコピー 最後に はじめに UE5でライティングビルドをしたときに以下のようなメッセージと共に進行不能になる問題があ…

【UE4・UE5】〈Tips〉シーケンサーから生成済みウィジェットに対してイベントを発火する簡単な方法

目次 はじめに 解説 ⓪方針 ①UIにイベントの追加 ②PlayerControllerにイベントの追加 ③シーケンサーとの連携 - イベントブリッジ - 最後に はじめに ゲームではときにシーケンサーからではなく、既にAddToViewportされたUIに対してシーケンサーからイベントを…

【UE4・UE5】〈Tips〉EnhancedInputを使って長押し処理を簡単に作る方法

目次 はじめに 解説 ①InputActionの定義 ②InputMappingContextへの登録 ③BPへの実装 ④オマケ UIとの連携 最後に はじめに 個人の備忘録としてまとめています。誤った情報がある場合があります。 コメントにてご指摘のほどお願いいたします。 UE5.6で解説しま…

【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〉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] インポートされたプロ…