programming:ue4_memo

UE4メモ

Unreal Engine 4に関するメモ書き。

APlayerController::ConsoleCommand関数で文字列リテラルのコンソールコマンドを実行することができる。

UFUNCTIONの仮引数名Paramと、そのUFUNCTIONを定義しているクラスまたは親クラスClassNameのメンバ変数名が被っていると表題のように怒られる。

UFUNCTIONをメンバ変数より後ろで宣言すると、なぜかエラーは解消する。

class NG
{
    UPROPERTY()
    FString Hoge;
 
    UFUNCTION()
    void SetHoge(FString Hoge); // ここでビルドエラー
};
 
class OK
{
    UFUNCTION()
    void SetHoge(FString Hoge); // なぜか通る
 
    UPROPERTY()
    FString Hoge;
};

UFUNCTIONのmetaでデフォルト引数が設定できる。void Func(VarType Arg)という関数があったとして、VarTypeが…

  • 「プリミティブ型」の場合
    • meta=(Arg=“デフォルト値”)
  • 「ユーザー定義型」の場合
    • meta=(AutoCreateRefTerm=“Arg”) ※多分VarTypeのデフォルトコンストラクタを指定した事になる

データが英数字のみで構成されており、かつ _ - + . / : の何れかの文字を含むと、その文字の場所でデータが切れる事がある。FNameの制限というか仕様?っぽい。

正しくインポートするには三重ダブルクオーテーションで囲む必要がある。

詳しい条件はソースコードのそれっぽい所を参照の事(当該箇所を明示して良いのかわからんので一応伏せておく)。NamePropertyを作ってる場所なのでDataTableに限らずアセットに含まれる全てのFNameに当てはまりそうな気がする…

  • programming/ue4_memo.txt
  • 最終更新: 2016-03-28 23:04
  • by Decomo