[UE5] Unreal Engine アセット命名規則とフォルダ構成について

Unreal Engine

アセットの命名規則の重要性

Unreal Engine を使用してプロジェクトを進行する際、コンテンツブラウザ内のアセットが増えることで、同じバリエーションのアセットを重複して作成したり、似た名前のアセットを区別するのが難しくなっていきます。例えば、「Warrior」という名前のフォルダ内には、複数のブループリント、テクスチャ、モデルなどが含まれている場合、どのアセットが何を表しているのかがわかりにくくなります。

特に大規模なプロジェクトの場合、開発初期段階でアセットに対する一貫した命名規則を確立することは重要です。以下に示すのは、Epic Gamesが採用しているアセットの命名規則の一例です。以下のような命名規則を採用することで、プロジェクトでのアセット管理がしやすくなるでしょう。

[AssetTypePrefix][AssetName][Descriptor]_[OptionalVariantLetterOrNumber]

  • AssetTypePrefix: アセットのタイプを表します。詳細は後述の表を参照してください。
  • AssetName: アセットの名前です。
  • Descriptor: アセットの用途や追加情報を示します。例えば、法線マップやオパシティ マップなどのテクスチャを示すことができます。
  • OptionalVariantLetterOrNumber: アセットに複数のバージョンやバリエーションがある場合、区別するためのオプション部分です。

推奨されるアセットのプレフィックス

以下は Epic のドキュメントにおいて、推奨されているプレフィックスの例です。詳細については、Unreal Engine プロジェクトにおけるアセット命名規則の推奨事項 を確認してください。

アセットプレフィックス
一般
HDRIHDR_
マテリアルM_
マテリアル インスタンスMI_
物理アセットPHYS_
物理マテリアルPM_
ポストプロセス マテリアルPPM_
スケルタルメッシュSK_
スタティックメッシュSM_
テクスチャT_
OCIO プロファイルOCIO_
ブループリント
Actor コンポーネントAC_
アニメーション ブループリントABP_
ブループリント インターフェースBI_
ブループリントBP_
カーブ テーブルCT_
データ テーブルDT_
列挙型E_
構造体F_
ウィジェット ブループリントWBP_
パーティクル エフェクト
Niagara エミッタFXE_
Niagara システムFXS_
Niagara 関数FXF_
スケルタルメッシュ アニメーション
リグRig_
スケルトンSKEL_
モンタージュAM_
アニメーション シーケンスAS_
ブレンド スペースBS_
ICVFX
NDisplay コンフィギュレーションNDC_
アニメーション
レベル シーケンスLS_
シーケンサー エディットEDIT_
メディア
メディア ソースMS_
メディア出力MO_
メディア プレーヤーMP_
メディア プロファイルMPR_
その他
レベル スナップショットSNAP_
リモートコントロール プリセットRCP_

フォルダ構成について

フォルダ構成についても悩むところですが、https://github.com/Allar/ue5-style-guide のスタイルガイドが参考になります。

|-- Content
    |-- GenericShooter
        |-- Art
        |   |-- Industrial
        |   |   |-- Ambient
        |   |   |-- Machinery
        |   |   |-- Pipes
        |   |-- Nature
        |   |   |-- Ambient
        |   |   |-- Foliage
        |   |   |-- Rocks
        |   |   |-- Trees
        |   |-- Office
        |-- Characters
        |   |-- Bob
        |   |-- Common
        |   |   |-- Animations
        |   |   |-- Audio
        |   |-- Jack
        |   |-- Steve
        |   |-- Zoe
        |-- Core
        |   |-- Characters
        |   |-- Engine
        |   |-- GameModes
        |   |-- Interactables
        |   |-- Pickups
        |   |-- Weapons
        |-- Effects
        |   |-- Electrical
        |   |-- Fire
        |   |-- Weather
        |-- Maps
        |   |-- Campaign1
        |   |-- Campaign2
        |-- MaterialLibrary
        |   |-- Debug
        |   |-- Metal
        |   |-- Paint
        |   |-- Utility
        |   |-- Weathering
        |-- Placeables
        |   |-- Pickups
        |-- Weapons
            |-- Common
            |-- Pistols
            |   |-- DesertEagle
            |   |-- RocketPistol
            |-- Rifles

このフォルダ構成の主な特徴としては、アセットタイプ名(Material, Meshなど)のフォルダは作成しないルールとなっています。これらのフォルダは冗長であり、フィルタリング機能を代わりに活用するべきだと述べられてています。

最後に

アセット命名規則やフォルダ構成については完全な正解はないはずです。この記事であげたようなガイドラインから、プロジェクト内で統一されたルールを作成してみてください。

コメント

タイトルとURLをコピーしました