Разработка игры в Unity

Страница 4

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

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

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

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

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

Вместо функции 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:

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

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

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, который вы можете внести, опираясь на те инструкции, которые были получены в этом разделе:

Читать похожие на «Разработка игры в Unity» книги

На планете, где люди испытывают себя на прочность, существует тюрьма. Туда отправляют заключённых со всей галактики. Тут нет никаких досрочных освобождений и апелляций. Нет судей и адвокатов, нет охранников и надсмотрщиков, есть только заключённые. А точнее ссыльные. Если ты попал сюда, то обратно уже не вернёшься и будешь искать своё место в этом мире. Это приговор окончательный. Как люди, оказавшиеся здесь, устроят свою жизнь? Смогут ли сохранить достоинство или совершенно деградируют? Судьба

Любая война рано или поздно заканчивается. Но путешествие продолжается. На планете выживальщиков существует большая сеть подземных тоннелей и пещер. Откуда они взялись? Их создала природа, или это дело чьих-то рук? Кто населяет подземный мир? И зачем туда нужно идти? Иногда логика обстоятельств сильнее здравого смысла, и судьба ведёт героев вниз, под землю. Что таится в подземельях, можно узнать из четвёртой книги серии "Выживальщики". Приятного чтения!

Представляю вашему вниманию пятую часть цикла "Выживальщики"! Судьба многих героев осталась пока неясной. Что с ними произошло, встретятся ли они вновь и какие новые вызовы готовит им судьба, можно будет знать из пятой книги сериала. Самое время узнать, что с ними произошло. Приятного чтения!

Общество сибаритов становится всё заметнее и заметнее. Оно пытается подмять под себя всё, до чего может дотянуться. Они стали очень сильны и играют большую роль. Кто-то должен бросить им вызов, иначе их искажённая мораль станет доминировать на планете. Главные герои: те кто давно не мог встретиться, имеют такой шанс. Проблемы нарастают. Противостояние усиливается. Покой им только снится. Приятного чтения!

На планете выживальщиков существует древний лес с гигантскими деревьями. Почему он только один. Что это, ошибка природы или результат каких-то экспериментов? Кто населяет этот лес? Кого там можно встретить? Может тех, кого давно искали и встреча с кем очень ожидаема и желанна? Ну и само собой продолжается война с сибаритами. Теперь она пришла уже на их территорию. Продолжаем следить за старыми героями и знакомимся с новыми. Всё больше и больше тайн и загадок раскрывается с каждой книгой, но

Часть героев оказалась в зоне реактора. Эта аномальная зона, где давным-давно произошла авария на экспериментальном реакторе. Тут происходит много странного и не все законы физики работают. Зато работают какие-то другие. Но, возможно, зона реактора это не просто аномалия. Это ключ. Если понять что здесь происходит, это может повлиять на судьбу всей планеты. Ну и куда же без выживальщиков. На этот раз они не оправдывают своего названия, потому что в зону реактора забрасывают смертников, для

Что делать, если ты одинокий вампир, который столкнулся с неразрешимой проблемой? Конечно, нужно обратиться в "Общество анонимных вампиров". Только там такие же вампиры, как ты, поддержат и помогут советом... или нет?

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

Шёл спокойно по улице, и вдруг - на тебе! Похитили и заперли под землёй. Думаю, хотели пустить на органы… пришлось сбежать. Прихватил с собой девчонку, её та же судьба ждала. Но ей ещё меньше повезло, у неё даже одежду отобрали. Теперь мы в бегах, в гигантской Москве две тысячи двухсотых. Есть подозрение, что всё это подстроено, и мы принимаем участие то ли в игре, то ли в телешоу. Как будто нас гонят, как крыс по лабиринту. Только бы выжить! Да и девчонка хорошая, кто о ней позаботится, кроме

Затеянная пришельцами грандиозная операция по усовершенствованию человечества могла внести разнообразие в теорию Дарвина. Неспособные к труду и не приспособленные к семейной жизни земляне, признанные оболтусами, облами, переселялись на планету, получившую неблагозвучное название – Рассадник. А чтобы жизнь не показалась новоселам слишком уж пресной, Кураторы проекта заселили новорожденный мир всеми видами фэнтези-нечисти, сварганенной за последнее столетие безответственными писателями.