Разработка игры в Unity. С нуля и до реализации
Шрифт:
21. Rigidbody – это механическое свойство объекта, определенное в базовом движке Unity. Другими словами, если назначить этот компонент объекту, то он начнет вести себя в соответствии с механикой абсолютно твердого тела. Запустите сцену еще раз (нажмите Run) и убедитесь,
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
// End Code
Листинг дублируется ниже в виде скриншота из MS Visual Studio.
В листинг были добавлены следующие строки кода:
– создается переменная класса GameObject c именем obj, в которую можно будет поместить объект (как это сделать будет показано далее). Класс GameObject – это встроенный класс Unity, в дальнейшем мы познакомимся с множеством встроенных классов и их методов;
– создается условие if, которое уничтожает объект (Destroy(obj)) при нажатии клавиши Space. При этом используется метод Input.GetKeyUp,
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). Обычно перед началом разработки следует определиться с основными требованиями, предъявляемыми к игре. Если говорить более обобщенно, то в списке требований, с которыми следует определиться при начале разработки, можно выделить следующие:
Конец ознакомительного фрагмента.