Каждый раз, начиная новый проект, я создаю структуру папок и элементов, которая будет основой. Не важно, какого размера в итоге получится проект, но имея четкую структуру с самого начала, с ним будет удобно работать, масштабировать, передавать другому разработчику.
Можно гуглить «best practices» и смотреть как делают другие, но все равно вы придёте к своему комфортному расположению ресурсов и элементов на сцене. А для тех, кто еще не определился с выбором, предлагаю свой вариант.
И так, структура папок:
├── Assets
├── Editor
├── Fonts
├── Materials
├── Media
│ ├── Audio
│ │ ├── Music
│ │ └── SFX
│ └── Video
├── Plugins
│ ├── Android
│ ├── iOS
│ ├── Linux
│ └── Etc
├── Prefabs
├── Resources
│ ├── Prefabs
│ ├── Sprites
│ └── Etc
├── Scenes
│ ├── Levels
│ ├── Menu
│ └── Etc
├── Scripts
├── Shaders
└── Textures
├── UI
├── Sprites
└── Etc
Естественно, все нужно подстраивать под конкретную задачу и под команду, но будет лучше если придерживаться общей концепции для всех своих проектов.
Структура сцены:
├── Plugins
├── Scripts
├── Level
├── UI
├── Render
│ ├── Cameras
│ ├── Effects
│ └── Lights
├── World
└── Dynamic
Scripts служит для скриптов которые не связаны с объектами, например, менеджер звуков. Plugins нужен если обрабатываете входящие сообщения из плагинов iOS и Android. В Dynamic добавляются динамические, временные элементы созданные в процессе игры. Если вы делаете 2D игру, то в Level разумно было бы добавить разбивку по «слоям»: background, middleground, foreground.
Пробуйте, создавайте! Все придет с опытом. В любом случае, такой шаблон удобнее и практичнее, чем куча файлов в корневой папке и раскиданные элементы по сцене :)
Дата публикации December 5th, 2020 by retro3f