Keep your place in this quest

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

Компоненты определяют, что может делать сущность.

Сущность — это контейнер. Компоненты — это функции, прикрепленные к этому контейнеру.

image.png

Этот урок знакомит вас с основными типами компонентов, которые вы увидите на начальном уровне. Вам не нужно запоминать каждую опцию на данном этапе. Цель состоит в том, чтобы распознать схему:

> Когда сущности нужна функция, вы обычно добавляете компонент, который предоставляет эту функцию.

Сущности построены из компонентов

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

Затем, по мере добавления компонентов, она становится более способной:

  • Добавьте Transform Component, и она займет место в 3D-мире.
  • Добавьте Mesh Component, и она станет видимой.
  • Добавьте Rigid Body Component, и она сможет сталкиваться с миром.
  • Добавьте Python Component, и она сможет выполнять игровой код.
  • Добавьте Logic Bricks Component, и она сможет выполнять визуальную логику.
  • Добавьте Audio Player Component, и она сможет воспроизводить звук.

Это нормальный рабочий процесс в Cave: создавайте сущности, комбинируя компоненты.

Например:

Объект, который вы хотите Возможная настройка компонентов
Фонарь Transform, Mesh, Light, Audio Player.
Дверь Transform, Mesh, Rigid Body, Logic Bricks или Python.
Игрок Transform, Character, Camera, Animation, Python.
Пулечка здоровья Transform, Mesh, Rigid Body trigger, Logic Bricks или Python.

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


Основные компоненты

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

Компонент Основная цель
Transform Component Хранит позицию, вращение и масштаб.
Camera Component Определяет вид камеры.

Transform Component

Transform Component хранит позицию, вращение и масштаб.

image.png

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

Многие другие компоненты зависят от трансформации:

  • Свету нужна позиция.
  • Мешу нужна позиция.
  • Камере нужна позиция.
  • Источнику 3D-звука нужна позиция.

Camera Component

Camera Component определяет вид камеры.

image.png

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

Камеры используются для:

  • Игр от первого лица.
  • Игр от третьего лица.
  • Игр сверху.
  • Меню.
  • Кат-сцен.

Сцена имеет камеру по умолчанию, но игровые камеры обычно являются сущностями с компонентами камеры. Это облегчает их перемещение, привязку, анимацию или переключение во время игры.


Графические компоненты

Графические компоненты контролируют то, что видит игрок.

Компонент Используйте его для
Mesh Component Видимые 3D-объекты.
Light Component Локальные источники света.
Particle Component Визуальные эффекты, созданные из множества мелких элементов.
Animation Component Воспроизведение скелетной анимации.
Animation Socket Component Привязка дочерних сущностей к анимированным костям.

Mesh Component

Mesh Component отображает меш, используя материал.

image.png

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

  • Реквизита.
  • Стен.
  • Персонажей.
  • Дверей.
  • Оружия.
  • Элементов окружения.
  • Всего видимого.

Компонент меша обычно ссылается на актив и материал меша. Меш предоставляет форму, в то время как материал контролирует внешний вид поверхности.

Light Component

Light Component добавляет локальное освещение на сцену.

image.png

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

  • Ламп.
  • Фонарей.
  • Магических огней.
  • Светящихся реквизитов.
  • Прожекторов.

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

Particle Component

Particle Component создает повторяющиеся визуальные элементы и эффекты.

image.png

Используйте частицы для:

  • Дыма.
  • Искр.
  • Пыли.
  • Огня.
  • Ветра.
  • Обломков.
  • Магических эффектов.

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

Animation Component

Animation Component воспроизводит скелетные анимации.

image.png

Он работает с арматурами и активами анимации и может обрабатывать воспроизведение, смешивание, слои и финальную анимированную позу.

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

  • Анимированных персонажей.
  • Анимированных существ.
  • Скелетного реквизита.
  • Любого импортированного анимированного меша, который использует кости.

Animation Socket Component

Animation Socket Component прикрепляет дочернюю сущность к конкретной кости родительской анимированной сущности.

image.png

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

  • Мечей.
  • Пистолетов.
  • Щитов.
  • Шлемов.
  • Рюкзаков.
  • Реквизита для рук.

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


Физические компоненты

Физические компоненты контролируют столкновение и физическое движение.

Компонент Используйте его для
Rigid Body Component Столкновения, физические объекты, триггеры.
Character Component Движение персонажей игрока и НИП.
Physics Constraint Component Соединение жестких тел вместе.

Rigid Body Component

Rigid Body Component дает сущности физическое поведение.

image.png

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

  • Статических столкновений.
  • Динамических объектов.
  • Физического реквизита.
  • Объектов-триггеров.

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

Character Component

Character Component предназначен для движения в стиле персонажа.

image.png

Используйте его для игроков или НИП, которым нужно:

  • Ходить.
  • Прыгать.
  • Скользить по стенам.
  • Обрабатывать уклоны.
  • Двигаться как персонаж, а не как бесхозное физическое тело.

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

Physics Constraint Component

Physics Constraint Component соединяет жесткие тела вместе.

Он полезен для более сложных физических настроек, таких как:

  • Петли.
  • Суставы.
  • Мосты.
  • Наборы, похожие на тряпичные куклы.
  • Связанные физические объекты.

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


Компоненты мира и игры

Некоторые компоненты помогают строить мир или представлять игру игроку.

Компонент Используйте его для
Terrain Component Открытые пейзажи и скульптурированная земля.
Audio Player Component Звуки, музыка, атмосфера и 3D-звук.
UI Element Component Текст, кнопки, панели, ИП и меню.

Terrain Component

Terrain Component создает и редактирует местность.

image.png

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

У местности есть свои инструменты редактирования, которые будут рассмотрены позже.

Audio Player Component

Audio Player Component воспроизводит звуки или музыку.

Он может использоваться для:

  • Музыки.
  • Атмосферных зациклений.
  • Звуковых эффектов.
  • 3D позиционного звука.
  • Звуков пользовательского интерфейса.

Аудио также может быть вызвано через сценарии, Logic Bricks, таймлайны, обратные вызовы пользовательского интерфейса и анимации.

UI Element Component

UI Element Component создает элементы игрового интерфейса.

image.png

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

  • Текста.
  • Кнопок.
  • Панелей.
  • Меню.
  • Индикаторов здоровья.
  • Элементов ИП.

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


Логические компоненты

Логические компоненты заставляют сущности вести себя определенным образом.

Компонент Используйте его для
Python Component Переиспользуемое поведение игрового процесса на Python.
Python Code Component Малые встроенные поведение на Python.
Logic Bricks Component Графы визуального скриптинга.
State Machine Component Поведение на основе состояний.

Python Component

Python Component прикрепляет актив скрипта Python к сущности.

image.png

Используйте его для переиспользуемой логики игрового процесса, такой как:

  • Поведение дверей.
  • Поведение врагов.
  • Взаимодействия.
  • Логика ИП.
  • Правила игры.
  • Пользовательские системы.

Python Code Component

Python Code Component сохраняет малые встроенные фрагменты Python прямо в компоненте.

image.png

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

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

Logic Bricks Component

Logic Bricks Component прикрепляет актив Logic Bricks к сущности.

image.png

Logic Bricks — это визуальная система скриптинга Cave. Они позволяют вам создавать поведение, соединяя узлы, а не непосредственно записывая код.

image.png

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

State Machine Component

State Machine Component прикрепляет иерархическую машину состояний к сущности.

image.png

Состояния машин полезны для поведения, имеющего четкие состояния, такие как:

  • Ожидание.
  • Ходьба.
  • Преследование.
  • Атака.
  • Побег.
  • Мертв.

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


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

Cave также включает компоненты, связанные с транспортными средствами.

Вы можете увидеть их, если создадите начальное содержимое транспортного средства.

Компонент Назначение
Компонент транспортного средства Превращает физический объект в тело в стиле транспортного средства.
Компонент колеса Определяет поведение колес для транспортного средства.

Компонент транспортного средства работает с жестким телом и компонентами колес.

Компонент колеса включает поведение, связанное с колесами, такое как подвеска, рулевое управление, радиус колеса и является ли колесо передним.

Практические рецепты компонентов

Вот несколько простых способов мыслить о композиции компонентов:

Цель Рецепт компонента
Видимый статический реквизит Преобразование + Сетка.
Устойчивую стену Преобразование + Сетка + Жесткое тело.
Двигающийся игрок Преобразование + Персонаж + Python + Камера.
Факел с атмосферой Преобразование + Сетка + Свет + Аудиоплеер.
Кнопка в меню UI элемент + Python или Логические кирпичики.
Поведение врага Персонаж + Анимация + Машина состояний или Python.

Это не строгие правила. Это точки старта.

По мере создания большего количества объектов вы будете быстрее выбирать правильные компоненты для работы.

Другие компоненты

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

Это нормально.

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