Стартовая структура проекта и конвенции имён для Unity/UE/Blender, или как не запутаться в своём же проекте

Единая структура и говорящие имена: как не заблудиться в проекте
Единая структура и говорящие имена: как не заблудиться в проекте

Прежде всего, это мини-руководство для начинающих разработчиков, но кто знает, может, даже самый тёртый калач найдет для себя что-то интересное.

Если вкратце:

  • Дайте проекту одну понятную структуру папок и единообразные имена — это экономит часы, потраченные на поиск и разбор файлов.
  • Используйте префиксы (BP_, SM_, T_, SCN_) и суффиксы для текстур (BaseColor/Normal/ORM/Emissive).
  • Введите правило проверять чек-лист перед коммитом и не вносить изменений в папку /ThirdParty.

Зачем это вам

Мы видели десятки проектов, где быстрее сейчас превращается в две недели на вычищение мусора потом. Стандарты скорее не про бумажную волокиту, а про минимизацию ошибок и правок: когда у ассета сразу правильное имя и место — вы тратите время на игру, а не на догадки и поиски.

Базовая структура папок

Её не стоит изменять и что-то ещё с ней вытворять, это база:

Assets/Art/Textures

Assets/Art/Materials

Assets/Art/Meshes/{Static|Skeletal}

Assets/Audio/{SFX|Music}

Assets/Code, Assets/Prefabs (Unity) / Blueprints (UE)

Assets/Scenes (Unity) / Levels (UE)

Assets/Shaders, Assets/UI, Assets/Animations, Assets/FX

Assets/ThirdParty (не трогаем), Assets/Plugins, Assets/Docs

Имена, которые говорят сами за себя

На скринах ниже показаны названия до и после приведения к стандартам

Вот некоторые правила построения имен файлов:

Текстуры: T_{Asset}_{Suffix} → T_Wood_BaseColor, T_Wood_Normal, T_Wood_ORM.

Материалы: M_{Asset} → M_Wood_Oak (варианты: _A, _B).

Меши (UE): SM_{Crate_A}, скелетные — SK_{Hero}.

Blueprints (UE): BP_{Feature}_{Name} → BP_Interactable_Door.

Анимации: AN_{Asset}_{Action} → AN_Hero_Run.

Сцены/уровни: SCN_{Hub}, LV_{Cave01}.

Аудио: SFX_UI_Click_01, MUS_Combat_Loop

Код: PascalCase, файл = класс (PlayerInventoryManager.cs).

Правило трёх секунд: по имени должно быть понятно, что это и откуда. Нет пробелов, кириллицы, используется разделитель "_".

Мини чек-лист перед коммитом

  • Имя и префикс соответствуют типу (BP_, SM_, T_, SCN_)
  • Текстуры с правильными суффиксами (BaseColor/Normal/ORM/Emissive)
  • /ThirdParty не меняем; локальные фиксы — в /Overrides
  • Нет «missing references»

Как внедрить это, если вы работаете в команде

Создаете и расшериваете Excel со стандартами и правите в одном месте.

Берёте 10–15 проблемных ассетов, переименовываете по правилам, фиксите референсы.

Обновляете README в Assets/Docs и пините ссылку в чате.

Неделю живёте по правилам, через 7 дней устраиваете короткий ретро (обзор эффективности внесенных изменений) — что помогло, что мешает, что улучшить.

Всплывающие вопросы

В проекте каша, откуда начать фиксить?

Начните с префиксов и текстурных суффиксов — это даёт львиную долю пользы. Папки выровнять можно и позже, главное не забыть и про них.

Что там с префиксами в UE и Unity?

Префиксы UE — историческая база (SM_, SK_, BP_), в Unity можно быть гибче — оставьте здравый смысл и читаемость.

10
11 комментариев