Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

В Cave ваш проект состоит из ассетов.

Ассеты — это многократно используемые элементы контента, которые находятся в Asset Browser: сцены, шаблоны сущностей, меши, материалы, текстуры, аудио, скрипты, файлы логики, таймлайны и многое другое.

Чем лучше вы понимаете ассеты, тем проще становится создавать, организовывать и повторно использовать свою работу.

Что такое ассет?

Ассет — это часть содержимого проекта, хранящаяся в Cave.

Ассет может быть визуальным объектом, например, текстурой или мешем. Он также может быть функциональным, например, Python-скриптом, файлом с Logic Bricks, сценой или таймлайном. Ассеты хранятся в проекте, чтобы Cave мог ссылаться на них из сущностей, компонентов, инструментов редактора и систем во время выполнения.

> Внутри Cave всё, что нужно сериализовать (записать и считать с диска) или отобразить в редакторе, рассматривается как ассет.

Например:

  • "Меш-сущность" может использовать меш-ассет.
  • Компонент меша может использовать материал.
  • Материал может использовать текстуры.
  • Компонент Python может использовать Python-скрипт.
  • "Уровень" может храниться как сцена.
  • Многоразовая настройка объекта может храниться как шаблон сущности.

Это значит, что ассеты — не просто файлы в папке. Это строительные блоки вашей игры.

Asset Browser

Asset Browser — главное место для управления ассетами.

image.png

С его помощью вы можете:

  • Просматривать папки проекта.
  • Выбирать ассеты.
  • Открывать папки.
  • Смотреть миниатюры.
  • Импортировать файлы.
  • Переименовывать ассеты.
  • Дублировать ассеты.
  • Перемещать ассеты между папками.
  • Удалять ассеты.
  • Экспортировать ассеты в виде пакетов Cave.

Asset Browser содержит область папок и область содержимого. Область папок помогает переходить по структуре проекта. Область содержимого показывает ассеты внутри текущей папки.

При выборе ассета его настройки отображаются во вкладке Properties.

Распространённые типы ассетов

При работе в Cave вы увидите несколько типов ассетов.

Тип ассета Назначение
Scene Уровень, меню, тестовая зона или играбельное пространство.
Entity Template Многоразовая иерархия сущностей, аналог префаба.
Mesh Данные 3D-модели.
Material Настройки поверхности для мешей и ландшафта.
Texture Изображение, используемое материалами, интерфейсом или другими системами.
Audio Аудио или музыкальный контент.
Armature Скелетная структура костей, к которой привязан меш при анимации.
Animation Данные скелетной анимации.
Python Script Код для компонентов Python или инструментов.
Logic Bricks Визуальная логика игрового процесса.
State Machine Логика поведения на основе состояний.
Timeline Авторские последовательности, такие как катсцены или скриптовые события.
Shader Program Пользовательское поведение рендеринга.
Post Processing Постобработка — полноэкранные эффекты рендеринга.
Documentation Текстовая документация, хранящаяся в проекте.
---

Вам не нужно сразу изучать все типы ассетов. На начальном этапе вы, скорее всего, будете чаще всего использовать сцены, шаблоны сущностей, меши, материалы, текстуры, скрипты и файлы логики.

Организация ассетов

Проекты становятся удобнее для работы, когда ассеты организованы понятно.

Простая структура проекта может выглядеть так:

Scenes
Characters
Props
Materials
Textures
Scripts
Logic
UI
Audio
Timelines

Вы можете выбрать другую структуру, если она лучше подходит вашему проекту. Главное — чтобы потом было легко находить нужное.

Также важны хорошие имена. Предпочитайте названия, которые описывают назначение ассета.

Cave допускает пробелы в именах ассетов, и Asset Browser уже показывает тип ассета с помощью оформления. Поэтому обычно не нужно добавлять префиксы вроде Material, Texture или короткие коды типа внутри самого имени.

Используйте удобочитаемые имена. Если вам нравятся компактные имена, PascalCase тоже подходит.

Например:

Слабое имя Лучше
Material Wet Rock
Texture Wood Crate Diffuse
Scene Cave Entrance
Script DoorController
EntityTemplate Enemy Bat

Цель — не навязывать один стиль именования для всех проектов. Цель — избегать расплывчатых названий и облегчить поиск связанных ассетов.

Импорт новых ассетов

Вы можете импортировать поддерживаемые файлы, перетаскивая их с компьютера в Asset Browser. Cave попытается импортировать файл и создать ассет нужного типа.

Чаще всего импортируют:

  • 3D-модели.
  • Изображения.
  • Аудиофайлы.

Также можно использовать меню редактора для повторного импорта ассетов при необходимости.

Импорт — только первый шаг. После появления ассета в проекте вы можете выбрать его, отредактировать в Properties и использовать в сценах или других ассетах.

Позже мы подробнее изучим импорт ассетов.

Меши, материалы и текстуры

Меши, материалы и текстуры работают вместе.

  • Mesh — форма.
  • Material — определяет внешний вид поверхности.
  • Texture — изображение, используемое материалом или другой системой.

Например, деревянный ящик может использовать:

  • Меш ящика.
  • Материал древесины.
  • Одна или несколько текстур дерева.

Сущность в сцене — это не сам меш-ассет. У неё есть компонент, который использует меш-ассет и материал. Такое разделение удобно, потому что один и тот же меш или материал можно использовать много раз. При редактировании общего материала все объекты, его использующие, обновятся.

Сцены и шаблоны сущностей

Два типа ассетов особенно важны для создания игрового процесса:

  • Scene — хранит уровень или играбельное пространство.
  • Entity Template — хранит многоразовую настройку сущности.

Сцены используются для больших пространств, меню, тестовых карт и уровней.

Шаблоны сущностей — для объектов, которые будут размещаться множество раз, например:

  • Пикапы.
  • Враги.
  • Двери.
  • Декорации.
  • Транспорт.
  • Виджеты интерфейса.

Сцена говорит, что существует в конкретном месте, а шаблон сущности — как построен многоразовый объект.

Ссылки на ассеты

Сущности и компоненты могут ссылаться на ассеты.

Например:

  • Компонент меша ссылается на меш.
  • Такой же компонент может ссылаться на материал.
  • Материал ссылается на текстуры.
  • Компонент Python ссылается на скрипт.
  • Таймлайн может ссылаться на сущности или данные, которые нужно анимировать или запускать.

Эта система ссылок позволяет использовать один ассет в разных местах. Будьте осторожны при удалении ассетов — если проект зависит от ассета, удаление оставит отсутствующие ссылки.

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

Сохранение содержимого проекта

Cave отслеживает изменения в содержимом проекта. Если ассет изменён, но не сохранён, он считается "грязным" (dirty).

Для сохранения используйте:

Горячая клавиша Действие
Ctrl + S Сохранить все «грязные» ассеты проекта.
Ctrl + Shift + S Сохранить всё содержимое.
---

Также сохранить можно через меню File.

Чаще всего сохраняйте грязный контент — так сохраняются только изменённые ассеты, без перезаписи всего.

Перед тестированием в Play Mode Cave автоматически сохраняет грязные изменения.

Поиск ассетов позже

По мере роста проекта быстро находить контент становится важно.

Используйте:

  • Чёткую организацию папок.
  • Последовательные имена.
  • Asset Browser.
  • Вкладку Finder.
  • Вкладку Properties после выбора ассета.
  • Опцию в меню File для открытия проекта в системном файловом менеджере.

Самые удобные проекты для работы — это не всегда самые маленькие, а те, в которых контент легко найти.

Полезная привычка

При создании или импорте нового ассета сделайте три вещи:

  1. Поместите его в правильную папку.
  2. Дайте полезное имя.
  3. Сохраните проект.

Эта маленькая привычка предотвратит множество проблем в будущем.