Keep your place in this quest

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

Теперь, когда вы знаете, что такое основные вкладки редактора, пора научиться перемещаться в 3D View и редактировать объекты в сцене.

image.png

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

Навигация в 3D View

3D View можно контролировать так, что ощущается похоже на игру от первого лица.

Удерживайте Right Mouse Button и двигайте мышью, чтобы осмотреться вокруг.

Удерживая Right Mouse Button, используйте:

Ввод Действие
W Двигаться вперёд.
S Двигаться назад.
A Двигаться влево.
D Двигаться вправо.
E Двигаться вверх.
Q Двигаться вниз.
Колёсико мыши Изменить скорость свободной камеры.
C + колёсико мыши Изменить чувствительность мыши при обзоре.
---

Если нужно более точно настроить чувствительность мыши и другие параметры, перейдите в верхний правый угол 3D View в Advanced Viewport settings, затем в View Camera и измените значения по необходимости.

Также можно использовать навигацию в стиле Blender:

Ввод Действие
Middle Mouse Button Вращение вокруг цели обзора.
Shift + Middle Mouse Button Панорамирование вида.
Колёсико мыши Приближение или отдаление.
---

Также есть две полезные вариации с Right Mouse Button:

Ввод Действие
Shift + Right Mouse Button Панорамирование вида.
Ctrl + Right Mouse Button Приближение/отдаление вида.
---

Если заблудились в сцене, выберите entity и нажмите F, чтобы сфокусировать на ней камеру.


Выделение Entity

Выделять entity можно двумя основными способами:

  • Кликнуть по entity в 3D View.
  • Кликнуть по entity в Scene Graph.

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

Если кликнуть по пустому месту в 3D View, Cave снимет активное выделение entity и покажет настройки сцены.

Для множественного выделения удерживайте Shift при клике. Таким образом предыдущий выбор сохранится, и вы добавите к нему новые entity.

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

Снятие выделения

Чтобы снять выделение entity, можно кликнуть в небо. Фактически при этом будет выделена сама сцена, и в Properties будут показаны её настройки.

Перемещение, Вращение и Масштабирование

Инструмент по умолчанию в 3D View — инструмент манипуляции. Он даёт вам gizmo для перемещения, вращения и масштабирования выбранных entity.

Используйте эти горячие клавиши:

Горячая клавиша Инструмент
W Перемещение.
E Вращение.
R Масштабирование.
---

Инструменты можно также менять кнопками на оверлее 3D View (в левом верхнем углу).

Gizmo использует стандартные цвета осей в 3D:

Ось Цвет
X Красный.
Y Синий.
Z Зелёный.
---

Если вы переходите из другого 3D ПО или игрового движка, заметите, что Cave Engine красит X, Y, Z оси иначе, при этом синий цвет отдаёт оси Y. Это сделано для того, чтобы вы запомнили, что именно в Cave ось Y направлена вверх, то есть в сторону неба (синего).

image.png

Тяните ось gizmo для трансформации объекта по этой оси. Для трансформации по нескольким осям одновременно тяните центр или комбинированные ручки. Если удерживать Alt при перетаскивании gizmo, это создаст дубликат entity.

Значения трансформации отображаются в вкладке Properties, и вы можете редактировать их визуально через gizmo или точно, вводя числа.

Локальная и Глобальная Ориентация

Инструмент манипуляции может работать в разных ориентациях.

Глобальная ориентация использует оси сцены. Локальная — оси, повернутые вместе с выбранным entity.

Это особенно важно, когда entity повернут. В глобальном режиме движение по X всегда по мировой оси X. В локальном — по X с учётом поворота entity.

Масштаб всегда измеряется в локальном пространстве.

Привязка

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

Когда привязка включена, Cave перемещает, вращает или масштабирует entity с фиксированными шагами, а не свободно.

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

  • Перемещение.
  • Вращение.
  • Масштаб.

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

Удерживание Ctrl временно меняет поведение привязки: если привязка включена, она отключится пока Ctrl удерживается, и наоборот.

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

Сброс трансформаций

Вы можете быстро сбросить части трансформации entity:

Горячая клавиша Действие
Alt + W Сбросить позицию.
Alt + E Сбросить вращение.
Alt + R Сбросить масштаб.
---

Это полезно, когда объект сложно позиционировать вручную или нужен чистый дефолтный вид.

Размещение Entity на Поверхностях

Если entity выделена, нажатие G перемещает её на поверхность под курсором мыши. Это удобно для размещения реквизита, света, предметов и других объектов сцены прямо на геометрии уровня.

Можно также использовать Alt + G для дублирования и размещения, удобно для оформления сцены повторяющимися объектами.

Добавление Новых Entity

Есть несколько способов создать entity.

В 3D View нажмите Shift + A, чтобы открыть меню создания новой entity.

image.png

Создавать entity можно и из Scene Graph.

Если использовать горячие клавиши вместо правого клика по Scene Graph, entity добавится в позицию, над которой находится мышь в 3D View.

Ниже приведён список распространённых типов entity, но уже можно заранее понимать, что Cave Engine не разделяет типы entity по сути — есть один тип entity, а различия даёт состав компонентов. Названия ниже — просто для быстрого понимания структуры конкретного entity. Вы подробнее узнаете об этом позже:

Тип Entity Предназначение
Folder Организация других entity.
Empty Базовый entity с трансформацией.
Mesh Видимый 3D объект.
Point Light Источник света.
Terrain Объект ландшафта.
Path Объект пути.
Camera Камера.
UI Element Элемент пользовательского интерфейса.
Text Текст UI.
Button Кнопка UI.
---

Cave также может показывать специфичные для проекта entity по умолчанию, если доступны нужные ассеты, например стандартные настройки транспорта или персонажа.

Дублирование, Копирование и Удаление

Используйте эти горячие клавиши для работы с entity:

Горячая клавиша Действие
Shift + D Дублировать выбранные entity.
Ctrl + D Дублировать выбранные entity.
Ctrl + C Копировать активное entity.
Ctrl + V Вставить из буфера обмена.
Delete Удалить выбранные entity.
Ctrl + Z Отменить последнее действие редактора.
---

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

При работе с иерархией (parenting), обращайте внимание на связи. Дублирование или удаление родительских entity влияет на детей.

Родительские связи и Организация Entity

Родительство (parenting) — это соединение одного entity как дочернего к другому родительскому. При такой иерархии дети двигаются вместе с родителями, а создание, дублирование или удаление работает над всей группой целиком.

image.png

Как это работает:

  • Можно перетащить entity в Scene Graph для установки родителя.
  • Можно выделить несколько entity и нажать Shift + P, чтобы сделать активный объект родителем остальных.
  • Чтобы убрать родителя, выделите ребёнка и нажмите Alt + P.
  • Можно также кликнуть правой кнопкой по entity в Scene Graph и выбрать "Remove Parent".

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

  • Оружие, прикреплённое к персонажу.
  • Свет, прикреплённый к движущемуся транспортному средству.
  • Группа реквизита, организованная в папке.
  • Элементы UI, сгруппированные под панелью-предком.

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

Имена, ID и Активное Состояние

У каждого entity есть имя. Хорошие имена делают сцену понятнее. Вы можете правым кликом по entity в Scene Graph изменить имя или выбрать entity и отредактировать имя во вкладке Properties.

Вместо общих имён применяйте описательные, отражающие роль объекта:

Плохое имя Хорошее имя
Mesh Деревянный ящик
Light Свет у входа в пещеру
Empty Начало игрока
Folder Триггеры геймплея

Cave также ведёт внутренние ID для entity и ассетов. Обычно они не требуют внимания при создании, но помогают движку однозначно идентифицировать объекты.

Entity могут быть активными или неактивными. Неактивный entity остаётся в проекте и сцене, но не участвует в сцене так, как активный. Это отличается от удаления, которое полностью удаляет entity из сцены. Отключение оставляет объект доступным для использования позже.

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

Хороший цикл редактирования

Обычный цикл редактирования сцены выглядит так:

  1. Навигация по 3D просмотру.
  2. Выбор или создание сущности.
  3. Перемещение, поворот или масштабирование сущности.
  4. Редактирование её настроек в Properties.
  5. Организация в Scene Graph.
  6. Сохранение проекта.
  7. Тестирование результата в Play Mode.

Вы будете постоянно повторять этот цикл при создании игры в Cave.