Найти в Дзене
PolyForge

О структуре каталога проекта.

Пользуетесь ли вы какой-либо системой структурирования каталога проекта? Или файлы ложатся в папку с проектом, а может быть и вне её, как придется? Предлагаю свой вариант, именно такую структуру проекта использую в работе над моделями для 3D-стоков. Хотел быстренько описать одну из структур каталогов, используемых в своей практике, а получилось довольно длинненько. Надеюсь, кому-то пригодится. Основные моменты для создания своей структуры: Чтобы каждый раз не создавать дерево каталогов вручную, есть пара способов, как это можно ускорить/автоматизировать, но об этом в другой раз.

Пользуетесь ли вы какой-либо системой структурирования каталога проекта? Или файлы ложатся в папку с проектом, а может быть и вне её, как придется?

Предлагаю свой вариант, именно такую структуру проекта использую в работе над моделями для 3D-стоков.

Дерево каталога проекта
Дерево каталога проекта
  • Внутри папки проекта 3D_PROJECT_01 находятся подпапки, каждая из которых хранит в себе определенные файлы и используются на разных этапах работы.
  • Текстовый документ info_3D_project_01.txt создается в самом начале работы над проектом. В нем фиксируется вся необходимая информация по задаче. Название, описание, размеры, ссылки, примечания, теги и т.д. В общем, вся текстовая информация, которая может понадобится во время работы над проектом или во время загрузки уже готовой работы на стоки.
  • Следующая сущность проекта, которая включается в процесс, это папка Reference_3D_project_01. Сюда я складываю все рефы: фотографии, схемы, инструкции, видео, в общем, все, что может пригодится в создании модели. Здесь же хранятся файлы PureRef (ставь лайк, если знаешь, что это и юзаешь) и fSpy (программа и аддон для блендера, который создает камеру с фоновым изображением, по которому легко и быстро набрасывается основная форма).
  • Мой основной инструмент — Blender, поэтому основной процесс создания модели начинается здесь, Blender_3D_project_01, в этой папке создаются и хранятся только файлы с расширением .blend.
  • Если модель делается под запекание hi-poly геометрии на low-poly, а все эти процедуры я предпочитаю делать в Marmoset Toolbag, то все касаемое бэйка помещается здесь, Marmoset_3D_project_01. Обычно это fbx файл (один) с hi и low poly. С верно заданными именами. Файл проекта в Marmoset (.tbscene) и полученные карты (AO, Curve, Normal, Normal Obj и ID).
  • Следующий этап — текстурирование, для этого использую Substance Painter в основном, и все, что с этой работой будет связано, хранится здесь, Substance_3D_project_01, обычно это файл модели (.fbx), файл проекта в (.spp) и файлы текстур или масок, созданных вне программы (например, в векторном или растровом графическом редакторе). А полученные текстуры сохраняются в другом месте.
  • Папка Out_3D_project_01 имеет подпапку Maps, сюда-то и попадают полученные в Substance Painter текстуры (Base Color, Normal, Roughness, Metallness, иногда еще использую Opacity и Emission). В самой же папке сохраняются готовые файлы для выгрузки на стоки. У меня это .blend, .max, .fbx и .obj, и все эти файлы настроены на использование текстур из папки Maps. Сами же файлы подготовлены в соответствии с требованиями стоков: трансформации сброшены, никаких лишних объектов в сцене, объекты и pivot (origin) в центре координат и т.д. В общем, эта папка самодостаточна, файл в любом формате в ней можно открыть в нужной программе, и если даже материалы не заработают «из коробки», их легко можно будет настроить, используя вложенные pbr-текстуры.
  • Рендеры я делаю в 3Ds Max на движке Corona, все файлы с настроенными светом, камерами и т.д. хранятся здесь, 3DsMax_3D_project_01.
  • А тут, Render_3D_project_01, результат рендера и постобработки, которые загружаются в качестве превью на стоки.
  • Fab_3D_project_01 папка также содержит итоговые файлы, готовые к выгрузке на сток fab.com, у него некоторые различия в требованиях к превью (соотношения сторон и размер), а также есть возможность подгружать 3D превью. Я использую для этого .blend файлы, но чтобы корректно все отображалось, нужно внедрить текстуры в файл. Для этого я создаю отдельную версию файла и сохраняю в этой папке.

Хотел быстренько описать одну из структур каталогов, используемых в своей практике, а получилось довольно длинненько. Надеюсь, кому-то пригодится.

Основные моменты для создания своей структуры:

  1. Исследовать свой «пайп-лайн», понять, на каких этапах какой софт используется и в какие моменты стоит разделить направления потоков файлов, чтобы каталог проекта не выглядел как содержимое мусорной корзины.
  2. Дать четкие имена подпапкам.
  3. В качестве суффикса у подпапок должно быть название проекта, вы в любое время, находясь в любой папке, будете понимать, что это за проект.
  4. Соответственно, файлы внутри папок тоже должны иметь понятные имена и содержать в названии имя проекта, например: 3D_project_01_pur, 3D_project_01_spp, 3D_project_01_V05_blend (здесь добавлена версия файла — V05), Render_3D_project_01_03_png (здесь добавлен префикс, указывающий на то, что это рендер, третий по счету), Preview_3D_project_01_01 (префиксом Preview можно закодировать готовое (обработанное) изображение, которое будет загружено в качестве превью на сайте (стоке)) и т.д.

Чтобы каждый раз не создавать дерево каталогов вручную, есть пара способов, как это можно ускорить/автоматизировать, но об этом в другой раз.