автордың кітабынан сөз тіркестері Unity в действии. Мультиплатформенная разработка на C#. 2-е межд. издание
рагментов (ссылки на сценарии или не связанные друг с другом уроки), соответственно, поиск нужного материала затруднен. Мне же всегда хотелось получить книгу, объединяющую все необходимые знания, представленные в четкой и логически связанной манере, поэтому я написал такую книгу для вас. Моя целевая аудитория — это люди, уже имеющие навыки программирования, но не обладающие опытом работы с Unity и, возможно, никогда не занимавшиеся разработкой игр. Выбор проектов отражает мой опыт наработки навыков и уверенности в себе, который я в свое время получил, выполняя различные заказы в достаточно быстром темпе.
Приступая к изучению разработки игр с помощью Unity, вы начинаете захватывающее приключение. Для меня этот процесс был связан с необходимостью не вешать нос перед лицом многочисленных препятствий. У вас же есть преимущество в виде единого логически согласованного ресурса — этой книги!
1 Ұнайды
Я начал экспериментировать с Unity версии 3 и полностью переключился на этот инструмент, будучи разработчиком в компании Synapse Games. Изначально я занимался интернет-играми, но в итоге перешел на разработку игр для мобильных устройств. А затем все вернулось на круги своя, так как инструмент Unity позволял выполнять развертывание одного и того же базового кода как на мобильных устройствах, так и в интернете!
Адрес веб-сайта: www.manning.com/books/unity-in-action-second-edition.
Input.GetAxis(). Класс Input обладает множеством методов для обработки информации, поступающей с устройств ввода (таких, как мышь). В частности, метод GetAxis() возвращает числа, связанные с движениями указателя мыши (положительные или отрицательные в зависимости от направления движения). Он принимает в качестве параметра имя нужной оси. А горизонтальная ось у нас называется Mouse X.
Если умножить скорость вращения на координату оси, объект начнет поворачиваться вслед за указателем мыши. Скорость масштабируется в соответствии с перемещениями указателя, уменьшаясь до нуля и даже меняя направление.
Все лучи точечного источника (point light) начинаются в одной точке и распространяются во всех направлениях. В реальном мире таким осветителем является лампочка. Яркость света увеличивается по мере приближения к источнику за счет концентрации лучей.
Лучи прожектора (spot light) также исходят из одной точки, но распространяются в пределах ограниченного конуса. В текущем проекте мы с прожекторами работать не будем, но осветители данного типа повсеместно используются для подсвечивания отдельных частей уровня.
Лучи направленного источника света (directional light) распространяются равномерно и параллельно друг другу, одинаково освещая все элементы сцены. Это аналог солнца.
Существуют различные типы осветителей, разными способами проецирующие световые лучи. Три основных типа: точечный источник, прожектор и направленный источник.
Все объекты сцены представляют собой экземпляры класса GameObject аналогично тому, как все компоненты сценариев наследуют от класса MonoBehaviour. Этот факт становится более наглядным, если пустому объекту присвоить имя GameObject. Впрочем, даже если этот объект будет называться Floor, Camera или Player, суть дела не изменится.
«Что я собираюсь построить?». Проектирование игр — весьма обширная тема, которой посвящено множество толстых книг.
Кадром (frame) называется один прогон зацикленного игрового кода. Практически все видеоигры (не только в Unity, но и вообще) строятся вокруг основного игрового цикла. То есть код этого цикла выполняется до тех пор, пока запущена игра. На каждой итерации цикла происходит прорисовка экрана, откуда, собственно, и возник термин кадр (по аналогии с набором статичных кадров в фильме).
Но следует отметить, что в эту группу попадают не все сценарии, а только наследующие от класса MonoBehaviour, базового класса компонентов-сценариев. Этот класс определяет способ присоединения компонентов к игровым объектам.
