文書の表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== UE4メモ ====== Unreal Engine 4に関するメモ書き。 ===== ネイティブ ===== ==== C++から文字列のコンソールコマンドを実行する ==== ''APlayerController::ConsoleCommand''関数で文字列リテラルのコンソールコマンドを実行することができる。 ==== コンパイル時「Function parameter: 'Param' conflicts with previously defined field in 'ClassName'」と怒られる ==== UFUNCTIONの仮引数名''Param''と、そのUFUNCTIONを定義しているクラスまたは親クラス''ClassName''のメンバ変数名が被っていると表題のように怒られる。 UFUNCTIONをメンバ変数より後ろで宣言すると、なぜかエラーは解消する。 <code c++> class NG { UPROPERTY() FString Hoge; UFUNCTION() void SetHoge(FString Hoge); // ここでビルドエラー }; class OK { UFUNCTION() void SetHoge(FString Hoge); // なぜか通る UPROPERTY() FString Hoge; }; </code> ==== UFUNCTIONにデフォルト引数を持たせる ==== UFUNCTIONのmetaでデフォルト引数が設定できる。''void Func(VarType Arg)''という関数があったとして、VarTypeが… * 「プリミティブ型」の場合 * meta=(Arg="デフォルト値") * 「ユーザー定義型」の場合 * meta=(AutoCreateRefTerm="Arg") ※多分VarTypeのデフォルトコンストラクタを指定した事になる ===== Blueprint ===== ===== misc ===== ==== DataTableでFNameのデータが途中で切れて正しくインポートされない ==== データが英数字のみで構成されており、かつ _ - + . / : の何れかの文字を含むと、その文字の場所でデータが切れる事がある。FNameの制限というか仕様?っぽい。 正しくインポートするには三重ダブルクオーテーションで囲む必要がある。 詳しい条件はソースコードのそれっぽい所を参照の事(当該箇所を明示して良いのかわからんので一応伏せておく)。NamePropertyを作ってる場所なのでDataTableに限らずアセットに含まれる全てのFNameに当てはまりそうな気がする… programming/ue4_memo.txt 最終更新: 2016-03-28 23:04by Decomo