main() blog

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

プログラミング

【UE5】自動テストツールを使ってみよう!

概要 動作環境 自動テストの有効化 テストの追加方法 C++実装 簡易テスト(SimpleTest) 複合テスト(ComplexTest) コマンド(LatentCommand) 独自のコマンドの追加方法 パッケージ環境での自動テストの実行方法 参考 概要 UEでは自動テストを行う環境、ツ…

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

概要 動作環境 実装 データの作成 CSVへエクスポート CSVからのインポート C++で参照する方法 LocalizationDashboard 要検討 参考 概要 テキストデータを扱う場合、ローカライズなども考慮する必要があります。 DataTableで作成することも考えましたが、ロー…

【UE5】プラグインを作成してみよう!

概要 動作環境 作成手順 参考 概要 UE4のプラグインは機能拡張のためにモジュールを追加することができます。 プロジェクト側でプラグインとしてモジュールを分けることはプロジェクト側(ゲーム側)依存を減らし、そのモジュールの独立性を高めることができ…

【UE5】C++でクラスを追加する際にClass Typeを指定しない場合のインクルードパスの指定について

概要 動作環境 Class Typeを指定した場合 Class Typeを指定しない場合 参考 概要 C++のクラスを追加する際にUEの推奨の場合、Class TypeでPublic、Privateを指定する必要があります。 Class Typeを指定した場合、Public、Privateのフォルダが作成され、ヘッ…

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

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

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

概要 データテーブルは、構造化データを整理するためのテーブル形式のデータ構造です。 前回はデータテーブルの定義の方法やデータの作成方法などを紹介しました。 www.main-function.com 今回はどういう型が使用できるかなどをまとめてみました。 ※本記事は…

【UE5】UnrealEngine5をソースからビルドしてみよう!

概要 動作環境 事前準備 UnrealEngineのアカウントとGitHubのアカウントを関連付ける GitHubからソースを取得する Setup.batの実行 ソリューションファイルの生成 ビルド 起動 VisualStudioの設定 参考 概要 UnrealEngine5のソースを取得してビルドする方法…

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

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

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

概要 環境 実装 クラス定義 生成 データをセーブする(非同期) データをロードする(非同期) データをセーブする(同期) データをロードする(同期) 概要 SaveGameは、ゲームの状態を保存し、読み込むためのシステムです。 SaveGameを使用することで、プ…

【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などで実装すると追加…

【Xcode】実行時に必要なdylibなどをコピーする方法

GLEWやSDLなどのライブラリをdylibでプロジェクトに組み込んだ場合、 Xcodeで実行するに際に実行ファイルと同じ場所にdylibがないと実行時にエラーになる。 そのような場合にXcodeで実行時に実行ファイルと同じフォルダにdylibをコピーするには以下の方法で…

【Xcode】実行時の作業ディレクトリの変更方法

Xcodeでデバッガで実行した際のファイルの読み込みの作業ディレクトリは以下の方法で変更できる。 1.Xcodeのメニューバーの [Product] → [Scheme] → [Edit Scheme] を開く。 2.[Run] の [Options] を選択。 3.その中のWorking Directory の Use custom worki…

【Xcode】ARCの有効/無効を設定する方法

Xcodeはデフォルトでプロジェクト全体の設定でARCが有効になっている。 ファイル単位でARCの設定を行う プロジェクト内で特定のファイルのみARCの設定を変更したい場合、以下の設定を行う。 1.各ファイルの [Build Phase] → [Compile Source] を開く 2.ARCを…

CoderDojo千葉 2018.2活動報告!

タケゾーです。 2月のCoderDojo千葉に参加しました。 インフルエンザが流行っているせいか欠席者も出ているようでした。 今回は初参加は1組、経験者は4組でした。 CoderDojoとは? CoderDojo とはアイルランドから始まったムーブメントです。ボランティア…

CoderDojo千葉県合同企画『幕張プレゼンテーションDay』に参加しました!

今回のCoderDojoは千葉県合同企画『幕張プレゼンテーションDay』として千葉県にある各CoderDojoが一堂に会するして各DojoのNinjaたちが今までに作成した作品を発表しようというイベントが行われました。 幕張にある『幕張BASE☓LIBRARY』というカフェなどが併…

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

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

CoderDojo千葉 2017.9 活動報告!

タケゾーです。 今月もCoderDojo千葉に参加しました。 台風18号の影響で開催が危ぶまれましたが、何とか開催出来ました。 午前中もまだ強風ではありましたが多くの方が参加してくれていました。 CoderDojoとは? CoderDojo とはアイルランドから始まったムー…

CoderDojo千葉 2017.8活動報告!

今月もCoderDojoに参加しました。 今回もメンターとしての参加です。 CoderDojoとは? CoderDojo とはアイルランドから始まったムーブメントです。ボランティアと小中学生が一緒になり、プログラミングにはげむ「道場」です。 coderdojo.jp メンターと呼ばれ…

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

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

CoderDojo千葉(2017.7)に参加しました!

今月もCoderDojo千葉に参加しました。 今回からはメンターとして参加です。 初めての人が4組。 それ以外が6組来てました。 午前の部はScratchを使ってのプログラム学習となっています。 最初のレクチャーでは自キャラを動かすところまで教えますが、その後…

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

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

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

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

【Unity】Unityで覚えるC#(不定期更新)

はじめに Unityを始めるにあたりそもそもC#も触っていなかったので基本的な言語仕様や構文等のスタディの備忘録を付けておきます。 C#固有、Unity固有の何かがあればそれもメモしていきます。

『CoderDojo 千葉』に参加しました!

今日はCoderDojo千葉に参加しました。 CoderDojo とはアイルランドから始まったムーブメントです。ボランティアと小中学生が一緒になり、プログラミングにはげむ「道場」です。 coderdojo.jp メンターと呼ばれるボランティアの人がいますが、基本的には手取…

バグを出さないプログラマになるための「心得」

1.はじめに 長年コンシューマゲーム開発に携わってきた中で毎回思うことがある。 開発の終盤には必ずテストプレイが行われ、毎回大量のバグと闘っている。 なぜ大量のバグが出ているのか、どうしたら大量のバグが出なくなるのかについて考え、まとめてみるこ…

【記憶のゴミ箱】MZ-80Cと将来の夢

あの「MZ-80C」が手のひらサイズで復活!? ハル研究所から「PasoconMini MZ-80C」という新商品が発売されるとのニュースをネットで見かけた。 www.pcmini.jp 流石に手のひらサイズでキーボードもディスプレイも、そもそもテープレコーダーもどうするんだ?…