データ検証

デベロッパーはカスタム スクリプト ルールセットでこのシステムを拡張して、アセットを検証できます。

Choose your operating system:

Windows

macOS

Linux

エディタの機能である Data Validation プラグインを利用すると、デベロッパーがカスタム スクリプト ルールセットでアセットを検証できます。検証の一般的な使用例を以下に示します。

  • アセットが命名規則を満たしていることを確かめるチェック

  • 許容するスペースとパフォーマンスの適用

  • 非循環依存のキャッチなど

プラグインで検証する

デフォルトで有効化されているビルトイン Data Validation プラグインを確認するには、メインメニューから [Edit (編集)] > [Plugins (プラグイン)] を選択して [Plugins (プラグイン)] メニューで「Data Validation」を検索します。

DataValidationRef_1.png

エディタを使用する

単一のアセットのテストからプロジェクトが含む全アセットの検証まで、デベロッパーはデータ検証システムをさまざまな方法で使用できます。

検証の使用例

使用方法

備考

Asset

コンテンツ ブラウザでアセットを右クリックして [Asset Actions (アセットアクション)] > [Validate Assets]

特定のアセットを検証します。これで複数のアセットを選択して検証することも可能です。

Asset and dependencies

コンテンツ ブラウザでアセットを右クリックして [Asset Actions (アセットアクション)] > [Validate Assets and Dependencies]

特定のアセットとその依存関係を検証します。複数のアセットを一度に検証することもできます。

Folder's assets

コンテンツ ブラウザでフォルダを右クリックして [Validate Assets in Folder]

特定のフォルダを検証します。複数のフォルダを一度に検証することもできです。

Project's assets

メインメニューで [File (ファイル)] > [Validate Data...]

プロジェクトの「コンテンツ」ディレクトリが含むアセットをすべて検証します。

コマンド ラインを使用する

デベロッパーがコマンド ラインでプラグインを実行すると、継続的インテグレーション システム (CIS) の一部としてアセットを検証できます。次のコマンドレットでコマンド ライン検証を実行します。

UE4Editor-Cmd.exe <ProjectName>.uproject -run=DataValidation

  • このデータ検証システムは、デフォルトでは C++ の検証ルールのみを実行します。

  • デベロッパーはブループリントと Python の検証ルールをサポートするように、このデータ検証システムを拡張できます。

検証ルール

現在、検証ルールを作成する方法は 2 つあります。

  • IsDataValid をオーバーライドする、カスタム UObject の派生クラスを用意します。これはプロジェクトのカスタム クラスに最適です。

    • このメソッドを使用すると、 UEditorValidatorBase メソッドではアクセスできない Private/Protected のクラス データとクラス関数にアクセスできます。

    • ここでは独自のクラスを実装しているので、 IsDataValid が呼び出すように BlueprintImplementableEvent を設定することもできます。これにより C++ の検証ロジックに加えて、ブループリントや Python の検証ロジックを使用できます。

  • C++、ブループリント、Python を使用して UEditorValidatorBase 派生クラスを作成します。ここで重要な 2 つの関数は CanValidateAsset ValidateLoadedAsset で、どちらも引数として検証対象の UObject ポインタを取ります。このシステムは、デフォルトのエンジン クラスとカスタム クラスに基づくアセットを、両方とも検証できます。

    • ValidateLoadedAsset は実行パスごとに AssetPasses AssetFails を呼び出す必要があります。

    • バリデータは IsEnabled をオーバーライドして有効化できます。これはデフォルトで Protected の変数 bIsEnabled を返し、詳細パネルにも公開します。

    • C++ とブループリントのバリデータはエディタの起動時に自動で検出されますが、Python のバリデータは AddValidator を使用して UEditorValidatorSubsystem に登録する必要があります。

      • デフォルトでは、ブループリント バリデータの自動登録はパフォーマンス上の理由により Fortnite では無効になっています。

どちらのタイプの検証も、CIS からアセットの保存時に (デフォルトで有効)、そしてエディタとコンテンツ ブラウザのメニュー オプションで実行されます。検証に失敗すると、エディタのメッセージ ログと CIS のコンソールにメッセージが表示されます。

UEditorValidatorSubsystem の呼び出しを実装する場合は、 ValidationErrors FText 配列の表示を処理する必要があります。 FAssetData やロードした UObject のアセット検証に必要な関数は、スクリプトでも使用できます。

詳細については、このセクションで示す API リファレンスを参照してください。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル