UDN
Search public documentation:

ContentAuditCommandletJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 ホーム > コマンドレット > コンテント監査コマンドレット
UE3 ホーム > パフォーマンス、プロファイリング、最適化 > コンテンツのプロファイリングと最適化 > コンテント監査コマンドレット


コンテント監査コマンドレット


目的


調査して修正すべき可能性が高い、「疑わしい」コンテントを発見します。

動機


最も優れたコストパフォーマンスの実現を目指してコンテントを最適化しているうちに、我々は、コンテントが従うべき/必ず守るべき「ルール」を発見しました。ContentAudit Commandlet (コンテント監査コマンドレット) が、ゲーム全体のコンテントを調べ、どのコンテントが、疑わしい/ルールを破っているかを (タグによって) 報告します。

操作


このコマンドレットを使用するには、コマンドプロンプトウインドウから、 UnrealEngine3\Binaries ディレクトリに進みます。

シンタックス

シンタックスは次のようになります。

[GameName].exe ContentAuditCommandlet

使用方法 / 実行方法


タグを最新のものにしておくには、毎晩、GAMENAME ContentAuditCommandlet を実行するのが最善の方法です。

「ルール」に従っていないコンテントは、タグによって ContentBrowser 内に表示されます。

各「ルール」には、「ルール」を表わすタグがあります。各タグは _whitelist タグも有しています。これは、「疑わしい」コンテントの中にも実際は有効なものがある、という考えに立ったものです。

ContentAuditCommandlet は、Audit (監査) タグすべてとそのカウントのリストも出力します。これによって、プロダクションスタッフを介して傾向を示すことができます。目標は、各セクションでカウントがゼロになることです。

補足説明: おそらく、時間の経過とともに、_whitelist は、ますます多くの「エントリー」を得るようになるはずです。そこで、各 _whitelist の「監査」を行うことによって、正常な状態にあることを確認する必要があります。 _whitelist に莫大な数のエントリーがある場合は、なぜそれほど多くのアセットがそのようにタグ化されているのかについて調べる必要があります。(常にホワイトリスト化されるオブジェクトを除くためには、もっと優秀な「ルール」が必要かもしれません)

詳細例


例: メモリ消費の点で、G8 は非常にコストが高い。通常、G8 テクスチャは、まったく質を低下させずに DXT1 と置き換えることができます。

例: テクスチャ G8 であり、メモリを大量に使用するが、実際に G8 でなければなりません。そこで、Texture_G8_Whitelist で切り替えることによって、そのアセットを「ホワイトリスト」化します。基本的にこれは、誰かがそのテクスチャを調べて、有効と見なしたことを意味します。

以下に、ContentAuditCommandlet がチェックするものをいくつか例として挙げます。

  • Texture_NormalmapNonDXT1CompressionNoAlphaIsTrue
  • Texture_LODBiasIsNegative
  • Texture_NeverStream
  • Texture_G8

  • Material_MissingPhysicalMaterial

  • PhysAsset_MissingPhysicalMaterial

  • Particle_BadFixedRelativeBoundingBox
  • Particle_MissingFixedRelativeBoundingBox

  • SoundCue_DiconnectedSoundNodes
  • SoundCue_MoreThan3Waves
  • SoundCue_HasMixerWithMoreThan2Children
  • SoundCue_NoSoundClass
  • SoundCue_IncorrectAmbientSoundClass

  • SoundWave_QualityHigherThan40

  • StaticMesh_WithMissingUVSets
  • StaticMesh_WithBadUVSets
  • StaticMesh_EmptySections