Литмир - Электронная Библиотека
A
A

// Start Code

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class <i>HelloWorld : MonoBehaviour</i>

{

    void <i>Start()</i>

    {

        print(<i>&quot;Hello World!11!&quot;</i>);

    }

    void <i>Update()</i>

    {

    }

}

// End Code

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

Разработка игры в Unity. С нуля и до реализации - _24.jpg

11. Скрипт-файл с названием HelloWorld.cs написан. Однако, чтобы он начал работать, нам следует его подключить к одному из игровых объектов внутри сцены Unity. Давайте создадим такой объект, например, простейший куб.

12. Чтобы создать игровой объект “Куб”, на верхней панели быстрого доступа в среде Unity выберите GameObject – 3D Object – Cube:

Разработка игры в Unity. С нуля и до реализации - _25.jpg

13. Таким образом, на сцене появится новый игровой объект:

Разработка игры в Unity. С нуля и до реализации - _26.jpg

14. Чтобы подключить скрипт HelloWorld.cs к объекту Cube, можно просто перетащить (зажав левую кнопку мыши) скрипт-файл на куб.

Разработка игры в Unity. С нуля и до реализации - _27.jpg

15. Теперь, если выделить объект Cube, кликнув по нему левой кнопкой мыши, то можно увидеть, что в правой части среды разработки (окно Inspector) к кубу подключился файл HelloWorld.cs (Script-файл):

Разработка игры в Unity. С нуля и до реализации - _28.jpg

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

Разработка игры в Unity. С нуля и до реализации - _29.jpg

17. После этого сцена запустилась. На ней статично висит куб и кажется, что ничего не происходит, но если перейти в окно Console (в нижней части среды разработки), то можно заметить, что при старте было отправлено сообщение в чат:

Разработка игры в Unity. С нуля и до реализации - _30.jpg

Вместо функции print, можно использовать функцию Debug.Log(), которая является частью движка Unity. Отличие функции Debug.Log() от функции print() заключается в том, что print() не позволяет увидеть какую-либо информацию, после сборки проект. То есть print() выводит информацию только в консоль среды разработки Unity, тогда как функция Debug.Log() выводит сообщение в специальный файл в папке проекта при запуске готовой игры, содержимое которого потом можно просмотреть. По сути обе эти функции делают одно и тоже, но рекомендуют использовать именно Debug.Log(). В качестве эксперимента вы можете заменить функцию print(“Hello World”) в листинге выше на функцию Debug.Log(“Hello World”).

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

18. Сделаем так, чтобы созданный 3D объект Cube при запуске сцены падал вниз. Для этого выделите объект Cube (клик левой кнопкой мыши в окне Hierarchy), после этого в правой части среды разработки станет активно окно Inspector:

Разработка игры в Unity. С нуля и до реализации - _31.jpg

19. Содержание окна Inspector зависит от типа выбранного объекта. В нем содержатся свойства объекта, его параметры, подключаемые Script-файлы и т. д. Нажмите в нижней части окна Inspector кнопку Add Component:

Разработка игры в Unity. С нуля и до реализации - _32.jpg

20. После этого появится список с перечнем компонентов, которые могут быть подключены к выбранному объекту Cube. Найдите с помощью поиска компонент Rigidbody и кликните по нему левой кнопкой мыши так, чтобы он добавился в окно Inspector.

Разработка игры в Unity. С нуля и до реализации - _33.jpg
Разработка игры в Unity. С нуля и до реализации - _34.jpg

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

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

Разработка игры в Unity. С нуля и до реализации - _35.jpg

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

Разработка игры в Unity. С нуля и до реализации - _36.jpg

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

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

// Start Code

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class <i>HelloWorld : MonoBehaviour</i>

}

    <b>public GameObject obj;</b>

    void <i>Start()</i>

    {

        print(<i>&quot;Hello World!11!&quot;</i>);

4
{"b":"738473","o":1}