【Unreal Engine】UE5データテーブルインポート

データシート

DataTable はその名のとおり、ゲーム関連の大量のデータをその意味や用途に応じて分類して格納するテーブルであり、このうちデータフィールドには UObject の任意の有効な属性 (アセット参照情報を含む) を指定できます。 。設計者が CSV ファイルを DataTable にインポートするには、プログラマはまずエンジンがデータを解釈するための行コンテナを作成する必要があります。

テーブル内の列は、UStruct 内の変数を 1 対 1 の関係に従ってマップします。これらの変数は、 FTableRowBase 認識されるようにインポーターから継承する必要があります。最初の列のヘッダーには、コンテンツの各行の名前を定義する Name という名前を付ける必要があります。

他の列には最初にヘッダーが含まれ、次に各行に対応するデータが含まれます。この形式では、各行に FTableRowBase 継承された UStruct 構造内のすべてのデータが反映されます。

public:

        FLevelUpData()
        : XPtoLvl(0)
        , AdditionalHP(0)
        {}

        /** "Name"一列中的字段表示当前的经验等级 */

        /** 升级到下一级所需的经验值 */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        int32 XPtoLvl;

        /** 升级后获得生命值加成 */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        int32 AdditionalHP;

        /** 升级成就图标 */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        TSoftObjectPtr<UTexture> AchievementIcon;
    };
  1. Excel またはその他の表計算ソフトウェアで、ファイルを .csv 形式として保存します。

    LevelUpData 構造体を作成する

  2. Unreal Editor を開き、 コンテンツ ブラウザ で [インポート]をクリックします。

  3. DataTable としてインポートする CSV ファイルを選択します。 次のタイプとしてインポートできます (Import As) 。

    次のようにインポートします:

    データテーブル (DataTable)

    カーブテーブル (CurveTable)

    フロートカーブ

    ベクトル曲線

    直線的なカラーカーブ

  4. ドロップダウン リストから DataTable 行タイプ (DataTable Row Type)を選択します 。

  5. 残りの インポート オプション (インポート オプション)  :

     

    インポートオプション

    説明する

    余分なフィールドを無視する (余分なフィールドを無視)

    インポートされたデータ内の余分なフィールドを無視するには true に設定します。 false に設定すると、それについて警告が表示されます。

    欠落しているフィールドを無視する (欠落しているフィールドを無視する)

    true に設定すると、存在するはずだが実際には欠落しているフィールドが無視されます。 false に設定すると、そのフィールドについて警告が表示されます。

    インポートキーフィールド

    キーとして使用する、インポートされたデータ内の明示的なフィールド。空の場合、 .JSON 名前が使用され、 .CSV 見つかったフィールドが次の目的で使用されます。

  6. これにより、 コンテンツ ブラウザの現在のディレクトリに DataTable オブジェクトが作成されます 。

  7.  オブジェクトをダブルクリックすると、エディターで DataTable の内容を表示できます 。オブジェクトを右クリックし、  メニューから 「再インポート」を選択すると 、オブジェクトを更新できます。オブジェクトを再インポートするときは、元のファイル パスが使用されることに注意してください。インポート直後のデータの表示は次のとおりです。

データ接続

これらのテーブル内のデータを結合するのは非常に簡単です。 プログラマの場合は、 DataTable と CurveTable のどちらを使用しているかに応じて、ブループリントで公開できる FDataTableRowHandle変数 または FCurveTableRowHandle変数を配置するだけです。コンテンツ プロバイダーの場合、次の 2 つのサブフィールドを持つパブリック フィールドが表示されます。

サブフィールド

説明する

データテーブル/カーブテーブル

データを保持するために使用されるテーブルへの参照。

行名

最初の列の個別のデータ行の名前/ヘッダー。

おすすめ

転載: blog.csdn.net/qq_43021038/article/details/130557773