Чтение онлайн

на главную - закладки

Жанры

Разработка игры в Unity. С нуля и до реализации
Шрифт:

21. Rigidbody – это механическое свойство объекта, определенное в базовом движке Unity. Другими словами, если назначить этот компонент объекту, то он начнет вести себя в соответствии с механикой абсолютно твердого тела. Запустите сцену еще раз (нажмите Run) и убедитесь,

что теперь объект Cube начинает падать вниз.

22. Создадим еще один объект – плоскость (Plane), которая будет ограничивать падение куба за пределы начальной сцены. Для этого выполните действия, которые уже выполнялись при создании объекта Cube, – в верхней части меню выберите GameObject – 3D Object – Plane:

23. После создания плоскости переместим ее немного ниже уровня объекта Cube. Для этого выделите объект Plane в окне Hierarchy (клик левой кнопкой мыши) и в окне Inspector в верхней части установите значения напротив свойства Transform – Position [X:0, Y: -3, Z:0]:

24. Запустите сцену еще раз. Теперь объект куб (Cube) падает на плоскость (Plane) при старте сцены.

25. Теперь добавим немного интерактивности. Откройте скрипт-файл, который мы создали ранее с именем HelloWorld.cs и напишите туда небольшой функционал, который будет уничтожать объект Cube при нажатии клавиши пробел. В программном коде ниже показано содержимое файла HelloWorld.cs, а жирным шрифтом в комментариях показаны новые строки кода, которые нужно ввести дополнительно:

// Start Code

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class HelloWorld : MonoBehaviour

}

public GameObject obj;

void Start

{

print("Hello World!11!");

}

void Update

{

if (Input.GetKeyUp(KeyCode.Space))

{

Destroy(obj);

}

}

}

// End Code

Листинг дублируется ниже в виде скриншота из MS Visual Studio.

В листинг были добавлены следующие строки кода:

– создается переменная класса GameObject c именем obj, в которую можно будет поместить объект (как это сделать будет показано далее). Класс GameObject – это встроенный класс Unity, в дальнейшем мы познакомимся с множеством встроенных классов и их методов;

– создается условие if, которое уничтожает объект (Destroy(obj)) при нажатии клавиши Space. При этом используется метод Input.GetKeyUp,

который срабатывает, после того как игрок отпустил клавишу. Также есть похожий метод Input.GeyKeyDown, который срабатывает сразу при нажатии клавиши. В качестве эксперимента можете изменить метод на Inputy.GetKeyDown.

26. Вернитесь в среду разработки Unity и снова выберите объект Cube. обратите внимание, что теперь в окне Inspector внутри скрипт-файла HelloWorld.cs появилась новая переменная Obj. Стоит отметить, что если бы мы создали приватную (private) переменную объекта, то в инспекторе мы бы ее не увидели (приватную переменную можно увидеть, если сверху строки public GameObject obj добавить [Serialize.Field]):

27. Новая переменная появилась благодаря тем самым строкам кода, которые мы добавили выше. Теперь, если кликнуть на значок “мишени” рядом с надписью None (Game Object) то можно выбрать любой из существующих на сцене объектов, который будет удаляться при нажатии клавиши пробел. Например, выберите объект Cube:

28. Теперь запустите сцену и проверьте, что она работает следующим образом:

– В окно Console выводится сообщение “Hello World!11!”;

– Куб (Cube) начинает падать;

– Куб падает на плоскость Plane и останавливается;

– При нажатии на клавишу пробел объект Cube удаляется.

29. В качестве эксперимента замените объект Cube на плоскость Plane внутри скрипта Hello World (Script) в окне Inspector:

30. Проверьте, как теперь отрабатывает сцена после запуска. Что происходит при нажатии на клавиши “пробел”? Теперь, при нажатии клавиши, со сцены должна удаляться плоскость Plane.

Выводы

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

– Сделайте так, чтобы в Console выводилось сообщение “Goodbye World”.

– Добавьте на сцену больше объектов произвольной формы, измените их размер, положение и ориентацию.

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

– Перенесите строку кода print("Hello World!11!"); из фигурных скобок метода Start в фигурные скобки метод Update, и проверьте работу сцены. Что изменилось в выводе в командной строке Console?

Часть 2. Создание игрового прототипа

Введение

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

Конец ознакомительного фрагмента.

Поделиться:
Популярные книги

Эволюционер из трущоб. Том 9

Панарин Антон
9. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 9

Бастард Императора. Том 5

Орлов Андрей Юрьевич
5. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 5

На границе империй. Том 7. Часть 5

INDIGO
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 7. Часть 5

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Прометей: Неандерталец

Рави Ивар
4. Прометей
Фантастика:
героическая фантастика
альтернативная история
7.88
рейтинг книги
Прометей: Неандерталец

"Никто" так не смотрит

Кистяева Марина
Территория любви
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Никто так не смотрит

Честное пионерское! 2

Федин Андрей Анатольевич
2. Честное пионерское!
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Честное пионерское! 2

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала

Измена. Возвращение любви!

Леманн Анастасия
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Возвращение любви!

Доктора вызывали? или Трудовые будни попаданки

Марей Соня
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Доктора вызывали? или Трудовые будни попаданки

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4

Тактик

Земляной Андрей Борисович
2. Офицер
Фантастика:
альтернативная история
7.70
рейтинг книги
Тактик

Идеальный мир для Лекаря 19

Сапфир Олег
19. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 19