СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ РАБОТ в рамках подготовки к демонстрационному экзамену по компетенции «Разработка виртуальной и дополненной реальности»

Категория: Прочее

Нажмите, чтобы узнать подробности

Методические рекомендации по выполнению практических работ в рамках подготовки к демонстрационному экзамену по компетенции «Разработка виртуальной и дополненной реальности» созданы в помощь для работы на занятиях по учебной практике, подготовки к демонстрационному экзамену. 

Просмотр содержимого документа
«МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ РАБОТ в рамках подготовки к демонстрационному экзамену по компетенции «Разработка виртуальной и дополненной реальности»»

Министерство образования и науки Нижегородской области

Государственное бюджетное профессиональное образовательное учреждение

«Уренский индустриально – энергетический техникум»













МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ РАБОТ

в рамках подготовки к демонстрационному экзамену по компетенции «Разработка виртуальной и дополненной реальности»

по специальности 09.02.07 Информационные системы и программирование




















г. Урень, 2023 год


Методические указания по проведению практических работ в рамках подготовки к демонстрационному экзамену по компетенции «Разработка виртуальной и дополненной реальности» по специальности 09.02.07 Информационные системы и программирование

Составитель: Гусева Анна Сергеевна, преподаватель специальных дисциплин













Методические указания к выполнению практических работ предназначены для обучающихся ГБПОУ «Уренский индустриально – энергетический техникум» для специальности 09.02.07 Информационные системы и программирование для подготовки к демонстрационному экзамену по компетенции «Разработка виртуальной и дополненной реальности»

Методические указания по проведению практических работ составлены в

соответствии с рабочей программой учебной практики профессионального модуля ПМ.04 Сопровождение и обслуживание программного обеспечения компьютерных систем.






СОДЕРЖАНИЕ


ВВЕДЕНИЕ

  1. Пояснительная записка

  2. Контроль и оценка

  3. Перечень практических занятий

ЧАСТЬ I Работа в Unity

ЧАСТЬ II Работа в Blender

ЧАСТЬ III Типовые задания

Список литературы






















ВВЕДЕНИЕ


Методические рекомендации по выполнению практических работ в рамках подготовки к демонстрационному экзамену по компетенции «Разработка виртуальной и дополненной реальности» созданы в помощь для работы на занятиях по учебной практике, подготовки к демонстрационному экзамену. Приступая к выполнению задания учебной практики, Вы должны внимательно прочитать цель и задачи занятия, краткими теоретическими и учебно-методическими материалами по теме практической работы. Наличие положительной оценки по практическим работам необходимо для получения зачета по дисциплине УП.04 Сопровождение и обслуживание программного обеспечения компьютерных систем и допуска к демонстрационному экзамену.



























  1. Пояснительная записка


Методические рекомендации предназначены в качестве методического

пособия при проведении занятий по учебной практике по модулю ПМ.04 Сопровождение и обслуживание программного обеспечения компьютерных систем для специальности 09.02.07 Информационные системы и программирование.

Цель:

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

Задачи:

− формировать умения применять полученные теоретические знания на практике;

− выработать при решении поставленных задач таких профессионально значимых качеств, как самостоятельность, ответственность, точность, творческая инициатива.

Перед выполнением заданий по учебной практике повторяются правила

техники безопасности. При выполнении задания и формирования отчета обучающийся придерживается следующего алгоритма:

1. Записать дату, тему и цель работы.

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

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

4. Выполнить работу по предложенному алгоритму действий.

5. Обобщить результаты работы, сформулировать выводы по работе.

Работа должна быть выполнена грамотно, с соблюдением культуры

изложения.


  1. Контроль и оценка


Предметом оценки освоения дисциплины являются умения, знания,

общие компетенции, способность применять их в практической деятельности

и повседневной жизни.

Критерии оценки работ по учебной практике:

Оценка «5» – работа выполнена в полном объеме и без замечаний.

Оценка «4» – работа выполнена правильно с учетом 2-3 несущественных

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

Оценка «3» – работа выполнена правильно не менее чем на половину или

допущена существенная ошибка.

Оценка «2» – допущены две (и более) существенные ошибки в ходе работы,

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

























3.Перечень практических занятий


ЧАСТЬ I Работа в Unity


1.   Введение в Unity

1.1. Преимущества Unity

Приложение Unity предлагает моделирование физических сред, карты нормалей, преграждение окружающего света в экранном пространстве (Screen Space Ambient Occlusion, SSAO), динамические тени и многое другое.

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

Движок обеспечивает основную функциональность пакета Unity3d. Он включает в себя многократно используемые программные компоненты: графический движок («визуализатор»), физический движок, звуковой движок, систему скриптов, анимацию, искусственный интеллект, сетевой код, управление памятью и многопоточность.

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

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

2. Межплатформенная поддержка

В данном случае это словосочетание подразумевает не только места развертывания (игру можно развернуть на персональном компьютере, в интернете, на мобильном устройстве или на консоли), но и инструменты разработки (игры создаются на машинах, работающих под управлением как Windows, так и Mac OS). Эта независимость от платформы явилась результатом того, что изначально приложение Unity предназначалось исключительно для компьютеров Mac, а позднее было перенесено на машины с операционными системами семейства Windows. Созданные на движке проекты можно легко портировать между ОС Windows, Linux, OS X, Android, iOS, на консоли семейств PlayStation, Xbox, Nintendo, на VR- и AR-устройства. Unity поддерживает DirectX и OpenGL, работает со всеми современными эффектами рендеринга.

3.Модульная система компонентов, которая используется для конструирования игровых объектов. «Компоненты» в такой системе представляют собой комбинируемые пакеты функциональных элементов, поэтому объекты создаются как наборы компонентов, а не как жесткая иерархия классов. В результате получается альтернативный (и обычно более гибкий) подход к объектно-ориентированному программированию, в котором игровые объекты создаются путем объединения, а не наследования.

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

Разумеется, ничто не мешает написать код, реализующий вашу собственную компонентную систему, но в Unity уже существует вполне надежный вариант такой системы, органично встроенный в визуальный редактор. Эта система дает возможность не только управлять компонентами программным образом, но и соединять и разрывать связи между ними в редакторе. Разумеется, возможности не ограничиваются составлением объектов из готовых деталей; в своем коде вы можете воспользоваться наследованием и всеми наработанными на его базе шаблонами проектирования.

1.2. Недостатки

1. Создание масштабных, сложных сцен с множеством компонентов может негативно повлиять на производительность игры, в результате чего разработчикам придется потратить дополнительное время и ресурсы на оптимизацию, а возможно – и удаление некоторых элементов из проекта.

2. Приложения, созданные на Unity, довольно «тяжеловесны»: даже самый простой проект может занимать несколько сотен мегабайт на ПК. Да, для жесткого диска компьютеров это небольшой объем, но, если проект разрабатывается и для web или мобильных платформ, следует задуматься об оптимизации его размера.

3. Нетипичное сочетание визуального редактора со сложным кодом, несмотря на всю его эффективность в рамках компонентной системы Unity. В сложных сценах из виду могут потеряться присоединенные компоненты. Разумеется, существует функция поиска, но она могла бы быть и более надежной; порой все равно возникают ситуации, когда для поиска связанных сценариев приходится вручную просматривать все элементы сцены. Такое случается нечасто, тем не менее подобной кропотливой и трудоемкой работы хотелось бы совсем избежать.

4. Unity не поддерживает ссылки на внешние библиотеки кода. Все библиотеки, которые вы планируете задействовать, следует вручную копировать в проект, вместо того чтобы дать ссылку на одну папку общего доступа. Отсутствие единой папки с библиотеками затрудняет коллективное использование функционала разными проектами. Это неудобство можно обойти, рационально воспользовавшись системами контроля версий, но готовое решение данной проблемы в Unity отсутствует.


1.3. О сценах

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

1.4. GameObject

Практически все в вашей сцене является GameObject. Вспомните System.Object в .NET Framework. От него наследуют почти все типы. Та же концепция относится и к GameObject. Это базовый класс для всех объектов в сцене Unity.

GameObject довольно прост, так как он относится к окну Inspector. У GameObject по умолчанию нет визуальных свойств, если не считать того, что при выделении этого объекта появляется виджет Unity. На этом этапе это фактически пустой объект. 

GameObject имеет свойства Name, Tag, Layer и Transform.

Свойство Transform определяет позицию, поворот и масштаб любого GameObject. Unity использует левостороннюю систему координат, в которой координаты на экране компьютера рассматриваются как X (по горизонтали), Y (по вертикали) и Z (глубина, т. е. входящие или исходящие из экрана). Transform.Position и Transform.Scale являются объектами Vector3. Vector3 — это трехмерный вектор; иначе говоря, в нем не более трех точек: только X, Y и Z. Манипулируя этими тремя простыми значениями, вы можете задавать местонахождение объекта и даже перемещать его в направлении вектора.

2. Редактор Unity

2.1. Интерфейс редактора

Интерфейс Unity состоит из следующих частей: вкладка Scene, вкладка Game, панель инструментов, вкладка Hierarchy, панель Inspector, вкладки Project и Console. Каждая часть имеет собственное предназначение, но все они играют важную роль в цикле создания игры:

Просмотр файлов выполняется на вкладке Project.

Объекты трехмерной сцены просматриваются на вкладке Scene.

Панель инструментов предоставляет элементы управления сценой.

На вкладке Hierarchy путем перетаскивания можно менять связь между объектами.

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

Тестирование результатов осуществляется на вкладке Game, а сообщения об ошибках появляются на вкладке Console.

2.2. Общий вид

Рабочее окно Unity разбито на 6 взаимосвязанных областей. (По умолчанию в Unity включается вид «Default» или «Tall». Если у вас другой вид рабочего окна, то можете переключить его в меню «Layout» в верхнем правом углу окна).

Перечень всех рабочих областей окна Unity:

1. Main menu
(Главное меню)

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

2. Project View
(Обзор проекта)

Список, в котором показаны все используемые файлы в игре: файл сцены, файл программного кода, графические и аудиофайлы.

3. Hierarchy
(Иерархия)

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

4. Scene
(Сцена)

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

5. Game
(Игра)

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

6. Inspector
(Инспектор)

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


2.3. Главное меню (Main menu)

Главное меню Unity3D стандартно располагается в верхнем левом углу окна. Здесь есть обычные команды, типа «сохранить», «загрузить», но есть и уникальные для этой программы строчки.

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

2.4. Обзор проекта (Project View)

Каждый проект содержит папку «Assets». Содержимое этой папки представлено в области «Project View». Это ресурсы игры: файлы-скрипты, 3D-модели, текстуры, аудиофайлы, префабы (объекты, которые можно клонировать).

Добавить новый ресурс в проект можно двумя способами:

- перетащить файл из Проводника в Project View.

- команда «Assets» «Import New Assets».

Проекты игры состоят из одного или нескольких файлов сцены. Каждая отдельная сцена – это отдельный уровень игры. Сцены так же хранятся в папке «Assets» и отображаются в «Project View».

Некоторые игровые ресурсы не являются файлами, и создаются непосредственно в Unity. Для создания ресурса используется выпадающее меню «Create» в «Project View» или (ПКМ) «Create».

Меню «Create» позволяет добавлять в проект скрипты, префабы, папки и прочее. Любой ресурс или папку можно переименовать, нажав «F2» или сделав два клика по имени. Если зажать «Alt», то при раскрытии директории будут раскрыты и все поддиректории.

2.5. Иерархия (Hierarchy)

Иерархия содержит все объекты (GameObject) открытой сцены. Объекты, добавляемые в сцену или удаляемые из неё, отображаются или наоборот перестают отображаться в Hierarchy.

Наследование (Parenting). В иерархии Unity объектам можно задавать наследование. Любой объект может быть дочерним по отношению к другому. Дочерний объект будет двигаться и вращаться вместе с родителем. Для создания дочерней связи достаточно перетащить объект на «родителя» в Hierarchy.

2.6. Сцена (Scene View)

Игровая сцена используется для расстановки объектов на уровне (окружение, персонажи, камеры, системы частиц и прочее). Сцена может являться игровым уровнем, главным меню, заставкой.


В 2D режиме управление интуитивно понятно. В 3D режиме есть множество приёмов для перемещения по сцене:

  • Зажатый ПКМ активирует режим свободного полёта.

  • Перемещаться можно клавишами WASD на манер игры в жанре FPS.

  • Выберите объект в списке иерархии и нажмите «F». Вид сцены будет центрирован и масштабирован по выбранному объекту.

  • При зажатом Alt, ЛКМ будет крутить камеру вокруг текущей точки опоры.

  • При зажатом Alt, СКМ будет перемещать камеру.

  • При зажатом Alt, ПКМ будет масштабировать вид сцены.

  • Альтернативный режим перемещений — клавиша Q.

2.7. Игровой вид (Game View)

Game View — предпросмотр игры (рендер из игровой камеры).

В расположении окон по умолчанию «Игровой вид» отсутствует, для его включения нужно выбрать вкладку «Game» над игровой сценой. В других режима окон «Игровой вид» занимает своё отдельное место.

Три кнопки в верхней части окна Юнити отвечают за управление предпросмотром игры: «Play», «Pause» и «Step». (Все изменения, произведённые во время предпросмотра, сбрасываются при выходе из него. Исключением являются изменения в префабах).

2.8. Game View Control Bar

Первое выпадающее меню в «Game View» — это контроль пропорций изображения (Aspect Drop-down). На некоторых дисплеях это соотношение отличается от стандартного 4:3 (например, на широкоформатных мониторах — 16:10).

Далее идёт кнопка «Maximize on Play». Если она нажата, то «Game View» растягивается на всё окна редактора при предпросмотре.

Кнопка «Gizmos» включает отображение контейнеров гизмо в «Game View».


Последняя кнопка — «Stats». Она показывает статистку рендеринга (Rendering Statistics), полезную при оптимизации.

2.9. Инспектор (Inspector)

GameObject – это любой объект в игре. Следует понимать, что сам по себе объект ничего не делает. Ему требуются специальные свойства, прежде чем он станет персонажем, окружением или визуальным эффектом.

Объекты — это лишь контейнеры. Они могут содержать в себе различные элементы, комбинации которых превращают объект в персонаж, декорацию, спецэффект. Эти элементы называются компонентами (Components). В зависимости от того, что нужно создать, объекту присваиваются различные комбинации компонентов.

Перечень объектов содержится в области «Hierarchy». Если в списке иерархии мы выберем любой объект, то в области «Inspector» (Инспектор) отобразятся все свойства этого конкретного объекта. Здесь же можно редактировать все эти свойства или добавлять новые.

Объект может содержать в себе такие типы компонентов: расположение в пространстве (Transform), меши (meshes), скрипты (scripts), звуки, ИС (Lights) и другие элементы.

2.10. Status Bar

Строка состояния (Status Bar) расположена в нижней части окна редактора. Она отображает ошибки компиляции и логи дебага. Если возникают проблемы с игрой, стоит заглянуть в строку состояния. Двойное нажатие на неё вызовет окно консоли (Console), в котором отображаются все ошибки.

2.11. Настройка рабочего окна

Можно настраивать расположение (Layout) секторов, перетаскивая их за закладки. Если перетащить закладку в область закладок уже существующего окна, то она будет добавлена к присутствующим там закладкам. Также можно прикрепить сектор к краю экрана или краю другого сектора.

Сектор может быть пристыкован к одной из сторон существующего окна.


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

Плавающее окно редактор похоже на главное окно, но не имеет панели инструментов (Toolbar).

Когда расположение секторов задано, его можно сохранить и загрузить в нужный момент через выпадающее меню Layout (Save и Load).

Полностью настроенное расположение секторов.

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

2.12. Загрузка ассетов

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

Перейдите в Window Asset Store. Когда магазин откроется, вы увидите там множество объектов, текстур, персонажей и инструментов Unity. Конечно же, вы можете купить всё, что вам понравится, но в этом уроке я расскажу, как создавать текстуры самостоятельно, а также как пользоваться бесплатными ассетами. При первом открытии магазина вас могут попросить войти в вашу учетную запись.

Введите в строку поиска по магазину “Yughues Free Concrete Materials”. Вам откроется окно.

Нажмите Download, дождитесь окончания загрузки и кликните Import. В зависимости от вашей ОС процесс может занять от двух до десяти минут. По завершении импорта новый ассет появится во вкладке Project.

Нам также потребуется скайбокс – найдите и импортируйте Wispy Skybox.

Теперь пришло время добавить пакеты Unity. Выберите Assets Import Package. Нам потребуются пакеты Characters, Cameras и Environment.


2.13. Поиск бесплатных ассетов

Чтобы найти текстуру дороги, я ввела “road textures” в поисковике Bing и перешла во вкладку «Изображения». Следует убедиться, что поиск выполняется по файлам с бесплатной лицензией.

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

Теперь аналогичным образом подыщем текстуры для зданий. Я использовала запрос “building textures”. Не забывайте поддерживать порядок в файлах и сохранять изображения в соответствующую папку Unity.

Примечание: работая в Unity над коммерческим проектом, позаботьтесь о лицензии ваших ассетов. Изображения, не требующие лицензионных отчислений, можно купить на Envato Market.

Создайте папку во вкладке Project и назовите ее Artwork. Перейдите в Asset Import Asset и выберите изображение, затем переместите его в папку Artwork.

Примечание: при перемещении изображения сразу после сохранения проекта оно может не отобразиться или отобразиться без текстуры.

Задание к практике. Введение в Unity

Unity - мультиплаформенная среда разработки 2D и 3D приложений реального времени. Это означает, что результат - графика, симуляция физики и т. д. - происходит сразу без предварительного ожидания, как это бывает, например, в приложениях создания 3D анимаций.

Все версии проекта Unity содержат интегрированный редактор проектов, поддерживают импорт графических и неграфических ресурсов (моделей, в том числе анимированных, текстур, скриптов и т. д.), содержат встроенные ландшафты, шейдерную систему, сочетающую простоту использования, гибкость и производительность. Программирование графики в Unity осуществляется средствами JavaScript, Boo (диалект Python) и C# на основе .NET; реализована работа с сетью, используется физический движок Ageia PhysX, смешивание 3D-графики реального времени с потоковым аудио и видео. Сервер ресурсов Unity обеспечивает контроль версий в Unity.

Unity поддерживает широкий диапазон платформ: Windows, macOS, iOS, Android, Linux, игровые консоли, браузеры.

Unity можно взять с официального сайта по ссылке: https://unity3d.com/get-unity/download/archive

Также нам понадобится стандартный набор Standard Assets, который можно взять с сайта Asset

Store по ссылке:

https://assetstore.unity.com/packages/essentials/asset-packs/standard-assets-for-unity-2018-4-32351

Создание физических объектов

Создайте проект Unity. Сохраняйте сцену с помощью Ctrl+S.

В Unity есть две основные вкладки - это Scene и Game. Scene (Сцена) - это редактор объектов в пространстве вашего проекта. В режиме редактора сцен не происходят никакие симуляции, а для удобства отображаются различные элементы интерфейса прямо в сцене. Game - это ваше приложение в процессе выполнения. Для перехода к режиму Game нужно нажать кнопку Play, и затем можно поставить симуляции на паузу, или завершить повторным нажатием Play.

Откройте Window - Package Manager, скачайте (Download) и импортируйте в проект (Import) весь набор Standard Assets. Закройте вкладку Package Manager, нажав ПКМ и Close Tab.

Объекты, размещенные в сцене Unity именуются GameObject (Игровые Объекты). В строке меню для создания объектов есть одноименный раздел.

Рис. 1. Меню GameObject

Разместите объекты Plane (Плосткость) и Cube (Куб) в вашей сцене, как показано на рис. 2.

Перемещение объектов происходит интуитивно при создании или после нажатия на них. Также после выбора нужных объектов можно задать координаты расположение объекта в пространстве в панели Inspector в разделе Transform.

Созданные объекты видны в панели Hierarchy (Иерархия). При создании пустого проекта там также должны быть видны объекты Main Camera (Главная камера, используемая в Game) и Directional Light (Направленный свет, из-за которого на Plane видна тень от Cube).


Рис. 2. Расположение объектов Plane и Cube

Можно заметить, что в Inspector есть можно других настроек помимо Transform. Это дополнения к GameObject - Components (Компоненты) - модели, физика, материалы, т.д. Для добавления компонентов к выделенному объекту можно воспользоваться разделом Component строки меню или кнопкой Add Component в панели Inspector.

Добавьте компонент Physics - Rigidbody к объекту Cube.

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

По-умолчанию оба наших объекта имеют компоненты типа Collider, что позволяет им сталкиваться (а значит Cube не падает сквозь Plane). В настройках можно задать как объекты будут сталкиваться, выбрав физический материал (например, из Standard Assets).

Выберите физ. материал Bouncy (Прыгучий из Standard Assets) для Box Collider объекта Cube.


Рис. 3. Выбор материала Bouncy

Нажав Play можно заметить, как куб начал отпрыгивать от Plane при столкновении.

Основы скриптинга

Дальше нам понадобится еще один куб, который будет являться стеной.

Создайте Cube и задайте Transform для него так как показано на рис. 4.

Рис. 4. Расположение стены

У нас получилось для объекта с названием Cube, и ко второму добавился постфикс (1). Эти наименования нам ничего особо не говорят, и будет намного удобнее, если мы их назовем по своему.

В Hierarchy переименуйте объекты в Floor, Cube и Wall соответственно порядку создания.


Приступим к созданию скриптов. Наши скрипты будут написаны на языке C#. Каждый скрипт имеет класс с тем же названием как и файл скрипта и наследует класс MonoBehaviour. Скрипт можно создать в разделе Assets - Create строки меню или в панели Project в папке Assets c помощью ПКМ.

Создайте скрипт с названием dropbox с содержанием класса как на рис. 5 и рис. 6. Прикрепите его к объекту Cube перетаскиванием скрипта на объект в сцене или иерархии.

В данном скрипте задается поведение объектов, использующих данный скрипт. По-умолчанию создаются методы Start (выполняется при запуске) и Update (выполняется каждый кадр). Эти методы нам не пригодятся, но нам будет нужен метод OnCollisionEnter (выполняется при начале столкновения).

Рис. 5. Класс dropbox

Функция Debug.Log выводит текст в панель Console (Консоль), последнее сообщение которой всегда видно в строке состояния Unity.

При запуске при каждом столкновении куба будет вывод сообщения “Collision occured”.

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

Рис. 6. Класс dropbox с учетом объекта столкновения

Повернув Cube на 60, 45, 0 и нажав Play можно заметить, что консоль выводит названия объектов столкновения, заданные ранее (Floor и Wall).



Управление объектами Unity 1. Префабы Unity

Префабы (англ. Prefab, от Prefabricated - сборный) - шаблон созданных вами объектов, который можно переиспользовать для создания похожих, но уникальных, объектов. Любое объекты созданный от префаба будут иметь те же компоненты, что и в самом префабе.

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

Помимо того, что префабы можно взять из Asset Store, их можно создать самому из своих объектов. Самый простой способ - перетащить объект из Hierarchy прямо в панель Project.

Создайте префаб объекта Cube из предыдущей работы.

Рис. 1. Префаб Cube в Hierarchy

Так как теперь наш Cube связан с префабом, он отображается в панели Hierarchy синим цветом. Изменяя параметры префаба в сцене, меняется только тот уникальный объект. Нажав на стрелку можно перейти к параметрам объекта в префабе, где можно настроить его самого, изменяя все объекты в сцене, использующие префаб.

2. Динамическое управление объектами

Скорее всего в любом объектно-ориентированном приложении требуется создание или уничтожение объектов во время выполнения. Для этого в Unity существуют различные методы.


Удаление всевозможных элементов в сцене выполняется с помощью метода Destroy.

Измените скрипт dropbox как указано на рис. 2.

Рис. 2. Уничтожение объектов

При выполнении данного скрипта сначала исчезнет сам скрипт (при столкновении не будет сообщения), затем через 2.5 секунд компонент Rigidbody (объект “повиснет в воздухе”), затем еще через столько же исчезнет Wall, а потом и сам объект, к которому был прикреплен скрипт.

Мы использовали gameObject - это есть объект со скриптом. Для каждого объекта код скрипта выполняется заново с другим gameObject.

GameObject.Find - статический метод класса GameObject, позволяющий найти объект с определенным названием.

GetComponent - выбрать компонент определенного типа.

this - данный класс, выполняющий код, в нашем случае - объект dropbox, наследующий MonoBehaviour - то есть это и есть наш скрипт.

Теперь создадим объекты при помощи скрипта. Для этого мы возьмем новый объект и прикрепим к нему новый скрипт (из старого можно убрать метод Start, чтобы созданные объекты не исчезали).

Создайте объект Empty с Transform, как на рис. 3, и создайте для него скрипт с названием emitter.


Рис. 3. Объект Emitter

Старый Cube можно удалить из сцены, чтобы было точно ясно что новый был создан скриптом. Наш Emitter создаст объект по своему местоположению.

Запишите метод Start для emitter по рис. 4.

Рис. 4. Скрипт emitter

Объект transform относится к объекту, имеющему данный скрипт.

InputPrefab был задан глобально в классе с префиксом public, а значит - это объект, который мы задаем через Inspector. Откройте параметры объекта Emitter и заметьте, что Input Prefab не задан (стоит значение None). Если запустить сцену, то Unity выдаст ошибку. В Inspector нужно задать префаб, который мы хотим разместить скриптом в сцене, выбрав его там, или перетащив из панели Project в поле Input Prefab.

Задайте наш префаб Cube в поле Input Prefab.

При запуске можно увидеть новый куб, созданный скриптом, и к тому же падающий с неба, так как мы его создали из позиции объекта Emitter, имеющего Y = 10.

Графика в Unity 1. Модели

Создайте новую сцену. Добавьте пустой объект.

За модели в Unity отвечают два компонента Mesh (англ. Polygon Mesh - полигональная сетка) - Mesh Filter и Mesh Renderer. Mesh Filter определяет модель данного объекта. Mesh Renderer определяет материал объекта и взаимодействие со светом.

Добавьте эти два компонента к новому объекту, выбрав Mesh - Capsule.

В отличии от того, как мы бы создали объект Capsule через меню GameObject, материал установился None. Отсутствие материала отображается маджента (ярко-розовым) цветом, чтобы было заметно, что он отличается от объектов, чьи материалы правильно загрузились.

Рис. 1. Капсула без материала

В Unity нет своего редактора моделей. Для их создания нужно использовать внешний редактор, вроде Blender. Также можно найти много разных моделей на Asset Store.

2. Материалы и текстуры

Материал - поверхность модели. Это текстуры, карты, эффекты.

Создайте новый материал в панели Project и присвойте капсуле.


В Inspector можно увидеть настройки материала - цвет, блеск, матовость, карта нормалей, высот, свечение, т.д. Слева от разных параметров можно нажать на цель чтобы задать текстуры.

Видимая текстура задается вместо цвета - параметр Albedo.

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

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

Карта высот (Height Map) - текстура, смещающая остальные в зависимости от проекции, придавая эффект высоты.

Поэкспериментируйте с текстурами из Standard Assets - задайте текстуры Albedo и Normal Map.

Рис. 2. Материал с разными текстурами.


3. Основы Шейдеров

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

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

В Project создайте шейдер RCShift типа Image Effect Shader.
Шейдеры в Unity написаны на языке Cg (от C for Graphics) от Nvidia. Откройте шейдер в своем любимом текстовом редакторе.
Нас интересует только функция frag, отвечающая за фрагменты на экране (пиксели). На входе она получает двухмерный вектор, отвечающий за положение пикселя на экране (от -1 до 1).

Вот полный шейдер со всем что нам нужно:


Рис. 3. Шейдер RCShift

Мы взяли R от смещенного экрана, GB от оригинального, и 1 для A - alpha-канал прозрачности.

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

Рис. 4. Скрипт для шейдера

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

Рис. 5. Результат выполнения шейдера.

Повторите пример шейдера у себя в проекте.

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



Динамика Объектов в Unity 1. Метод Update

Unity является приложением реального времени, а именно выполняет действия с максимально возможной скоростью. Для рендеринга (визуализации, рисования графики) чаще всего это частота смены кадров, при вертикальной синхронизации с монитором 60 Гц - это 60 кадров/сек.

Каждый кадр Unity вызывает для скриптов метод Update. Получается, любое действие выполненное в нем, будет выглядеть как плавное, например смена положения каждый кадр будет выглядеть как плавное движение объекта.

Но при отсутствии синхронизации, может получиться что такое движение происходит рывками, когда кадров становится меньше или больше в данную секунду. Для этого в Unity есть переменная Time.deltaTime, которая вычисляется в секундах учитывая разницу во времени с предыдующим кадром. Используя эту переменную можно задавать скорость в секундах, а не в кадрах, что даст желаемую постоянную скорость движения.

Создайте новую сцену File - New Scene и добавьте куб с новым скриптом с названием move и содержанием как на рис. 1.

Рис. 1. Скрипт move

В данном скрипте мы передвигаем объект по X координате каждый кадр со скоростью speed, заданной через Inspector (по-умолчанию 1 ед/с). Вектор (speed, 0, 0) умножается на Time.deltaTime чтобы исключить рывки в движении и задать скорость в ед/с, а не ед/кадров.

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


2. Физическая Динамика

Движение заданное с помощью Translate не будет хорошо взаимодействовать с физическими объектами Rigidbody. Если обычные кубы просто будут проходить сквозь любые другие (рис. 2 и 4), то Rigidbody вообще ведет себя неадекватно и дрожит, пытаясь пройти насквозь (рис. 3).

Рис. 2. Зеленый куб со скриптом проходит через серый

Рис. 3. Rigidbody (Зеленый куб) со скриптом дрожит у серого

Рис. 4. Rigidbody (Зеленый куб) не толкается серым со скриптом

Дело в том, что при использовании Translate объект просто “телепортируется” в новое положение, вместо того чтобы взаимодействовать с другими объектами. При написании скриптов такого движения придется дописывать взаимодействие самим.

Объекты Rigidbody подчиняются законам механики, а именно движение базируется на силе. Скрипты могут вызвать метод AddForce для того, чтобы заставить их двигаться.

Создайте новую сцену и добавьте Rigidbody кубы в положениях -1 и 1 по оси X, добавьте плоскость на которую кубы могут упасть.

Рис. 5. Два Rigidbody куба в сцене

К кубу с X = -1 прикрепим скрипт, который при запуске толкнет его вправо, вдоль оси X.

Создайте скрипт force как на рис. 6.

Рис. 6. Скрипт force

Теперь можно увидеть как левый куб выносит правый с плоскости и сам падает с ним.

Важно заметить достаточное высокое значение вектора силы - сила была передана единственным импульсом со значительно малым временем действия, что мало изменило вектор скорости, который имел на тот момент куб. AddForce по умолчанию использует тип силы ForceType.Force, который нацелен на то, чтобы его постоянно вызывали. Так же можно перечислить другие типы, после вектора через запятую, например ForceType.Impulse, который полностью заменяет вектор скорости объекта, а не пытается корректировать прежний. Им можно резко сменить направление движение объекта Rigidbody, а единицы силы будут более приближенными к координатным единицам.



3. Счет времени в Unity

В данном инструментарии нет какого-то особого способа счета времени, кроме вещей вроде метода Destroy. Для этого опять можно воспользоваться методом Update и переменной Time.deltaTime, переводящей кадры в секунды.

Рис. 7. Скрипт таймера на 2 секунды

Скрипт толкает куб вверх каждые 2 секунды. Используется private чтобы переменная не отображалась в Inspector. Без сброса переменной t = 0 действие будет происходить каждый кадр после первых двух секунд после запуска.

Прикрепите новый скрипт с названием timer ко второму кубу, установите силу в скрипте force 500.

Пользовательский Интерфейс в Unity 1. Управление Вводом

В новых версиях Unity ввод заменен на новый пакет Input System.

Для его установки у себя пройдите в Window - Package Manager и в режиме Packages: Unity Registry откройте Input System и нажмите Install.

Создайте новую сцену с кубом. Добавьте компонент Player Input.

Для того чтобы использовать ввод, надо настроить Input Actions (действия ввода). Для этого в параметрах компонента Player Input надо нажать Create Actions и сохранить этот новый Asset. В панели Project он должен появиться, и его можно открыть и настроить. По-умолчанию Unity создает 3 действия - Move (движение WASD), Look (мышкой Delta), Fire (ЛКМ).

Нажав ПКМ на Player (или создав свой Action Map), можно добавить действие через Add Action. Справа в Properties видны тип действия Action Type (Value - на изменение значения, Button - на нажатие/отпуск, Pass Through - передача полностью скриптам или другим системам Unity).

Добавьте действие Jump происходящее по нажатию Button пробела, как на рис. 1.

Рис. 1. Действие Jump

Создайте скрипт input как на рис. 2 и присвойте его кубу.

Рис. 2. Скрипт input

Название метода OnJump складывается из названия действия Jump.

Создайте Plane под кубом и добавьте кубу Rigidbody.

Нажав Play можно проверить, как работает Jump - нажимаем пробел, и без возвращения на землю можно нажать его снова - получается что-то наподобие Flappy Bird, только с кубом.

Попробуйте сделать метод OnMove(InputValue value) и двигать куб по данным, полученным из Vector2 v = value.Get();

2. Интерфейс

Элементы интерфейса Unity UI распологаются в объекте Canvas (холст). Создание любых объектов интерфейса приводит к созданию Canvas.


Создайте объект Text. Разместите его так, чтобы он был виден в Game.

Создайте метод OnFire как на рис. 3 скрипта input, который будет менять текст.

Рис. 3. Метод OnFire меняющий текст

Создайте кнопку Button и расположите ее на экране. Создайте метод OnButton как на рис. 4. В Inspector перетащите из Hierarchy наш Cube и выберите метод input - OnButton.

Рис. 4. Метод OnButton

Unity может вывести ошибки об использовании старой версии InputSystem, когда мы установили новую. Для этого двойным кликом по ошибке открываем в Inspector настройки и жмем Replace.

Рис. 5. Replace with InputSystemUIInputModule

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

Рис. 6. Пример вида задания

Сборка приложений в Unity 1. Главный экран

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

Создайте две сцены. Первая с элементом интерфейса - кнопкой как на рис. 1, и скриптом, привязанным к ней, как на рис. 2.

Рис. 1. Кнопка Start Game

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

Рис. 2. Скрипт startButton

Такая кнопка должна перенести нас на вторую сцену. Первая ошибка очевидна, нам нужно снова исправить InputSystemUIInputModule, но потом появляется следующая:

Рис. 3. Ошибка отсутствия сцен в сборке

2. Сборка

Для того, чтобы ее исправить нужно настроить сборку проекта - то, как проект будет собран и под какие платформы. Проходим в File - Build Settings. Тут можно добавить сцены, которые будут использоваться в сборке. Открываем первую сцену, добавляем, открываем вторую, добавляем. В колонке справа будут видны индексы сцен в сборке, и при загрузке сцен по кнопке вместо названий можно пользоваться индексами.

Нажимаем Build And Run и выполняем сборку проекта в отдельное приложение. После сборки оно запустится.

Приложение будет в виде .exe файла в указанной вами папке.

3. Доработка

Как вы могли заметить, приложение открылось на весь экран, и из него никак кроме как Alt+F4 или другими внешними способами не выйти.
Добавьте кнопку выхода к главному экрану. Метод Application.Quit().
В нашей второй сцене совсем пусто. По идее, там должна быть какая либо игра, и явно какой либо способ вернуться на главный экран.

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

Дополненная реальность в Unity и Vuforia 1. Введение

Существуют два вида невещественных реальностей, управляемых компьютерными устройствами - Виртуальная реальность (VR - virtual reality) и Дополненная реальность (AR - augmented reality).

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

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

Примером AR приложения является Google Lens, который определяет объекты и переводит текст прямо на объектах.

Для Unity существует множество AR-движков.

Основные - ARKit и ARCore, для iOS и Android, соответственно. Они сложные и многофункциональные, поддерживают меньше количество устройств чем остальные движки и более требовательны к ресурсам устройства.

Дальше - основные коммерческие движки - Unity MARS, Vuforia, Maxst. Они имеют дорогие платные версии, и бесплатные с ограничениями на AR и приложения.

2. Установка Vuforia

Взять Vuforia для Unity можно на портале разработки Vuforia

https://developer.vuforia.com/downloads/sdk

При выборе файла пакета Unity сайт попросит вас зарегистрироваться (по кнопке Create new account). После успешной регистрации и входа можно скачать этот файл.

Создайте новый проект Unity, перетащите файл Vuforia в панель Project.

Спустя полтора часа Vuforia загрузится в ваш проект и теперь его нужно настроить. Пройдите в Help - Vuforia Engine - Show Developer Agreement и подтвердите.

Дальше нужно настроить лицензионный ключ. Для этого нужно опять пройти на портал разработчиков, в раздел Develop:

https://developer.vuforia.com/vui/develop/licenses

Там получить ключ (задайте имя ему сами), нажмите его снова и скопируйте его в Window - Vuforia Configuration, там в Inspector - App License Key.

3. Работа с Vuforia 3.1. AR Camera

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

Создайте GameObject - Vuforia Engine - AR Camera.

При запуске программы будет показан вывод вашей камеры.
3.2. Image Target

Одна из вещей, которая часто выполняется в AR, это действие над изображением на плоскости. Так бывает в приложении Google Lens, которое переводит таблички с иностранного языка прямо на самой поверхности текста, или какие-либо рекламные кампании магазинов игрушек или еды, которые предлагают скачать приложение и навести камеру на картинку, которая прилагается вместе с продуктом, чтобы отобразить какой-либо объект над ней.

Для того чтобы понять, как должна Vuforia реагировать на изображение, нужно добавить цель (Target). Удобно, как в последнем примере, прикрепляться к определенному изображению, так как сразу становится видно как изображение расположено в мире - где его края, как оно искажено в проекции камеры.

Создайте объект Vuforia Engine - Image Target.

Теперь нужно сообщить сервису Vuforia что такой объект есть. Пройдем на портал разработчиков в Target Manager и создадим новую базу данных:

https://developer.vuforia.com/vui/develop/databases

В созданной базе данных создаем новую цель (Target), там выберем Single Image (изображение которое вы выберете должно обязательно быть 8-битным черно-белым или 24-битным цветным jpg или png). Width изображения 0.2 (как по-умолчанию в Vuforia).

Созданную базу данных можно загрузить в проект нажав Download Database. Там выбираем Unity, и перетаскиваем полученный файл в Project.

Добавленное нами изображение теперь можно выбрать в Inspector, выбрав Type - From Database, выбрав нашу базу данных и изображение.

Рис. 1. Цель-изображение, добавленное в Unity

При запуске, при наведении камеры на изображение можно видеть, как меняются координаты объекта, так как камера следит за этим изображением (если этого не происходит, проведите рукой перед камерой).

Рис. 2. Координаты цели меняются в зависимости от положения объекта.

Теперь добавим объект, который будет менять положение на экране в зависимости от положения изображения. В нашем случае, это будет куб, чьи размеры будут меньше размеров Image Target (мы задавали ширину 0.2) и расположение выше нее.

Расположите новый куб над изображением как показано на рис. 3, внутри объекта Image Target по иерархии.

Рис. 3. Расположение куба для помещения в дополненной реальности.

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

Рис. 4. Куб расположен над изображением в дополненной реальности.
















ЧАСТЬ II Работа в Blender


Навигация в Blender

Запускаем программу. Первое, с чем стоит познакомиться: Viewport — основная область, в которой мы работаем. По умолчанию сцена уже содержит несколько предметов: фигура — куб, камера и источник света. Это базовые объекты для создания 3D-сцены. Если в этом конкретном проекте они нам не понадобятся, то их можно удалить.

Перемещение в Blender

Первое, с чем необходимо разобраться в 3D-программе, — навигация. В Blender есть несколько способов:

  • перемещение в пространстве — зажимаем колесико мыши и Shift;

  • вращение — зажимаем колесико мыши;

  • масштабирование — прокручиваем колесико. 

Также все это можно сделать в окне вьюпорта:

  • перемещение в пространстве — зажимаем кнопку с ладонью;

  • масштабирование — нажимаем кнопку лупы;

  • вращение — выбираем область с координатами. Если необходимо настроить определенный вид, например сверху, то нажимаем на нужную координату.

Базовые фигуры Blender

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

Чтобы добавить фигуру в проект, нужно выбрать в верхней панели кнопку Add — Mesh или использовать горячие клавиши Shift + A. После этого можно начинать работу. 

Plane

Базовая фигура — плоскость. Она имеет длину и ширину, подходит для создания пола, потолка или заднего фона. Для того чтобы трансформировать объект, мы используем вкладку Object Properties в правой части экрана. 
В этой вкладке содержатся основные способы видоизменения объекта в пространстве: перемещение (Transform), вращение (Rotation) и масштаб (Scale).

Перемещать объект можно и с помощью панели в левой части экрана: 

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

Есть еще один способ манипуляции с фигурой с помощью горячих клавиш: 

  • G — перемещение;

  • R — вращение;

  • S — масштаб.

При нажатии комбинации клавиш G/R/S + X/Y/Z можно манипулировать фигурой по определенной оси. После того как сделали все необходимые действия с фигурой, нажимаем левую кнопку мыши, чтобы сбросить выделение.

Cube

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

Чтобы изменить пропорции куба, можно использовать вкладку Scale в правой панели экрана. Можно выбрать размер каждой стороны в зависимости от задачи.

Circle

Фигура Circle в Blender используется для создания круглых и цилиндрических объектов в сцене. Она позволяет моделировать различные предметы: колеса, столы, вазы, чашки и другие округлые модели. 

Еще один вариант использования — создание траектории движения объектов. С ее помощью можно выстроить определенный путь движения фигуры. Особенно это важно в тот момент, когда вы настраиваете вращение, масштабирование, перемещение и искажение объектов.

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

UV-sphere

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

Из сферы можно получить различные фигуры, например многоугольник. Чтобы это сделать, выберите в левом нижнем углу параметры: 

  • Segments — количество долей по вертикали; 

  • Rings — количество долей по горизонтали. 

Сегменты — это количество граней на сфере, а кольца — количество разрезов на каждом сегменте. Чем больше сегментов и колец, тем более детальной будет модель сферы. Если мы хотим получить сферу, важно, чтобы количество сегментов было достаточным — оптимальные параметры 48–72.


Icosphere

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

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

Cylinder

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

Параметры цилиндра включают радиус основания, высоту, количество сегментов и угол поворота. Радиус основания определяет диаметр цилиндра, а высота — его длину. Количество сегментов влияет на количество граней цилиндра. 

Сone

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

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


Как создать композицию 

Мы изучили базовые фигуры в программе Blender. Теперь можно попробовать создать свою первую 3D-композицию, в которой вы просто соберете все объекты вместе. Сделать это просто: 

  • Выбираем любые понравившиеся фигуры, которые сделали с помощью гайда. 

  • Добавляем их в проект.

  • Настраиваем размер, форму. 

  • Выставляем фигуры в композицию — она может быть любой. 

  • Настраиваем положение, откуда будем смотреть на композицию. 

Готово. Теперь вы знаете базовые фигуры Blender и можете составить композицию. 


Практические задания


Объекты в Blender. Практическая работа "Капля".

Инструкционная карта

Задание

Способ выполнения

Иллюстрация

1

Запустив Blender, удалить куб.


Delete, затем Ok.


2

Добавить на сцену сферу.

Выбрать: Add - Mesh - UVSphere.


3

Переключиться на вид спереди.

1 на NumLock.


4

Приблизить сферу.

Навести мышь на сферу и покрутить колесо мыши.


5

Переключиться в режим редактирования.

Tab

6

Сбросить выделение.

A


7

Выделить самую верхнюю вершину сферы.

Щелчок правой кнопкой мыши по самой верхней точке сферы.

8

Включить пропорциональное редактирование переходов.

Нажать O (англ. буква "оу").

9

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

G - включение режима перемещения.
Колесо мыши - регулировка охваченных вершин (видна окружность).

10

Слегка переместить вверх нижнюю вершину.

Аналогично п.7 и п.9


11

Переключиться в объектный режим

Tab


12

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

Кнопка "Set Smooth" на панели редактирования (Editing).


13

Переключиться на вид из камеры

0 на NumLock.


14

Сохранить файл.

F2



Объекты в Blender. Практическая работа "Молекула воды".

Инструкционная карта

Задание

Способ выполнения

Иллюстрация

1

Запустив Blender, удалить куб.


Клавиша Delete

Ok


2

Добавить на сцену цилиндр.

Выбрать: Add - Mesh - Cylinder.


3

Удостоверьтесь, что вы находитесь в объектном режиме.


4

Уменьшить цилиндр по всем осям до 0.3 от прежних размеров.

Нажать S, затем, зажав Ctrl, двигать мышью пока значения в левом ниженем углу 3D-окна не станут равны 0.3. 

Закрепить, щелкнув левой клавишей мыши.

5

Вид спереди.

1 на NumLock.


6

Увеличить цилиндр по оси Z в 7.5 раза.

Нажать S, затем Z, и, зажав Ctrl, двигать мышью пока значения в левом нижнем углу 3D-окна не станет равно 7.5. 

Закрепить, щелкнув левой клавишей мыши.


7

Повернуть цилиндр на 90 градусов по оси Y.

Нажать R, затем Y, и, зажав Ctrl, двигать мышью пока значения в левом нижнем углу 3D-окна не станет равно 90. 

Закрепить, щелкнув левой клавишей мыши.


8

Продублировать цилиндр. Копию переместить по оси X так, чтобы два цилиндра касались друг друга

Дублирование: Shift + D. 
X, затем перемещение с помощью мыши.

9

Поскольку в молекуле воды угол связи H-O-H равен 104.5 градусов, то следует развернуть второй цилиндр
по оси Y на 75.5 градусов (180-104.5).

R, затем Y


10

Совместить концы цилиндров.

Перемещать с помощью мыши за красную и синюю стрелки-оси.

11

Разместить 3D-курсор в точке соединения двух цилиндров

Щелчок левой клавишей мыши


12

Добавить сферу (которая будет служить моделью атома кислорода

Выбрать: Add - Mesh - UVSphere.


13

Два раза продублировать сферу, а дубликаты перенести на концы цилиндров.

Дублирование: Shift + D. 
Перемещение с помощью мыши.

14

Уменьшить крайние шары до значения 0.8 от первоначального.

S. Перемещение мыши при зажатом Ctrl.

15

Объединить все элементы модели.

Выделение группы элементов: поочередный щелчок правой кнопкой мыши при зажатой клавише Shift. 

Объединение: Ctrl + J.


16

Переключиться на вид из камеры

0 на NumLock.


17

Откорректировать размещение модели на сцене

С помощью инструментов перемещения и поворота

18

Сохранить файл.

F2




Экструдирование (выдавливание) в Blender.

Практическая работа «Самолет»

Задание

Способ выполнения

Иллюстрация

1

Запустить Blender. Включить режим редактирования

Tab.

2

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

Используем клавишу S для изменения размеров куба: по оси X – 3,0; по оси Y-1,5; Z-0,5

3

Отобразить вершины прячущиеся за передние

Нажмите на кнопку  Visible Selection не выходя из режима редактирования

4

Выделить ребра

Нажмите клавишу выделения ребра и поочередно выделяйте ребра при зажатой клавише shift

5

Включить инструмент Extrude и вытянуть переднюю часть вперед

Специальная кнопка на панели Mesh Tools окна кнопок: Extrude или с помощью горячей клавиши E (англ. буква).

Вытягиваем при зажатой клавише ctrl.


6

Сузить вершину в конус

Нажать клавишу S и, удерживая клавишу ctrl , перемещать мышь до тех пор пока размер верхней части не будет равен 0,1.

7

Создать верхнюю часть самолета и хвост.

Повторить п.5,6,7.

8

Создать крылья.

9

Переключиться на вид из камеры

0 на NumLock


10

Сохранить файл

F2




Экструдирование (выдавливание) в Blender.

Практическая работа «Башня Замка»

Задание

Способ выполнения

Иллюстрация

1

Запустить Blender. Включить режим редактирования

Tab.

2

Удалить куб

Клавиша Delete

Ok


3

Переключиться на вид сверху и Добавьте меш-кольцо

NumPad – 7

Add – Mesh - Circle





4

Переключиться на вид спереди и начать экструдирование

Нажать клавишу 1, далее клавишу Е и выдавливать кольцо при зажатой клавише CTRL





5

Сузить верх кольца

Нажать клавишу S, включится режим масштабирования и снова удерживайте нажатой клавишу  . Переместите вашу мышь горизонтально и кликните левой кнопкой мыши, как только размер верхней части будет равен нулю (это можно увидеть в левом нижнем углу вашего 3D-окна). 


6

Выделить вершины основания конуса

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

7

Сузить основание конуса

Запустите экструдирование (клавиша Е) и потом сразу же нажмите S. Уменьшите немного внутреннюю часть башни. Когда ширина тела вашей башни будет достаточной (на ваш взгляд), щелкните левой кнопкой мыши, чтобы зафиксировать размер.


8

Создание тела башни

Экструдируйте вершины вниз. Нажать клавишу Е и, зажав клавишу CTRL, протащить вниз.






9

Добавление других элементов





10

Переключиться на вид из камеры

0 на NumLock


11

Сохранить файл

F2


Инструкционная карта

«Пирамидка»





1

Запустив Blender, удалить куб, настроить окна проекций.

Х, затем Enter (или Delete, затем Enter); разделить рабочее поле на три окна – проекции (ПКМ, Split Area); 1 окно: View – Front (вид спереди); 2 окно: View – Top (вид сверху); 3 окно: View – Camera (перспектива).


2

Добавить на сцену объект

Клавиша «пробел»; Add-Mesh-Torus


3

Выполнить масштабирование объекта

Клавиша «S» - (пропорционально);

Клавиша «S+Z» - (увеличение высоты кольца);

4

Перемещение объекта

Клавиша «G+X» - по оси X (длина);

Клавиша «G+Y» - по оси Y(ширина);

Клавиша «G+Z» - по оси Z (высота).

5

Повторить пункты 2, 3, 4 – ещё два раза


6

Добавить на сцену объект

Клавиша «пробел»; Add-Mesh- UVsphere


7

Повторить пункты 3, 4


8

П роизвести сглаживание объектов

Выделить объект – щелчок ПКМ (несколько объектов – Shift + ПКМ; нажать клавишу F9 (панель сглаживания) – Set Smoth;

9

Добавить материалы


Выделить объект – щелчок ПКМ; нажать клавишу F5 (панель материалов) – add new – кнопка - col (выбрать цвет).

10

Повторить пункт 8 для всех объектов


11

Сохранить документ






































ЧАСТЬ III Типовые задания


Задание для демонстрационного экзамена по комплекту оценочной документации №1


Задание для демонстрационного экзамена по комплекту оценочной документации

Номер компетенции

F3

Название компетенции

Разработка виртуальной и дополненной реальности

Номер КОД

1.2

Описание задания.

Кормежка котенка в дополненной реальности

В дополненной реальности появляются маленький котенок на карточке или безмаркерным методом. Необходимо поднести к котенку корм в правильном порядке. Когда весь корм поднесен, котенок вырастает, и выводится сообщение: «Котенок вырос»

Минимальное количество моделей:

Корм: 3

Животное: 1

Описание модуля 1: Дизайн AR-приложения

Команда за отведенное время должна предоставить дизайн-документ и минимальный прототип приложения.

  1. Дизайн-документ.

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

  • подробное описание работы приложения;

  • схемы всех экранов приложения (экраны и переходы между ними);

  • составлен крупноблочный алгоритм работы приложения (блок-схема);

  • присутствовать скетчи всех игровых объектов;

  • присутствовать иллюстрированный материал (референсы);

  • присутствовать описание интерфейса, как UI, так и UX;

  • описана концепция работы приложения в дополненной реальности.

Описание модуля 2: Художественный дизайн AR-приложения.

Необходимо создать 3D-модели по заданию, а также разработать понятный интерфейс и спецэффекты.

  1. Художественный дизайн

При создании 3D-моделей и художественного дизайна художник должен учитывать следующие факторы:

  • топология модели не должна содержать многоугольников,

  • UV - развертка должна быть выполнена качественно;

  • должны быть анимированы основные динамические элементы приложения;

  • анимация должна быть корректной (не должно быть проблем с зацикливанием);

  • модели должна быть детализированными;

  • модели должны быть выдержаны в единой и соответствующей условиям стилистике;

  • количество моделей должно соответствовать условиям;

  • должно быть проведена корректная работа со светом;

  • системы частиц должны использоваться корректнож;

  • должен быть проработан качественный UI/UX приложения.

Описание модуля 3: Разработка AR-приложения.

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

1. Программирование

При программировании:

  • должны быть реализованы все основные алгоритмы по заданию;

  • должен корректно использоваться функционал игрового движка;

  • должны использоваться современные паттерны разработки и паттерны ООП;

  • если используется код, то он должен быть легко читаемым и содержать комментарии;

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

  1. Сборка

Сборка должна соответствовать следующим критериям:

  • работоспособность собранного продукта не должна падать во времени;

  • приложение должно корректно работать на целевом устройстве;

  • должно быть реализовано звуковое сопровождение к приложению.

Необходимые приложения

Приложений нет

Образец задания

Образец задания для демонстрационного экзамена по комплекту оценочной документации.


Задание для демонстрационного экзамена по комплекту оценочной документации №2

Описание задания

Охота на зайцев в виртуальной реальности

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

Минимальное количество моделей:

Ружье,

Зайцы

Описание модуля 1: Дизайн VR-приложения

Команда за отведенное время должна предоставить дизайн-документ и

минимальный прототип приложения.

2. Дизайн-документ.

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

- подробное описание работы приложения;

- схемы всех экранов приложения (экраны и переходы между ними);

- составлен крупноблочный алгоритм работы приложения (блоксхема);

- присутствовать скетчи всех игровых объектов;

- присутствовать иллюстрированный материал (референсы);

- присутствовать описание интерфейса, как UI, так и UX;

- описана концепция работы приложения в виртуальной реальности.

Описание модуля 2: Художественный дизайн VR-приложения.

Необходимо создать 3D-модели по заданию, а также разработать

понятный интерфейс и спецэффекты.

3. Художественный дизайн

При создании 3D-моделей и художественного дизайна художник должен

учитывать следующие факторы:

- топология модели не должна содержать многоугольников,

- UV - развертка должна быть выполнена качественно;

- должны быть анимированы основные динамические элементы приложения;

- анимация должна быть корректной (не должно быть проблем с

зацикливанием);

- модели должна быть детализированными;

- модели должны быть выдержаны в единой и соответствующей условиям стилистике;

- количество моделей должно соответствовать условиям;

- должно быть проведена корректная работа со светом;

- системы частиц должны использоваться корректнож;

- должен быть проработан качественный UI/UX приложения.

Описание модуля 3: Разработка VR-приложения.

Выполнение модуля состоит из следующих частей: программирование,

сборка.

1. Программирование

При программировании:

- должны быть реализованы все основные алгоритмы по заданию;

- должен корректно использоваться функционал игрового движка;

- должны использоваться современные паттерны разработки и

паттерны ООП;

- если используется код, то он должен быть легко читаемым и

содержать комментарии;

- если используются возможности визуального программирования, то

сценарий должен быть логичным и читаемым, иметь корректные соединения.

4. Сборка

Сборка должна соответствовать следующим критериям:

- работоспособность собранного продукта не должна падать во

времени;

- приложение должно корректно работать на целевом устройстве;

- должно быть реализовано звуковое сопровождение к приложению.

Необходимые приложения

Приложений нет




Задание для демонстрационного экзамена по комплекту оценочной документации №3


Номер компетенции

F3

Название компетенции

Разработка виртуальной и дополненной реальности

Номер КОД

1.2

Описание задания.

Выращивание попугая в дополненной реальности

В дополненной реальности появляются маленький попугай на карточке или безмаркерным методом. Необходимо поднести к попугаю корм в правильном порядке. Когда весь корм поднесен, попугай вырастает, и выводится сообщение: «Попугай вырос»

Минимальное количество моделей:

Корм: 3

Попугай: 1

Описание модуля 1: Дизайн AR-приложения

Команда за отведенное время должна предоставить дизайн-документ и минимальный прототип приложения.

  1. Дизайн-документ.

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

  • подробное описание работы приложения;

  • схемы всех экранов приложения (экраны и переходы между ними);

  • составлен крупноблочный алгоритм работы приложения (блок-схема);

  • присутствовать скетчи всех игровых объектов;

  • присутствовать иллюстрированный материал (референсы);

  • присутствовать описание интерфейса, как UI, так и UX;

  • описана концепция работы приложения в дополненной реальности.

Описание модуля 2: Художественный дизайн AR-приложения.

Необходимо создать 3D-модели по заданию, а также разработать понятный интерфейс и спецэффекты.

  1. Художественный дизайн

При создании 3D-моделей и художественного дизайна художник должен учитывать следующие факторы:

  • топология модели не должна содержать многоугольников,

  • UV - развертка должна быть выполнена качественно;

  • должны быть анимированы основные динамические элементы приложения;

  • анимация должна быть корректной (не должно быть проблем с зацикливанием);

  • модели должна быть детализированными;

  • модели должны быть выдержаны в единой и соответствующей условиям стилистике;

  • количество моделей должно соответствовать условиям;

  • должно быть проведена корректная работа со светом;

  • системы частиц должны использоваться корректнож;

  • должен быть проработан качественный UI/UX приложения.

Описание модуля 3: Разработка AR-приложения.

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

1. Программирование

При программировании:

  • должны быть реализованы все основные алгоритмы по заданию;

  • должен корректно использоваться функционал игрового движка;

  • должны использоваться современные паттерны разработки и паттерны ООП;

  • если используется код, то он должен быть легко читаемым и содержать комментарии;

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

  1. Сборка

Сборка должна соответствовать следующим критериям:

  • работоспособность собранного продукта не должна падать во времени;

  • приложение должно корректно работать на целевом устройстве;

  • должно быть реализовано звуковое сопровождение к приложению.

Необходимые приложения

Приложений нет

Создание дома в дополненной реальности

У игрока появляется меню с частями дома и схема. По щелчку из меню,

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

Минимальное количество моделей:

Части дома: 3

Дом: 1

Описание задания

Описание модуля 1: Дизайн AR-приложения

Команда за отведенное время должна предоставить дизайн-документ и

минимальный прототип приложения.

1. Дизайн-документ.

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

- подробное описание работы приложения;

- схемы всех экранов приложения (экраны и переходы между ними);

- составлен крупноблочный алгоритм работы приложения (блок-схема);

- присутствовать скетчи всех игровых объектов;

- присутствовать иллюстрированный материал (референсы);

- присутствовать описание интерфейса, как UI, так и UX;

- описана концепция работы приложения в дополненной реальности.

Описание модуля 2: Разработка AR-приложения.

Выполнение модуля состоит из следующих частей: художественный

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

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

1. Художественный дизайн

При создании 3D-моделей и художественного дизайна художник должен

учитывать следующие факторы:

- топология модели не должна содержать многоугольников;

- UV - развертка должна быть выполнена качественно;

- должны быть анимированы основные динамические элементы

приложения;

- анимация должна быть корректной (не должно быть проблем с

зацикливанием);

- модели должна быть детализированными;

- модели должны быть выдержаны в единой и соответствующей

условиям стилистике;

- количество моделей должно соответствовать условиям;

- должно быть проведена корректная работа со светом;

- системы частиц должны использоваться корректно;

- должен быть проработан качественный UI/UX приложения.

2. Программирование

При программировании:

- должны быть реализованы все основные алгоритмы по заданию;

- должен корректно использоваться функционал игрового движка;

- должны использоваться современные паттерны разработки и

паттерны ООП;

- если используется код, то он должен быть легко читаемым и

содержать комментарии;

- если используются возможности визуального программирования, то

сценарий должен быть логичным и читаемым, иметь корректные соединения.

3. Оптимизация

Должны быть оптимизированы:

- текстуры;

- геометрия уровня;

- свет;

- правильно настроен Occlusion Culling;

- правильно настроен Antialiasing;

- FPS не должно быть ниже 60;

- для маркерного трекинга объекты должны корректно располагаться

на метке, трекинг должен работать стабильно и размеры соответствовать метке, метки должны подходить тематике приложения;

- для безмаркерного трекинга размеры объекта должны соотноситься

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

4. Сборка

Сборка должна соответствовать следующим критериям:

- работоспособность собранного продукта не должна падать во времени;

- приложение должно корректно работать на целевом устройстве;

- должно быть реализовано звуковое сопровождение к приложению.

Необходимые приложения

Приложений нет


Задание для демонстрационного экзамена по комплекту оценочной документации №4


Создание дома в дополненной реальности

У игрока появляется меню с частями дома и схема. По щелчку из меню,

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

Минимальное количество моделей:

Части дома: 3

Дом: 1

Описание задания

Описание модуля 1: Дизайн AR-приложения

Команда за отведенное время должна предоставить дизайн-документ и

минимальный прототип приложения.

1. Дизайн-документ.

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

- подробное описание работы приложения;

- схемы всех экранов приложения (экраны и переходы между ними);

- составлен крупноблочный алгоритм работы приложения (блок-схема);

- присутствовать скетчи всех игровых объектов;

- присутствовать иллюстрированный материал (референсы);

- присутствовать описание интерфейса, как UI, так и UX;

- описана концепция работы приложения в дополненной реальности.

Описание модуля 2: Разработка AR-приложения.

Выполнение модуля состоит из следующих частей: художественный

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

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

1. Художественный дизайн

При создании 3D-моделей и художественного дизайна художник должен

учитывать следующие факторы:

- топология модели не должна содержать многоугольников;

- UV - развертка должна быть выполнена качественно;

- должны быть анимированы основные динамические элементы приложения;

- анимация должна быть корректной (не должно быть проблем с

зацикливанием);

- модели должна быть детализированными;

- модели должны быть выдержаны в единой и соответствующей условиям стилистике;

- количество моделей должно соответствовать условиям;

- должно быть проведена корректная работа со светом;

- системы частиц должны использоваться корректно;

- должен быть проработан качественный UI/UX приложения.

2. Программирование

При программировании:

- должны быть реализованы все основные алгоритмы по заданию;

- должен корректно использоваться функционал игрового движка;

- должны использоваться современные паттерны разработки и паттерны ООП;

- если используется код, то он должен быть легко читаемым и

содержать комментарии;

- если используются возможности визуального программирования, то

сценарий должен быть логичным и читаемым, иметь корректные соединения.

3. Оптимизация

Должны быть оптимизированы:

- текстуры;

- геометрия уровня;

- свет;

- правильно настроен Occlusion Culling;

- правильно настроен Antialiasing;

- FPS не должно быть ниже 60;

- для маркерного трекинга объекты должны корректно располагаться

на метке, трекинг должен работать стабильно и размеры соответствовать метке, метки должны подходить тематике приложения;

- для безмаркерного трекинга размеры объекта должны соотноситься

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

4. Сборка

Сборка должна соответствовать следующим критериям:

- работоспособность собранного продукта не должна падать во времени;

- приложение должно корректно работать на целевом устройстве;

- должно быть реализовано звуковое сопровождение к приложению.

Необходимые приложения

Приложений нет






















Список литературы


        1. https://de.firpo.ru

        2. https://ispu-unity.blogspot.com/p/5.html

        3. https://media.contented.ru/znaniya/instrumenty/bazovye-figury-blender/?ysclid=ls76bhro4o13644859

        4. https://multiurok.ru/files/praktichieskiie-raboty-v-sriedie-3d-modielirovanii.html?ysclid=ls76f0j4na357393060




Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!