47.02M
Category: informaticsinformatics

Группировка объектов

1.

На прошлом занятии вы создали небольшую сцену из
нескольких объектов
Что если бы вам пришлось создать
десять таких деревьев или башен?
Как можно решить эту задачу с
помощью инструментов, изученных на
прошлом уроке? В чём минусы этого
способа?
Как ускорить процесс создания игрового уровня?

2.

Пришлось бы каждый раз выделять несколько игровых
объектов и дублировать их
Это очень рутинная работа, которая к
тому же приводит к бардаку в окне
Hierarchy.
Ускорить процесс работы над игровым
уровнем помогут префабы и
группировка объектов!
Как ускорить процесс создания игрового уровня?

3.

Ассет
игровой объект
➔ Ассет — это любая часть проекта, которая хранится в виде файла в папке
Assets. Например, Sample Scene является ассетом — вы можете найти файл со
сценой у себя на компьютере в папке проекта.
➔ Игровой объект — это объект, который добавлен на сцену. Например, объекты
Main Camera и Directional Light.
Игровые объекты
Ассет
Повторение. Элементы видеоигры. Объекты

4.

В окнах Hierarchy и Project редактора Unity!
Список всех игровых объектов
Список всех ассетов
Повторение. Элементы видеоигры. Объекты

5.

МОДУЛЬ 1. УРОК 2
Новая тема:
Группировка объектов

6.

Допустим, вам нужно на основе уже созданной башни
спроектировать крепость из 52 башен!
Вы начали дублировать все игровые объекты, которые относятся к башне, и в
итоге запутались, где начинается одна башня, а где кончается другая.
Крепость Каркассон состоит из 52 башен. Входит в список
Всемирного наследия ЮНЕСКО. Источник.

7.

Эту проблему поможет решить группировка
Несколько игровых объектов вкладывают внутрь одного игрового объекта. Как
правило, такой объект является пустым и играет роль контейнера.
Walls
Door
Roof
Steps
Tower
Группировка объектов
Далее мы рассмотрим эту идею на
более простом примере дерева.

8.

Есть два способа группировки объектов
1
Создать пустой объект, а затем вложить в него нужные объекты.
У такого способа
есть свои минусы. О
них вы узнаете
позже.
Здесь показано создание
контейнера для дерева
Группировка объектов

9.

Есть два способа группировки объектов
2
Выделить нужные объекты, а затем создать пустой родительский объект.
1. Выделить нужные объекты.
2. Кликнуть по ним правой кнопкой
мыши и выбрать опцию Create
Empty Parent.
3. Дать контейнеру
соответствующее имя на
английском.
Группировка объектов
Лучше
использовать
именно такой
способ!

10.

Контейнер также называют родительским объектом, а вложенные
в него объекты — дочерними*
Всё потому, что дочерние объекты перемещаются вместе с родителем и только
относительно его центра, а не центра сцены, как обычные объекты.
Родитель
Дочерний
объект
Дочерний
объект
Дочерний
объект
*в английском языке
принят термин child
Группировка объектов

11.

Дочерние объекты, Truck и Crown, перемещаются вместе с
родительским объектом Tree
На гиф-анимации показаны одновременно
три окна Inspector для трёх разных
объектов.
ВАЖНО! Окна так размещены только для
демонстрации связи компонентов
Transform «родителя» и «детей».
Группировка объектов

12.

При этом значения компонента Transform дочерних
объектов не меняются
Родитель
Дочерний объект
Дочерний объект
Группировка объектов

13.

МОДУЛЬ 1. УРОК 2
Работа на платформе.
Группировка объектов

14.

После теста выполните практическое задание
Упростите работу с игровыми объектами:
➔ Сгруппируйте все части дерева в один объект — Tree. Используйте опцию
Create Empty Parent.
➔ Создайте небольшой лес из 5 деревьев. Для этого продублируйте объект Tree
4 раза, используя сочетание клавиш D + Ctrl (Command).
➔ Сгруппируйте все части башни в один объект — Tower. Используйте опцию
Create Empty Parent.
Практическое задание

15.

МОДУЛЬ 1. УРОК 2
Новая тема:
Префабы — шаблоны
объектов

16.

Сейчас деревья больше похожи на фонарные столбы.
Хорошо бы к ним добавить веточки. Но как поменять
сразу все деревья?
Префабы — шаблоны объектов

17.

Изменить сразу несколько одинаковых объектов можно с
помощью префабов!
Префаб (от слова «префабрикация») — это шаблон для создания игровых объектов.
Префабрикация — способ
быстрой постройки зданий из
уже готовых материалов!
Префабы — шаблоны объектов

18.

Игровые объекты, созданные на основе префаба,
называются его экземплярами
Экземпляры — это точные копии префаба, размещённые на игровой сцене. В
отличие от дубликатов экземпляры связаны с исходным объектом.
Префабы — шаблоны объектов

19.

В чём преимущества префаба?
➔ Изменения, внесённые в префаб,
отражаются на всех его экземплярах.
➔ Префаб можно использовать в
других сценах и проектах.
Префабы — шаблоны объектов

20.

Чтобы создать префаб, достаточно перенести игровой
объект в окно Project
Игровой объект, на основе которого вы
создали префаб, окрашивается в
голубой.
Этим цветом обозначаются все
экземпляры префаба.
Префабы — шаблоны объектов

21.

Ещё один плюс префаба: можно восстановить не
сохранённый на сцене игровой объект
Префаб — это ассет (файл), который останется на вашем компьютере, даже если вы
забыли сохранить проект.
Окно Project в редакторе Unity
Префабы — шаблоны объектов
Папка проекта в менеджере файлов macOS

22.

Чтобы создать экземпляр префаба, нужно перетащить
префаб в окно Scene
Префабы — шаблоны объектов

23.

При размещении экземпляра вы могли бы столкнуться с
такой проблемой, если бы…
… использовали первый способ
группировки объектов.
При таком способе пустой объект
создаётся в позиции, которая может не
совпадать с центром будущих дочерних
объектов.
На гифке показан случай, когда у «родителя»
(зелёный плюс) и его дочерних объектов не
совпадает координата X.
Префабы — шаблоны объектов

24.

Как редактировать префаб?
Для этого есть два специальных режима — Prefab Mode и Prefab in Context.
Изменения, сделанные в обоих режимах, автоматически применяются ко всем
экземплярам префаба!
Prefab Mode
Префабы — шаблоны объектов
Prefab in Context

25.

Prefab Mode —
позволяет редактировать префаб отдельно от сцены.
1. Выберите префаб в окне
Project.
2. Нажмите на кнопку «Open» в
правом верхнем углу окна
Inspector или просто щёлкните
два раза по префабу.
3. Для выхода из режима
нажмите на стрелочку
в левом верхнем углу окна
Hierarchy.
Префабы — шаблоны объектов

26.

Полезный совет по 3D-моделированию в Unity
Для осмотра объекта со всех сторон используйте гизмо сцены. Гизмо сцены — это
визуальное представление координатных осей сцены.
➔ красный — вид спереди;
➔ зелёный — вид сверху;
➔ синий — вид справа.
Префабы — шаблоны объектов

27.

Prefab in Context —
позволяет редактировать префаб в его окружении.
1. Выберите любой экземпляр
префаба в окне Hierarchy.
2. Нажмите на кнопку «Open» в
правом верхнем углу окна
Inspector.
Такой режим удобен, если вам нужно видеть другие объекты
на сцене, чтобы понять, какие изменения вносить в префаб.
Например, у вас есть стол и четыре стула, которые не
подходят под стол по высоте. Чтобы внести изменения, вам
нужно видеть стол и стулья.
Префабы — шаблоны объектов
3. Для выхода из режима нажмите
на стрелочку в левом верхнем
углу окна Hierarchy.

28.

Если вы измените экземпляр вне специального режима,
то около него появится голубая линия
Голубая вертикальная линия означает, что экземпляр изменили, но не применили
изменения к самому префабу.
Экземпляр, в котором сделаны изменения, не
применённые к префабу
Изменение, которое было сделано, отмечено знаком
плюс. В данном случае к объекту Tree добавили
объект Leaves
Префабы — шаблоны объектов

29.

Вы можете применить изменения, сделанные вне
специального режима, к префабу
1. Выберите измененный экземпляр префаба.
2. В верхней правой части окна Inspector
найдите кнопку Overrides и нажмите её. Вам
покажут список изменений.
3. Нажмите на Apply all, чтобы применить все
изменения к префабу.
Префабы — шаблоны объектов

30.

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

31.

Оба префаба, старый и новый, никак не будут связаны
между собой
1. Перетащите экземпляр
нужного префаба в окно
Project.
2. Выберите в появившемся окне
опцию Original Prefab.
Префабы — шаблоны объектов

32.

Как удалить префаб?
Чтобы удалить префаб:
1.
2.
3.
4.
Выберите нужный префаб в окне Project.
Кликните по нему правой кнопкой мыши.
Выберите опцию Delete.
В появившемся окне нажмите на кнопку Delete and
unpack, чтобы удалить связь между префабом и
его экземплярами.
Удалится префаб, но не экземпляры.
Это действие нельзя отменить!
Префабы — шаблоны объектов

33.

МОДУЛЬ 1. УРОК 2
Работа на платформе.
Работа с префабами

34.

После теста выполните практическое задание
Завершите сборку игровой сцены:
➔ Перейдите в папку Levels. Создайте в ней папку Prefabs — в ней будут храниться
все префабы проекта.
➔ Сделайте из объекта Tree префаб.
➔ Удалите дубликаты деревьев со сцены. Вместо них разместите на сцене
экземпляры префаба Tree.
➔ Добавьте ко всем деревьям веточки через Prefab Mode.
➔ Сделайте из объекта Tower префаб, чтобы иметь возможность использовать
башню в нескольких сценах.
Практическое задание

35.

⭐ Бонусная задача
➔ Создайте новый вид деревьев. Используйте для этого префаб Tree и опцию
Original Prefab
➔ Измените веточки нового дерева через Prefab Mode или Prefab in Context.
➔ Создайте новый тип башни. Используйте для этого префаб Tower и опцию
Original Prefab.
➔ Измените форму и размер новой башни через Prefab Mode или Prefab in
Context.
Практическое задание
English     Русский Rules