УДК 004.946

СОЗДАНИЕ ПРОЕКТА «ТАНК НА ОСТРОВЕ» В UNITY3D

Винокуров Анатолий Станиславович1, Баженов Руслан Иванович2
1Приамурский государственный университет имени Шолом-Алейхема, студент
2Приамурский государственный университет имени Шолом-Алейхема, кандидат педагогических наук, доцент, заведующий кафедрой информатики и вычислительной техники

Аннотация
В статье рассматривается реализация проекта по созданию собственной игры с двумя сценами в кроссплатформенном движке Unity3D. Продемонстрирован ход построения проекта.

Ключевые слова: компьютерное моделирование, среда виртуальной реальности, трехмерное моделирование


THE CREATION OF THE PROJECT "TANK ON THE ISLAND" IN UNITY3D

Vinokurov Anatoly Stanislavovich1, Bazhenov Ruslan Ivanovich2
1Sholom-Aleichem Priamursky State University, student
2Sholom-Aleichem Priamursky State University, candidate of pedagogical sciences, associate professor, Head of the Department of Computer Science

Abstract
The article discusses the implementation of a project to create a private game with two scenes in a cross-platform game engine Unity3D. Demonstrated the progress of the build of the project.

Keywords: computer modeling, three-dimensional modeling, Unity3D, virtual reality environment


Библиографическая ссылка на статью:
Винокуров А.С., Баженов Р.И. Создание проекта «танк на острове» в Unity3D // Современная техника и технологии. 2015. № 7 [Электронный ресурс]. URL: http://technology.snauka.ru/2015/07/7504 (дата обращения: 27.05.2017).

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

Исследованиями в области моделирования и применения Unity3d занимались многие российские и зарубежные исследователи. Л.С.Зеленко, Д.А.Загуменнов [1] рассмотрели вопросы, связанные с разработкой дистанционной обучающей системы, построенной на технологии виртуальных миров.
Описали технологические особенности реализации системы и ее составные части, а также преимущества использования трехмерного пространства и игрового подхода при дистанционном обучении. Л.С.Зеленко, Д.А.Загуменнов и А.О.Зинченко [2] рассмотрели вопросы, связанные с разработкой виртуальной информационно-образовательной среды, а также описали структуру учебного курса и виртуального пространства. Н.С.Галкин и Е.А.Ромин [3] рассмотрели методы создания трехмерной модели местности для эффективного использования в Unity3D.
О.С.Ходос, Р.И.Баженов [4-7] провели исследование по применению технологий сред виртуальной реальности в образовательном процессе на основе изучения среды виртуальной реальности Unity3D, а также разработали учебно-методический комплекс. М.Е.Якобсон, Г.М.Гринберг [8] обосновали необходимость использования технологии компьютерного моделирования в учебном процессе, а также предложили использовать для этого мультиплатформенный инструмент Unity. M.Bergera и V.Cristie [9] рассмотрели реализацию CFD пост-обработки для преобразования проекта в Unity3D и визуализации метеорологических данных с целью преодоления разрыва между архитектурными и инженерными разработками в архитектурном дизайне города. C.Becker-Asanoa, F.Ruzzolia, C.Hölscherb, B.Nebel [10] разработали систему мульти-агента на основе игрового движка Unity 4, а также смоделировали трехмерный (3D) способ моделирования ориентирования и поведения нескольких сотен пассажиров в аэропорту. J.Wang, R.Lindeman [11] построили новую гибридную систему виртуальной среды для эффективного взаимодействия в виртуальном пространстве. Предложили четыре координационных механизмов для сглаживания контекстных переходов в HVEs. D.Richards, M.Taylor [12] в своем исследовании изучили проблему анализа затрат и выгод создания виртуальных 3D миров по отношению к альтернативным методам обучения.

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

Для начала создадим новый проект. Создадим участок земли (Terrain), зададим ему положение и размер. Добавим к созданной сцене источник освещения (Directional Light). При создании рельефа земли, предадим нашему участку форму острова и создадим в центре его небольшой вулкан, а на краю острова – крутые скалы. Внутри вулкана создадим углубление – в дальнейшем там будет располагаться небольшое озеро и именно с этого момента будет начинаться первая сцена проекта.

При помощи компонента «Paint Texture» зададим песочную текстуру всему острову и текстуру камня скалам. Для добавления растительности острову воспользуемся компонентами «Places Trees» и «Paint Details». В нашем проекте также присутствуют специфические растения (такие как пальмы и кусты), созданные и импортированные из приложения «Cheetah 3D».

Добавим в наш проект небо (компонент Skybox) и воду (компонент Water Basic). Данные компоненты являются стандартными и входят в состав условно – бесплатной версии Unity3d.

В проект были добавлены и размещены созданные в приложении «3D Studio Max» модели трех небольших островов, небольших зданий, животных, яхты и самолета (рис. 1-2).


Рисунок 1 – Создание нового проекта острова в Unity3D


Рисунок 2 – Создание вулкана на острове в Unity3D

Теперь добавим компонент First Person Controller для возможности взаимодействия пользователя с игровым пространством (рис 3).


Рисунок 3 – Размещение First Person Controller и других игровых объектов в Unity3D

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

Далее создадим анимацию движения игровых объектов (катер и самолет) и добавим в проект ветер (WindZone) (рис 4).


Рисунок 4 – Размещение игровых объектов в Unity3D

Добавим скрипт переключения анимации для движения акул таким образом, чтобы они не выплывали на сушу, но при этом реагировали на погружение игрока в воду (рис 5).


Рисунок 5 – Взаимодействие игровых объектов в Unity3D

Сохраним сцену. После чего сделаем дубликат первой сцены.

Перейдем к работе со второй сценой. При дублировании она получилась идентична первой сцене.

Удалим компонент First Person Controller со второй сцены.

Добавим к новой сцене созданную предварительно в «3D Studio Max» модель танка (рис 6).


Рисунок 6 – Модель танка в сцене Unity3D

Предадим танку массу и физику. На вкладке Hierarchy выберем обьект танк. Из строки меню «панель инструментов» выберем «Rigidbody». Зададим массу танка в соответствующих полях компонента «Rigidbody».

Для того чтобы наш танк вел себя соответственно с местностью, реагируя на каждую кочку, присвоим ему компонент «Box Collider». В окне Inspector изменим размер Box Collider таким образом, чтобы гусеница танка немного проваливалась в грязь, но при этом танк не проходил через землю насквозь.

Дадим пользователю возможность управлять танком. Для этого установим на танк компонент «Platform Input Controller». Теперь займемся вращением башни и пушки танка. Для этого сгруппируем объекты, относящиеся непосредственно к башне и объекты относящиеся к стволу пушки по отдельности при помощи пустого объекта «Empty». Это в дальнейшем даст возможность синхронного поворота всех частей башни сразу. Для ныне сгруппированных объектов присвоим заранее написанный скрипт, отвечающий за поворот башни при нажатии на клавиши влево и вправо («a» и «d») и поворот пушки вверх и вниз («w» и «s»).

Создадим префаб снаряда и присвоим скрипт стрельбы к дулу пушки. Теперь при нажатии на клавишу «Пробел» будет происходить создание снаряда и выстрел им по заданному вектору.

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

Присвоим текстуру камуфляжа к получившемуся танку (рис. 7).


Рисунок 7 – Модель танка с привязанной текстурой, камерой и звуком

Для перехода между сценами напишем скрипт, описанный в методических разработках [13].

Для того чтобы пользователь не смог, въехав в воду на танке утонуть, пропишем скрипт «Respawn», описанный в методической разработке [13].

Перейдем к созданию врагов. Разместим на сцене несколько объектов и пропишем скрипт преследования пользователя. Скрипт был взят с сайта [14] и доработан таким образом, чтобы при попадании во врагов снарядом они уничтожались.

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


Библиографический список
  1. Зеленко Л.С., Загуменнов Д.А. Виртуальная дистанционная обучающая среда: особенности реализации и применения в учебном процессе // ученые записки ИСГЗ. 2013. №1 (11). С. 302-305.
  2. Зеленко Л.С., Загуменнов Д.А., Зинченко А.О. Основы построения виртуальной информационно-образовательной среды // Вестник Самарского Государственного Аэрокосмического Университета им. академика С.П. Королева (Национального Исследовательского Университета). 2012. №7 (38). С. 46-53.
  3. Галкин Н.С., Ромин Е.А. Создание трехмерной модели местности в Unity3d // Инновационные технологии: теория, инструменты, практика. 2014. №1. С. 311-316.
  4. Ходос О.С., Баженов Р.И. Обучение трехмерному моделированию в UNITY3D // Современные научные исследования и инновации. 2014. № 6-3 (38). С. 14.
  5. Баженов Р.И., Ходос О.С. Выявление общих критериев совершенствования предметной компетентности студентов «информационных специальностей» в рамках курса по выбору «Трехмерное моделирование в среде Unity» // Современные информационные технологии и ИТ-образование. 2011. №7. С. 250-259.
  6. Ходос О.С. Формирование предметной компетентности у студентов в контексте среды виртуальной реальности // Вестник бурятского государственного университета. 2014. №1 (2). С. 82-86.
  7. Ходос О.С., Баженов Р.И. Совершенствование предметной подготовки будущих учителей информатики в рамках дисциплины «компьютерное моделирование» // Актуальные вопросы методики преподавания математики и информатики. Биробиджан: Минобрнауки России, 2011. С. 131-136.
  8. Якобсон М.Е., Гринберг Г.М. Использование мультиплатформенной среды Unity для визуализации учебных материалов // Актуальные проблемы авиации и космонавтики. 2010. №6 (2). С. 437-438.
  9. Bergera M., Cristie V. CFD Post-processing in Unity3D // Procedia Computer Science. 2015. №51. С. 2913–2922.
  10. Becker-Asanoa C., Ruzzolia F., Hölscherb C., Nebel B. A Multi-agent System based on Unity 4 for Virtual Perception and Wayfinding // Transportation Research Procedia. 2014. №2. С. 452–455.
  11. Wang J., Lindeman R. Coordinated hybrid virtual environments: Seamless interaction contexts for effective virtual reality // Computers & Graphics. 2015. №48. С. 71–83.
  12. Richards D., Taylor M. A Comparison of learning gains when using a 2D simulation tool versus a 3D virtual world: An experiment to find the right representation involving the Marginal Value Theorem // Computers & Education. 2015. №56. С. 157–171.
  13. Ходос О.С. Основы трехмерного моделирования в Unity3D. Методические указания к выполнению лабораторных работ по направлениям 230400 – Информационные системы и технологии, 230700 – Прикладная информатика / О.С. Ходос, Р.И. Баженов. – Биробиджан: Изд-во ПГУ им Шолом-Алейхема, 2013. – 101 с.
  14. Простой искусственный интеллект // Блоги unity3d по-русски! URL: http://blogs.unity3d.ru/2010/09/simple-ai (дата обращения: 26.06.2015).


Все статьи автора «Винокуров Анатолий Станиславович»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

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

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: