Keep your place in this quest

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

Cave разработан так, чтобы его было просто изучить, но в нем все же есть несколько важных концепций, которые вам нужно понять.

Этот урок объясняет основные слова, которые вы будете видеть повсюду в редакторе: сцена, объект, компонент, ресурс, шаблон объекта, трансформация, жесткое тело, компонент персонажа, компонент Python, логическая кирпич, временная шкала и среда исполнения.

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

Общая картина

Большинство проектов Cave строятся на нескольких повторяющихся идеях:

Концепция Простое значение
Сцена Уровень, меню, тестовая область или играбельное пространство.
Объект Объект внутри сцены.
Компонент Особенность, прикрепленная к объекту.
Ресурс Повторно используемое содержимое проекта, хранящееся в Браузере ресурсов.
Шаблон объекта Повторно используемая настройка объекта, подобная префабу.

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

image.png

  • Уровень — это Сцена.
  • Ящик, помещенный на уровень, это Объект.
  • Позиция ящика хранится в его Трансформации.
  • Видимая модель обрабатывается Компонентом Меш.
  • Столкновение может обрабатываться Компонентом Жесткое тело.
  • Модель, материал и текстура, используемые для ящика, это Ресурсы.

Если вы хотите повторно использовать эту настройку ящика в нескольких сценах, вы можете сохранить ее как Шаблон объекта.

Сцена

Сцена — это сборище объектов.

Сцены могут использоваться для:

  • Уровней игры.
  • Меню.
  • Тестовых карт.
  • Прототипов помещений.
  • Пространств для кат-сцен.

Редактируется только активная сцена в основном 3D-виде. Когда вы тестируете игру, Cave запускает сцену как игровую часть, а не только содержимое редактора.

При экспорте или тестировании проекта как среды исполнения настройки проекта определяют, какая сцена используется как стартовая. Вы можете изменить это в Вкладке Настройки.

Объект

Объект — это объект в сцене.

Объекты могут быть видимыми или невидимыми. Они могут быть простыми или сложными.

Примеры объектов:

  • Персонаж игрока.
  • Дверь.
  • Камера.
  • Свет.
  • Триггер.
  • Кнопка интерфейса.
  • Точка спавна.
  • Папка, используемая для организации.

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

Компонент

Компонент добавляет поведение или данные к объекту.

Вместо того чтобы иметь один огромный тип объекта для всего, Cave позволяет вам строить объекты, комбинируя компоненты. И именно так вы должны строить различные элементы вашей игры, комбинируя объекты с несколькими различными типами компонентов.

Например:

Объект Возможные компоненты
Статическая стена Трансформация, Меш, Жесткое тело.
Игрок Трансформация, Персонаж, Камера, Python.
Дверь Трансформация, Меш, Жесткое тело, Python или Логические кирпичи.
Точечный свет Трансформация, Свет.
Кнопка интерфейса Элемент интерфейса.

Это одна из самых важных идей в Cave: Объекты — это контейнеры. Компоненты дают им особенности.

Важно также упомянуть здесь, что другой способ составления ваших различных типов объектов — это использование нескольких объектов в иерархии дочерних объектов.

Название объекта

Когда вы создаете новый объект, Cave предлагает различные стартовые типы, такие как Папка, Пустой, Меш, Точечный свет, Камера, Элемент интерфейса, Текст и Кнопка.

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

Например:

  • Пустой — это базовый объект с трансформацией.
  • Объект Меш — это объект, подготовленный для отображения меша.
  • Объект Точечный свет — это объект, подготовленный для работы как свет.
  • Объект Камера — это объект, подготовленный для рендеринга вида.
  • Папка — это объект, используемый в основном для организации.

Вы обычно можете добавлять, удалять или редактировать компоненты позже, так что стартовый тип — это просто полезный ярлык.

Трансформация

Трансформация говорит Cave, где находится объект и как он ориентирован.

Она включает:

  • Позицию.
  • Вращение.
  • Масштаб.

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

Ресурс

Ресурс — это повторно используемое содержимое проекта, хранящееся в Браузере ресурсов. Важно упомянуть, что хотя объект внутренне считается ресурсом, ресурс — это не то же самое, что и объект.

Например:

  • Ресурс меша — это данные модели. Объект меша — это объект, размещенный в сцене, использующий этот ресурс меша.
  • Ресурс материала определяет, как выглядит поверхность. Объект меша может ссылаться на этот материал.
  • Ресурс скрипта Python содержит код. Компонент Python может использовать этот скрипт.

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

Шаблон объекта

Шаблон объекта — это повторно используемая настройка объекта. Посмотрите на скриншот ниже. Ресурсы Шаблона объекта отмечены зеленой линией под их миниатюрой:

image.png

Если вы пришли с другого движка, вы можете думать об этом как о префабе.

Шаблон объекта может хранить:

  • Иерархию объектов.
  • Компоненты.
  • Настройки компонентов.
  • Ссылки на ресурсы.
  • Дочерние объекты.

Это полезно для всего, что вы хотите повторно использовать:

  • Враги.
  • Предметы.
  • Двери.
  • Реквизит.
  • Транспортные средства.
  • Элементы интерфейса.
  • Объекты игрового процесса.

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

Жесткое тело

Жесткое тело придает объекту физическое поведение. Оно используется, когда объект нуждается в столкновении или физическом движении.

Примеры:

  • Ящик, который блокирует игрока.
  • Шар, который может катиться.
  • Дверь со столкновением.
  • Стена, через которую игрок не может пройти.

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

Компонент персонажа

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

  • Ходьба.
  • Скользение вдоль стен.
  • Обработка наклонов.
  • Прыжки.
  • Реакция на действия игрока.

Для игрока или NPC компонент персонажа обычно является лучшей отправной точкой, чем попытка заставить базовый физический объект вести себя как персонаж.

Когда мы говорим о Компоненте персонажа в Cave, мы имеем в виду его Физику персонажа, а не специфическую логику игры (такую как движение и т.д.).

Теги и свойства

Теги и свойства помогают вам определять и настраивать объекты.

  • Тег — это ярлык, который может помочь скриптам или логике находить и классифицировать вещи.
  • Свойства — это редактируемые значения, доступные в редакторе. Они позволяют вам настраивать поведение, не переписывая код каждый раз.

Например, у врага могут быть свойства, такие как:

  • Скорость ходьбы.
  • Здоровье.
  • Дистанция атаки.
  • Цель патруля.

Хорошее использование свойств делает вашу игру легче для настройки.

Свойства не ограничиваются объектами: Сцены, Логические кирпичи и другие Ресурсы также могут их иметь.

Когда мы говорим о свойствах в Cave, мы конкретно имеем в виду такие свойства, которые можно получить с помощью словарей Python через код. Они почти всегда доступны в Редакторе также.

Компонент Python

Компонент Python позволяет объекту выполнять логику Python.

Это полезно, когда вы хотите кастомное поведение, такое как:

  • Открытие двери.
  • Движение платформы.
  • Обработка ввода игрока.
  • Спавн объекта.
  • Обновление текста интерфейса.
  • Срабатывание событий.

Компоненты Python являются одним из основных способов программирования игрового процесса в Cave.

Компонент кода Python

Компонент кода Python используется, когда код хранится непосредственно в компоненте, а не связан как отдельный ресурс скрипта. Это может быть полезно для быстрых тестов, небольших поведений или прототипов.

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

Логический кирпич

Логические кирпичи — это визуальный способ создания логики. Они полезны, когда вы хотите поведение без написания кода Python напрямую.

Если вы знаете Unreal's Blueprints, логические кирпичи находятся в аналогичной области идей: вы соединяете логику визуально, а не пишете все в текстовом формате.

Они особенно полезны для создания любой логики, которую вы хотите, без необходимости писать код Python. Например, события и логика игрового процесса, поведение объектов, соединение систем вместе, триггеры и т.д.

Вы узнаете о них позже в этом руководстве.

Временная шкала

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

Они полезны для:

  • Кат-сцен.
  • Движений камеры.
  • Сценарированных событий.
  • Скоординированных игровых последовательностей.

Временные шкалы не обязательны для каждой игры, но они полезны, когда вы хотите, чтобы что-то происходило в конкретном авторском порядке.

Важно: Временные шкалы не являются средствами для индивидуального редактирования анимации, например, редактирования анимации цикла ходьбы для вашего персонажа. В этом случае вы должны использовать специализированное ПО DCC, например Blender, а затем импортировать его в Cave.

Игрок и среда исполнения игры

  • Редактор Cave — это место, где вы строите проект.
  • Плеер Cave — это среда исполнения, которая запускает игру.

Когда вы нажимаете Играть в редакторе, Cave запускает вашу сцену в игровом режиме внутри редактора. Когда вы тестируете как автономную среду исполнения, Cave запускает игру в отдельном окне плеера.

Экспортированная игра запускается как сборка игрока/временного исполнения, а не как редактор. Это разделение имеет значение, поскольку некоторые вещи предназначены только для редактора (для отладки и/или разработки вашего проекта), в то время как другие являются частью фактической игры.

Самая Важная Связь

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

Сцена содержит сущности, сущности содержат компоненты, и компоненты часто используют ассеты.

Это основа проекта Cave.