SlideShare a Scribd company logo
2019/09/04 C++Mix #5 :akoto
自己紹介
 名前 : akoto
 Twiiter : _akoto_
 お仕事 : UE4エンジニア
 スマホのゲーム会社から
転職してアニメ会社に勤めて、
UE4がお仕事になりました。
今回は、そこの過程で躓いた事を、
共有します。
1
お品書き
 対象者説明
 Unreal C++とは
 Unreal C++扱うまでの経緯
 躓きTips①(情報収集)
 躓きTips②(ビルド)
 躓きTips③(バージョン)
 躓きTips④(.generated.h)
 躓きTips⑤(エディタ)
 躓きTips⑥(マクロ)
 まとめ
2
対象者説明
 Unreal Engine4は、扱えるがUnreal C++
を書いた事が無い
 C++は書けるので、Unreal Engine4で機
能拡張を色々やりたい
※ 資料は、後日アップロードする予定です
3
Unreal C++とは
 Unreal Engine4で、機能拡張を行う為の
C++を拡張した言語
 最新のリリースバージョンの4.22では、
Visual Studio 2019に対応しており、
C++17サポートされている
https://www.unrealengine.com/ja/blog/unre
al-engine-4-22-released
4
Unreal C++を扱うまでの経緯
 新しく務めた仕事先が、Unreal Engine
で映像コンテンツを作っていた
 しかし、実験的に使っている事もあり、
Unreal Engineの技術に明るい人が居な
い
 しかも、Unreal Engineが提供していな
い機能が必要になった(サポート/プラグ
イン)ので覚えないと!
5
躓きTips①(情報収集)
 断片的な情報しかない
 ピンポイントのプログラムの説明が見かけ
るが、ゼロからC++プログジェクトを作っ
ている情報は無かった為、知識の間を補間
するのに苦労した
解決
良本に出合った「C++でつくるUnreal
Engineアプリ開発 for Windows & macOS 〜
初歩からプラグイン開発まで〜」
6
躓きTips②(ビルド)
 ビルドが辛い
 Slateという記法を独特。エディタの機能拡
張する場合は、「ウィジットリフレクタ」
を使う
 作成した同名のクラスの「.h」「.cpp」を
作成すると思うが、cppで、クラス名の.h
が一番上じゃないとビルドエラーになる
解決
失敗をしつつお作法として学んだ
7
ウィジットリフレクタ
8
ヘッダのビルドエラー
9
躓きTips③(バージョン)
 UE4のバージョンによって、対応している
Visual Studioのバージョンも違う。コンパ
イラが違えば、ビルドエラーになる
 必要によって、2015のRuntimeも入れる必
要があった
 コンパイルが通らないと、UE4のプロジェ
クトも開けなくなる
解決
できるだけシンプルな形にして、問題を切り
分ける
10
躓きTips④(.generated.h)
 C++のクラスを追加すると「クラス
名.generated.h」というファイルが作成
される
 このファイルが、再生成される条件が解
り難く、名前の変更やディレクトリの変
更でビルドがこける
解決
作成時のディレクトリ構成のままにする
11
躓きTips⑤(エディタ)
 Visual Studioが使い難い
 デフォルトだと宣言や定義に飛べない事も
多く、コードを細部まで追えない
 また、grepでエンジンコードも引っかかる
事がある為、目的のコードに辿りつけない
解決
「VISUAL ASSIST」を導入した
https://www.wholetomato.com/
12
VISUAL ASSIST
13
躓きTips⑥(マクロ)
 追加したクラスをnodeとして使う為、
マクロが多い
 マクロを書く位置にも意味があり、
nodeとして使う場合は、書いたコード
の前の行に書く必要がある
解決
お作法として学んだ
14
ヘッダに書かれたマクロ
15
まとめ
 Unreal C++は、情報は少なく慣れるま
でも時間がかかった
 お作法も多い為、こちらの参考書がとっ
かかり易かった
C++でつくるUnreal Engineアプリ開発 for Windows & macOS 〜初
歩からプラグイン開発まで〜
 機能拡張を行う場合は、エンジンコード
を解析する事も多く、VISUAL ASSIST
を導入をおすすめ
16

More Related Content

PPTX
UnrealBuildTool勉強会まとめ
PDF
UE4とUnrealC++について
PDF
PDF
なぜなにFProperty - 対応方法と改善点 -
PDF
2017年06月17 cluster. スライド
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
PDF
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
UnrealBuildTool勉強会まとめ
UE4とUnrealC++について
なぜなにFProperty - 対応方法と改善点 -
2017年06月17 cluster. スライド
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京

Similar to C++mix#5 (8)

PPTX
講義用Ppt windows女子部
PDF
PPTX
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
PPTX
ゲームエンジンの文法【UE4】No.003 最初のプロジェクト: UE4 Editorのインターフェイスを学ぶ
PDF
Unreal engine4ビギナー勉強会補講
講義用Ppt windows女子部
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
ゲームエンジンの文法【UE4】No.003 最初のプロジェクト: UE4 Editorのインターフェイスを学ぶ
Unreal engine4ビギナー勉強会補講
Ad

C++mix#5