Стартовая структура проекта и конвенции имён для 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 можно быть гибче — оставьте здравый смысл и читаемость.