main() blog

プログラムやゲーム、旅、愛する家族について綴っていきます。

ゲームエンジン

【UE5】コンソールコマンドを追加してみよう!

概要 動作環境 実装 概要 独自のコンソールコマンドの追加方法です。 FAutoConsoleCommandを使用することで簡単に追加することができるようです。 以前はCheatManagerを使用してコンソールコマンドの追加を行っていましたが、現在はこちらでの実装で行う方が…

【UE5】ImGuiを日本語対応してみよう!

概要 動作環境 フォントデータをソースに埋め込む 実行 参考 概要 ImGuiの日本語表示の対応方法についてです。 ImGuiはデフォルトでは日本語の表示が行えません。 ImGui側で機能はいろいろと用意されているので、プロジェクト側で対応していく必要があります…

【UE5】ダイス(サイコロ)クラスを作成してみよう!

概要 環境 クラス実装 動作確認 概要 3d6(6面ダイスを3個)やd20、d8+2等のダイスロールを行うクラスです。 文字列として"3d6"なども渡すこともできます。 "3D6"など大文字でも指定することができます。 "d6"などの最初のダイスの個数の省略や、"d6 + 1"な…

【UE5】BlueprintFunctionLibraryを使ってみよう!

概要 BlueprintFunctionLibraryはC++で作成した関数をブループリントで呼び出す場合に使用します。 ちょっとしたユーティリティクラスなどの関数をブループリントで呼び出すことができます。 環境 UnrealEngine 5.4.2 実装 ソースファイルの作成 ツール → 新…

【UE5】DataTableを使ってみよう!(C++編)

概要 環境 実装 構造体定義 DataTableの作成 データ入力 C++でデータの参照 BPでデータの参照 CSVにエクスポート CSVからインポート 概要 データテーブルは、構造化データを整理するためのテーブル形式のデータ構造です。 行と列からなり、各行は一つのレコ…

【UE5】Subsystem(サブシステム)を使ってみよう!

概要 環境 GameInstanceSubSystem Tick処理 Subsystemの初期化(依存) アクセス方法 参考 概要 特定のタイミングで管理(生成/破棄)されるインスタンスを作る仕組みです。 Enigne、Editor、GameInstance、World、LocalPlayerと同じライフサイクルで管理が…

【UE5】ImGuiを使ってみよう!

概要 環境 導入手順 確認 実装 関連記事 参考 概要 ImGuiはC++でシンプルなGUIを構築できるGUIフレームワークです。 ゲームのデバッグ用のUIを作成するのに大変有用なフレームワークです。 github.com UEでデバッグUIを実装するのにUMGなどで実装すると追加…

ゲームエンジンのプログラム構成の比較

はじめに ゲームエンジンや物理エンジン、ミドルウェアのコーディング規約やファイル命名規則など比較してみる。 論理構成(フォルダ構成やリソースの命名規則等も含めて)においても問題になってくる話。 以下の項目について確認していく。 バージョン ファ…

【UE4】UCharacterMovementComponentのAPIリファレンスを翻訳してみる

はじめに バージョンは4.17.0。 UCharacterMovementComponentはUE4でキャラクタを動かすために使用されるコンポーネント。 このコンポーネントを使って最後まで開発しているのだろうか? それとも独自で作るのだろうか? ここに関しては方々から色々な声が聞…

【UE4】GameMode、GameState、PlayerState、PlayerControllerの関連を確認してみる

GameModeとGameStateとPlayerStateの関連について再度確認してみる。 毎回、 「GameModeはサーバーだけにしかなくて、GameStateは各端末毎に生成されるんだっけ?」 「PlayerStateは?PlayerControllerは?」 とその都度確認しているので再度確認してみる。 …

【UE4】 UE4のカメラ揺らしの機能をもう少し掘り下げてみる

はじめに 自分がダメージを受けた際や、近くで爆発などが起きた際にカメラを揺らす演出はよく使用されます。 UE4ではカメラを揺らす機能が用意されていますが、実際に使用する際はいろいろと注意が必要そうです。 基本的な使用方法はhistoliaさんのブログで…

【UE4】エディタ実行とStandalone実行で挙動が異なる

UE4.16の環境。 SelectViewportやPIEなどエディタでの実行とStandaloneでの実行で挙動が異なる場合があり、 よくわからない不具合に悩まされたのでその時の現象と注意点についてです。

【UE4】UE4のエディタが激重!の解消方法

はじめに UE4.16.0の環境で確認している現象です。 UEのエディタでBlueprintを開いただけで下手したら数分PCが固まることがあります。 開いたBlueprintないで別の関数に移動するだけでも数分固まることもあります。 また、検索をかけると返ってくるまでにも…

【UE4】UnrealEngine4をソースからビルドする

UnrealEngine4のソースを取得してビルドする方法についてまとめました。 以下の項目については事前に準備しておく必要があります。 UnrealEngin4のアカウント登録 GitHubへのアカウント登録 Gitのインストール TortoiseGitのインストール VisualStudioのイン…

【UE4】ファイルスコープで宣言した変数、関数でビルドエラー

ファイルスコープや無名名前空間で変数や関数を宣言した場合、 異なるファイルで同名の変数や関数を宣言すると場合よってはビルドエラーになります。 Hoge1.cpp static const FText VFXSocketNamePrefix = FText("VFX_"); namespace { const float EnemyChec…