ゲーム開発備忘録

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

【Houdini】〈Tips〉ポイントを偶数奇数で分離する方法

目次 はじめに 方法 最後に はじめに Houdiniを使っていてよく使う機能を備忘録としてまとめています。 誤った情報がある場合があります。コメントにてご指摘のほどお願いいたします。 方法 Vex内で @ptnum%2==0 でポイントの余りが0の時の条件分岐を行いま…

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

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

【Houdini】〈Tips〉ポリゴンの分割を行うPolySplitの使い方

目次 はじめに 基本的な使い方 便利な使い方 最後に はじめに Houdiniを使っていてよく使う機能を備忘録としてまとめています。 誤った情報がある場合があります。コメントにてご指摘のほどお願いいたします。 この記事はAlcheStudioでのHoudini勉強会でのデ…

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

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

【Houdini】〈Tips〉VEXでグループの作り方

目次 はじめに 方法 最後に はじめに Houdiniを使っていてよく使う機能を備忘録としてまとめています。 誤った情報がある場合があります。コメントにてご指摘のほどお願いいたします。 この記事は以下のフォーラムを参考にしています。 www.sidefx.com 方法 …

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

【ESP32】A fatal error occurred: MD5 of file does not match data in flash!←このエラーで書き込めなくなった時の対処法

目次 はじめに 対処法 ①Pythonのインストール ②ESPToolのインストール ③通信ポートの確認 ④フラッシュステータスレジスタの書き換え ⑤Arduinoから書き込み 最後に Aideepen 2個 ESP32 ESP-32S 開発ボード 2.4GHz CP2102へMicro USB、Tensilica LX6デュアルコ…

【UE4・UE5】〈Tips〉HPやスコアで使える!カウントが自然に減ったり増えたりする仕組みを作ってみよう

目次 はじめに 解説 ⓪事前準備 ①補間の作成 最後に はじめに タイマーが0になったり、ダメージを受けたりする表現を作るときに一瞬で数値が変化するのではなく値が急速に減っていく表現があります。 今回はそのテキストの実装例をまとめましたので参考にな…

【UE4・UE5】〈Tips〉日本一わかりやすくNiagaraでスパーク(火花)エフェクトを作ってみる

目次 はじめに 解説 ⓪ナイアガラの概要 ①ナイアガラエミッタの作成 ②環境設定 ③ナイアガラエミッタの編集 1.いっぱいパーティクルを出してみる 2.もっと拡散するようにする 3.光の筋を変形させる 4.カラーを変更してみる 5.当たり判定を追加する ④ナイアガラ…

【UE4・UE5】〈Tips〉ヒット時のダメージを数字で出してみよう

目次 はじめに 解説 ①ダメージテキストブループリントの作成 ②テキストウィジェットの作成 ③BP_DamageTextにウィジェットの適応 ④スポーン設定 ⑤+α 当たったものに応じてテキストを変更する 最後に はじめに FPSやTPSでよくあるダメージ表示を数字で出す方…

【UE4・UE5】〈Tips〉もっと!諦めないで!出し方が分かりづらいマテリアルノード集

目次 はじめに 分かりづらいマテリアルノード集 Mask Lerp ワールド位置系 定数 パラメータ マテリアルパラメータコレクション 最後に はじめに ビギナー向けに初見殺しのマテリアルノードの出し方を備忘録としてまとめてみました。 この記事、、過去の自分…

【UE4・UE5】〈Tips〉諦めないで!分かりづらいブループリントノード集&知ってると幸せになれる小技

目次 はじめに 分かりづらいノード集 IsValid 検証済みゲット 構造体の分解 ピンの型の変更 動作しないForEachLoop系 小技集 関数内でつながないインプット変数の取得 インクリメント・デクリメント 配列を直接刺す マルチゲートを活用したフロー制御 入力イ…

【ゼロからアンリアルエンジン5】〔アイテム編〕⑩Ap●x風のインベントリ画面を実装しよう!~クイックソートでアイテムを自動整理する~

目次 はじめに 解説 ①アイテム順番の決定 ②ST_ItemInfoの追加 ③クイックソートの関数を作成 ④SortItemDataの編集 最後に はじめに 前回の続きです。 namiton.hatenablog.jp この記事ではアルゴリズムのクイックソートを使用してアイテムの自動整理を実装しま…

【ゼロからアンリアルエンジン5】〔アイテム編〕⑨Ap●x風のインベントリ画面を実装しよう!~アイテムのドロップ~

目次 はじめに 解説 ①アイコンを押されたイベントの検出 ②アイテム情報の更新 ③自動で詰めるようにしよう ④アイテムをドロップする ⑤アイテム用のコリジョン設定 最後に はじめに 前回の続きです。 namiton.hatenablog.jp 以前同じような内容の記事を書いて…

【ゼロからアンリアルエンジン5】〔アイテム編〕⑧Ap●x風のインベントリ画面を実装しよう!~取得アイテムの表示~

目次 はじめに 解説 ①アイテムウィジェットの作成 ②アイテムスロットウィジェットの作成 ③WBP_Inventoryの配置範囲の確認 ④WBP_Itemに情報をセットする ⑤WBP_Inventoryにイベントの作成 ⑥BP_FirstPersonCharacterにアイテム配列の作成 ⑦スロット確認用の関数…

【ゼロからアンリアルエンジン5】〔アイテム編〕⑦Ap●x風のインベントリ画面を実装しよう!~ウィジェットの作成と表示非表示~

目次 はじめに 解説 ①InventoryUIの作成 ②インベントリ画面への切り替えアクションの登録 ③インベントリ画面への切り替え表示の実装 ④+α1 UIを動かしてリッチにみせる ⑤+α2 カーソルアイコンを変更してみる 最後に はじめに 前回の続きです。 namiton.hate…

【UE4・UE5】〈Tips〉銃のリコイルパターン(反動)をカーブアセットでサクッと実装してみる

目次 はじめに 解説 ⓪事前準備 1.とりあえず連射できるようにする 2.弾をライントレースに変更する ①リコイルシステムの実装 ②リコイルパターンのカーブを作成 ③カーブをリコイルに反映する 最後に はじめに 今回は銃を撃った時のリコイルパターンを実装して…

【ゼロからアンリアルエンジン5】〔アイテム編〕⑥Ap●x風のHUDを実装しよう!~レティクルと武器情報~

目次 はじめに 解説 ①HUDUIの作成 ②表示してみる。 ③クロスヘアのスケールと切替 ④武器情報の更新 最後に はじめに 前回の続きです。 namiton.hatenablog.jp ▼この記事でできること 解説 ①HUDUIの作成 ウィジェットブループリントからWBP_HUDを作成します。 …

【ゼロからアンリアルエンジン5】〔アイテム編〕⑤武器チェンジと非表示を実装しよう!

目次 はじめに 解説 ①アクションマッピングの追加 ②武器チェンジシステムの実装(キー入力) ③武器チェンジシステムの実装(マウスホイール) ④+α 武器をしまっているときは移動速度を早くしてみる 最後に はじめに 前回の続きです。 namiton.hatenablog.jp …

【UE4・UE5】〈Tips〉使わないのはもったいない!ブループリントインターフェースを日本一分かりやすく解説する試み

目次 はじめに 解説 ⓪インターフェースという機能の概要 ①インターフェースを作成する ②インターフェースを編集する。 ③アクション対象のブループリントの作成 ④インターフェースの実装 ⑤一番近いアクタの検索 ⑥インターフェース経由で呼び出してみよう 最後…

【ゼロからアンリアルエンジン5】〔アイテム編〕④武器インベントリシステムと射撃システムを作ろう

目次 はじめに 解説 ⓪アイテムベースの更新 BP_ItemBaseの更新 BP_ItemAmmo(子)の更新 ①アクションマッピングの追加 ②BP_FirstPersonCharacterの編集 ③銃インベントリ用の変数を作成 ④BP_GunBaseの編集 ⑤銃用の変数を作成 ⑥射撃の実装 最後に はじめに 前…

【ゼロからアンリアルエンジン5】〔アイテム編〕③Ap●x風にアイテムを拾う+銃を装備できるようにしよう!

目次 はじめに 解説 ①アクションマッピングの追加 ②BP_FirstPersonCharacterの編集 ③BP_ItemBaseの編集 ④銃用のベースブループリントの作成 ⑤銃用のインターフェースを作成 ⑥BP_GunBaseの編集 ⑦銃の作成 ⑧銃を持てるようにする 最後に はじめに 前回の続きで…

【ゼロからアンリアルエンジン5】〔アイテム編〕②Ap●xLegends風のアイテム情報のUIを作成してみる

目次 はじめに 解説 ①ウィジェットの作成 ②ST_ItemInfoに追加 ③ウィジェットに表示系のイベントを追加 ④BP_FirstPersonCharacterの編集 ⑤アイコンを変更する ⑥調整+表示位置をアイテムに依存させる ⑦ついでにアニメーションしてみる ウィジェットデザイン詳…