ここから記事に進化していく・・・はず。
TMap/TSetのデバッグ
プラグイン追加時の警告
UnrealBuildTool: Warning: Plugin 'A' does not list plugin 'B' as a dependency, but module 'A' depends on 'B'
プラグイン「A」はプラグイン「B」を依存関係としてリストしていませんが、モジュール「A」は「B」に依存しています。
.upluginへの依存関係リストの追加漏れが原因。
https://answers.unrealengine.com/questions/704619/unrealbuildtool-dependancy-warning.html?sort=oldest
UnrealFrontEndのプロファイルをコピーしたい
[UE4] Custom Launch Profile を複製する方法
UE4のカメラ操作のpanの反転(maya)
[編集] -> [エディタの環境設定] -> [ビューポート] -> [Invert Middle Mouse Pan]
#Unreal Header Toolはbool配列をサポートしていない?
UPROPERTYを伴って宣言するとUnreal Header Toolはエラーを吐く。
UPROPERTY(BlueprintReadOnly)
bool clear[100];
Bool arrays are not allowed.
というエラーが出る。
同じ名前のオブジェクト作ったら強制終了するお話
[Bug] Objects have the same fully qualified name but different paths.
#SEGAさんのTIPs
20年オヤジのUnreal Engine 4 TIPS
Optimizing Unreal Engine 4’s async file IO thread.
https://pzurita.wordpress.com/2014/06/30/optimizing-unreal-engine-4s-async-file-io-thread/
そのうち読む。読むんや。しんどそうだけど…。
ウィジェットにドラッグした時の反応を入れたい
https://dawnarc.com/2018/11/ue4umghow-to-drag-item-to-scrollbox-using-c-/
https://github.com/absentje/UE4/blob/master/RTS_Game/Source/RTS_Game/Private/UI/Inventory/ItemDrag.cpp
https://github.com/absentje/UE4/blob/master/RTS_Game/Source/RTS_Game/Private/UI/Inventory/ItemSlotWidget.cpp
https://docs.unrealengine.com/ja/Engine/UMG/HowTo/DragAndDrop/OnDragDetected/index.html
UE4エディタ拡張でプログレスバー
UE4の詳細ログを表示したい
-execcmd="log loginit veryvarbose"
#シェーダーコンパイルだけIncrediBuildを無効化
[SystemSettings]
r.XGEShaderCompile=0
Latentノード便利そう
うまく動作しない・・・
UPROPERTY(EditAnywhere, Meta=(MakeEditWidget = true))
FVector position;
#Bind Wedgetの話
http://benhumphreys.ca/unreal/ui-bindwidget/
#ログメッセージ
GEngine->AddOnScreenDebugMessage(-1, 20.0f, FColor::Black, "msg");
#C++からBPへ通知
http://katze.hatenablog.jp/entry/2016/05/22/142950
#Actorを生成したい
https://answers.unrealengine.com/questions/428572/spawning-a-character-at-run-time-in-c.html
#UFunctionをオーバーライドする
https://answers.unrealengine.com/questions/1683/ufunction-overriding-non-u-function-specifiers.html
#GameModeに設定されたPlayerControllerを取得したい
https://answers.unrealengine.com/questions/87563/getting-playercontroller-object-from-gamemode.html
#TArray
ソートしたい。
TArray<FData*> param;
param.Sort([](const FData& LHS, const FData& RHS) { return LHS > RHS; });
#TMap
TMapをconstにするとなぜか怒られる。
const TMap<int32, FString> map;
#ランダム
FMath::FRandRange
#ActorComponentのライフサイクル
InitializeComponentがエディタでコンパイルボタンを押しても呼ばれる
#処理時間
- NewObject
メモリの確保を行う。オブジェクトがウィジェットのようにツリー構造の場合、その数だけ正比例して処理時間は長くなる。 - AddViewPort
オブジェクトの初期化を行う。スレッド登録なども行われる。NewObject同様に処理時間が長い。
#enumについて
http://papersloth.hatenablog.com/entry/2017/07/07/005225
#BPへのバインド
USTRUCTはUFUNCTIONを持てない
#分散コンパイル設定
##設定ファイル
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<BuildConfiguration>
<!-- SNDBS -->
<bAllowSNDBS>true</bAllowSNDBS>
<!-- Incredibuild -->
<bAllowXGE>true</bAllowXGE>
</BuildConfiguration>
</Configuration>
*My Documents*/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
に配置するとプロジェクトの設定を上書きできて楽。
##参照
アンリアルビルドシステムの設定
UObjectに関するメモ
タグ付けって何してるのか?
タグ付けの印? 内部的にUCLASSの引数なのか?
アンリアルベースの型とは?
アンリアルベースの型を記述するとはどういう意味か?
CDO は、 基本的にデフォルトの 'template' オブジェクトtemplate 維持する
"template"とは
"template"と型情報の違い?
AUTOジェネレートのテンプレートと同義なのか?
'template' オブジェクト = タグ付けのタグ? = auto generated されたヘッダファイル? = アンリアル固有のメタデータ?
タグは誰が識別するため? おそらくエディタ、もしくはBP=つまりエンジンが理解する
auto generated されたファイルとタグ付けの話が一緒?
c++からBPにバインドする作業を兼ねている?
バインドとは? = 動的型付け言語の変数「束縛」 = ラムダの束縛と一緒? =
クロージャとバインドは一緒? → 違う
アンリアル固有のメタデータ って何?
ゲーム オブジェクトを処理する堅牢なシステム = オブジェクト システム?
ネイティブコードでマクロを書いたらそれがタグつけしたという意味ですか?
タグ付けがアンリアル上での振る舞いを定義している?
プロトタイプベースオブジェクト指向?
タグつけしてないプロパティもある。 UPopatyなどのマクロをつけていないものの話なのか?
UCLASS 内のプロパティ と ネイティブのみのプロパティの関係とは何か?どう違うのか?役割?
NewObjectに指定するOuterって何?
Outerを指定する場合としない場合の違いは何か?
Outerのデフォルト引数のGetTransientPackageって何か?
Transientてどういう意味?
OuterとPackageの関係とは?
名前コンフリクトとは?
new演算子で生成されたUCLASSはガベージコレクトされるのか?
NewObject -> 変数初期化
AddViewPort -> スレッドの登録
マーク付け + タグ付け
UPROPATYのマクロのオプションtransient
ポスト コンストラクタ
ポストイニシャライザ
アンリアルヘッダツール
ランタイムかた情報
IsA
UCLASS型のインスタンスが型情報で
smalltalk
コンカレント GC