Meiryo’s blog

やってみて詰まったことを備忘録として残すブログ

【感想】C++でつくるUnreal Engineアプリ開発〜初歩からプラグイン開発まで〜を読んで

Unreal EngineC++に慣れたかったのと
エディタ拡張、プラグイン開発について学びたかったため
C++でつくるUnreal Engineアプリ開発 for Windows & macOS 〜初歩からプラグイン開発まで〜」
を読みました。

各チャプターで行ったことや学べたこと、
知れてよかったことなどを備忘録として残しておきます。

Unreal Engineのバージョンは5.0.3で行いました。

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++オブジェクト

  • UEでのC++のクラス、構造体、列挙型の説明と作り方
  • コールバック
  • クラスの宣言、生成、GCの話

このChapterでは
「bool型はレベルエディタとBPから読み書き可能」
「int8はレベルエディタから読み書き可能、BPからは不可能」
などがまとまっている表と
「動的マルチキャストデリゲートはBPと連携可能」
「その他のデリゲートは不可」
がまとまっている表が良かったです。

Chapter5 UE C++ライブラリ

非同期処理・並列処理の説明は理解しきれなかったので
また使うときに学び直します。

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は飛ばしましたが
それでも得たものとできるようになったことが増えたので
読んで良かったです。