とあるゲームプログラマの挑戦と敗北の歴史

UE4とプログラミングとmayaとpythonとhtmlとマラソンを中心に情報を発信する元「技術ブログを目指すブログ」から再始動した毎日の日々を発信するブログです。

UE4:オンラインラーニング(プログラミングキックスタート )

UE4オンラインラーニング
プログラミングキックスタート
を受講した際のおぼえ書きです。
https://learn.unrealengine.com/course/3589925



UObject
ガベージシステムにより管理されます。


AActor
レベルに配置できるもの、位置情報を持つ。配置できるものはアクター


Components
アクターに機能を追加するもの



Gameなんちゃら
PlayerStateはスコアやライフなどを持つ
GameInstanceはレベル間でデータを引き継ぐ
GameModeはサーバーにのみ存在 クライアントはアクセスできない
GameStateはゲームの状態を格納



モジュールの分割
分割することで次回のプロジェクトで利用できる



Live++の利用
エディタ実行中にコンパイルできる



プラグインの利用
可能な限りプラグインを利用すること



エンジンの改造
エンジンの変更は可能な限り避けること。



共有するもの
Binaries Config Content Source フォルダはプロジェクト全体で共有する必要がある。
実行ファイルはプログラマにより更新できる必要がある。



学び方
BP→C++



FTextの利用
FTextを利用することでローカライズしやすい。
ローカライズはテキスト、アセットのすべてが対応できる。


Specifiersの利用
BlueprintPure(実行ピンを消せる)
f:id:toncrimentan_w:20210113152735p:plain
BlueprintType(構造体を分割できる)
f:id:toncrimentan_w:20210113152745p:plain
EditInlineNew / Instanced(エディタで編集できる)
CallInEditor
f:id:toncrimentan_w:20210113152800p:plain



Tickの利用
Tickの利用は避ける必要がある
デフォルトでの無効にすることもできるし、
インターバルを変更することもできる
f:id:toncrimentan_w:20210113152618p:plain



ConstructorHelpersの利用
ConstructorHelpers::FObjectFinder<>を利用することで起動後
すぐにアセットをロードすることができる。常駐。
DAsset UAsset を利用して必要な時だけ読む方法がある(?)



DevelopmentOnlyの利用
DevelopmentOnlyを利用することで開発時のみ実行できるノードを作れる
例:PrintString