Unreal EngineのC++に慣れたかったのと
エディタ拡張、プラグイン開発について学びたかったため
「C++でつくるUnreal Engineアプリ開発 for Windows & macOS 〜初歩からプラグイン開発まで〜」
を読みました。
各チャプターで行ったことや学べたこと、
知れてよかったことなどを備忘録として残しておきます。
Unreal Engineのバージョンは5.0.3で行いました。
- Chapter1 本書を読む前に
- Chapter2 Unreal Engine基礎知識の確認
- Chapter3 UE C++の概要
- Chapter4 UE C++オブジェクト
- Chapter5 UE C++ライブラリ
- Chapter6 標準C++との連携
- Chapter7 プラグイン、Chapter8 ファイル入出力プラグイン作成
- Chapter9 OpenCV利用プラグイン作例
- Chapter10 エディタモード追加プラグイン作例
- 終わりに
Chapter1 本書を読む前に
C++を使うメリットやこの書籍を読み進めるにあたって
必要となる事前知識について。
後のChapterでクラスや参照、ポインタの話や
削除のタイミングの話(GC)があったので
これらは事前に知っておいたほうが良さそうでした。
自分はこの本を読む前に「基礎からしっかり学ぶC++の教科書」
と「独習C++」
と Unreal Engine 5から始める C++ & Blueprintを読んでいたので
そこまで詰まりはしませんでした。
Chapter2 Unreal Engine基礎知識の確認
- マップ、レベル、アクタの関係など
- Blueprintのクラスや構造体、イベント、変数をさらっと確認
- プロジェクトディレクトリ構成について
プロジェクトディレクトリ構成の解説が
とても助かりました。
このおかげでどれがの何のディレクトリで
何が入っているかがわかるようになりました。
Chapter3 UE C++の概要
UEでのC++のヘッダファイルの解説や
UPROPERTY、UFUNCTIONを使ってBPに公開するなど。
Chapter4 UE C++オブジェクト
このChapterでは
「bool型はレベルエディタとBPから読み書き可能」
「int8はレベルエディタから読み書き可能、BPからは不可能」
などがまとまっている表と
「動的マルチキャストデリゲートはBPと連携可能」
「その他のデリゲートは不可」
がまとまっている表が良かったです。
Chapter5 UE C++ライブラリ
- アクタやアクタコンポーネントの生成
- TArray、TMap
- 非同期処理、並列処理
非同期処理・並列処理の説明は理解しきれなかったので
また使うときに学び直します。
Chapter6 標準C++との連携
静的ライブラリ・動的ライブラリの作成と配置、
利用の方法を学びました。
Chapter7 プラグイン、Chapter8 ファイル入出力プラグイン作成
Chapter7でプラグインのファイル構成の説明と
プラグインの作成を行い
Chapter8でボタンを押すとレベル上の
StaticMeshActorの名前、位置、回転の値を
取得してCSV形式で書き出すプラグインを作成しました。
レベル上のActorを取得する方法とUEでのファイルの読み書きする
方法を知れたのが良かったです。
詰まったこと
本書の動作確認環境がUE4.18のところを
UE5で行ったためうまくいかないことがありました。
下記の記事が対処した方法です。
【UE5】C++でつくるUnreal Engineアプリ開発のChapter8で詰まったことと解決法 - Meiryo’s blog
Chapter9 OpenCV利用プラグイン作例
このChapterはOpenCVのことを何も知らないため飛ばしました。
Chapter10 エディタモード追加プラグイン作例
このChapterは終えるのにかなり時間がかかりそうだったので
飛ばしました。
終わりに
非同期処理、並列処理とChapter9,10は飛ばしましたが
それでも得たものとできるようになったことが増えたので
読んで良かったです。