Разработка игры на Unity. С нуля до публикации - стр. 6
После этого появится список с перечнем компонентов, которые могут быть подключены к выбранному объекту Cube. Найдите с помощью поиска компонент Rigidbody и кликните по нему левой кнопкой мыши так, чтобы он добавился в окно Inspector.
Компонент Rigidbody добавляет объекту свойства физики твердого тела, определенного в базовом движке Unity. Другими словами, если назначить этот компонент объекту, то он начнет вести себя в соответствии с законами механики: иметь массу, участвовать в упругих столкновениях, действовать на другие объекты с теми же свойствами и так далее. Запустите сцену еще раз (нажмите Run) и убедитесь, что теперь объект Cube начинает падать вниз.
Создадим еще один объект – плоскость (Plane), которая будет ограничивать падение куба за пределы начальной сцены. Для этого выполните действия, которые уже выполнялись при создании объекта Cube, – в верхней части меню выберите GameObject – 3D Object – Plane (или клик ПКМ в окне иерархии объектов GameObject – 3D Object – Plane):
После создания плоскости переместим ее немного ниже уровня объекта Cube. Для этого выделите объект Plane в окне Scene выберите инструмент перемещения Move Tool, кликнув на ось Y сдвиньте плоскость Plane ниже куба. Используя Move Tool вы можете двигать объекты на сцене:
Запустите сцену еще раз. Теперь объект куб (Cube) падает на плоскость (Plane) при старте сцены. Теперь добавим немного интерактивности. Откройте скрипт-файл, который мы создали ранее с именем HelloWorld.cs и напишите туда небольшой функционал, который будет уничтожать объект Cube при нажатии клавиши пробел. В программном коде ниже показано содержимое файла HelloWorld.cs, а рамкой выделены новые строки кода, которые нужно ввести дополнительно:
В листинг были добавлены следующие строки кода:
– создается условие if, которое уничтожает объект с помощью команды Destroy при нажатии клавиши Space. При этом используется метод Input.GetKeyDown, который срабатывает, после того как игрок нажал клавишу. В скобках Destroy указана конструкция this.gameObject, которая означает что нужно удалить this (этот) игровой объект (game object), то есть тот самый к которому подключен скрипт-файл.
Теперь запустите сцену и проверьте, что она работает следующим образом:
– В окно Console выводится сообщение “Hello World”;
– Куб (Cube) начинает падать;
– Куб падает на плоскость Plane и останавливается;
– При нажатии на клавишу пробел объект Cube удаляется.
Выводы
После завершения всех пунктов рекомендуется вернуться в начало раздела и еще раз внимательно просмотреть всю последовательность действий. Попробуйте самостоятельно внести модификации в некоторые пункты на свой выбор. Так вы сможете более детально разобраться в устройстве взаимосвязей между объектами, скрипт-файлами и некоторыми элементами интерфейса Unity. Ниже приведен некоторый список возможных изменений в проекте Unity, который вы можете внести, опираясь на те инструкции, которые были даны в этом разделе: