Prg67.ru

Онлайн вебинары
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программирование на юнити для начинающих

Введение в программирование C# на Unity

Несмотря на то, что встроенные компоненты Unity могут быть очень разносторонними, вскоре ты обнаружишь, что тебе нужно выйти за пределы их возможностей, чтобы реализовать свои собственные особенности геймплея. Unity позволяет тебе создавать свои компоненты, используя скрипты. Они позволяют активировать игровые события, изменять параметры компонентов, и отвечать на действия Игрока каким тебе угодно способом.

Unity поддерживает следующие языки программирования: C# и Javascript. Языки C# и Javascript считаются одними из самых популярных среди программистов. На C# пишутся программы для компьютера, веб приложения, а Javascript активно используется для создания интернет-страниц. В нашем случае:

Установка среды разработки

Чтобы писать скрипты, необходим редактор кода. В комплекте с Unity идет MonoDevelop, так что его не требуется устанавливать отдельно. Другой вариант — использовать Visual Studio — мы рекомендуем ее. Сменить среду разработки можно в настройках: Edit → Preferences, а затем выбери панель External Tools.

Вывод сообщения в консоль Unity

Когда ты напишешь свой первый код и добавишь его в Unity, Unity проверит код и, если в нем нет ошибок, произойдет компиляция.

Консоль (англ. — Console) – это панель в Unity, которая отображает ошибки в коде (отображаются красным значком), предупреждения (отображается желтым значком) и позволяет выводить справочную информацию (белый значок). По умолчанию эта панель отображается в нижней части программы в закладке Console. Если эта панель не отображается на экране, то в главном меню выбери Window → Console.

Консоль Unity

Чтобы создать скрипт выбери Assets → Create → C# Script. Имя скрипта должно быть обязательно на английском и начинаться с большой буквы. Открой созданный скрипт и напиши:

Скрипт не будет работать до тех пор, пока экземпляр скрипта не будет присоединен к игровому объекту. Ты можешь прикрепить скрипт перетащив его на игровой объект в окно Иерархия или через окно Инспектор выбранного игрового объекта.

Код, который должен вызываться один раз при старте программы, ты можешь написать внутри функции Start(), как в примере выше.

Код, который должен вызываться каждый кадр, ты можешь написать внутри функции Update().

Переменные

Если ты хочешь сохранить данные (количество жизней игрока, патронов или очков опыта), то для этого используются переменные. Переменные разделяются на типы, которых существует огромное множество.

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

  1. Целочисленные: int (от –2 147 483 648 до 2 147 483 647), long (от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807).
  2. Символы и строки: char (элемент в кодировке UTF-16), string (последовательность элементов в кодировке UTF-16).
  3. С плавающей запятой (дробные): float (от 1,5 × 10–45 до 3,4 × 1038, с точностью до 7 цифр), double (от 5,0 × 10–324 до 1,7 × 10308, с точностью до 15 цифр).
  4. Логические: bool (значение true или false).

Инициализация переменной

Все переменные в C# должны быть объявлены (инициализированы) до их применения. Например:

Задать значение переменной можно, в частности, с помощью оператора присваивания — знак «=». Кроме того, при объявлении переменной можно сразу задать ее значение. Например:

Переменные численных типов можно складывать, вычитать, умножать и делить:

+ — операция сложения;

— операция вычитания;

* — операция умножения;

/ — операция деления.

А вот так сумму чисел можно вывести в консоль:

Счетчик времени с помощью Time.deltaTime

Практически во всех играх требуется знать сколько времени прошло с момента запуска игры (пример: игры на время). Но в Unity мы можем узнать только сколько прошло времени между кадрами (напоминаю, что игра – это набор кадров, которые быстро меняются. В одну секунду количество таких кадров может достигать 60 и больше).

Чтобы узнать сколько времени прошло между кадрами — используется Time.deltaTime.

Чтобы сделать дробное число целым, ставим перед ним (int).

Позиция объекта

Координаты объекта хранятся в компоненте Transform, свойство — position. Каждая координата имеет тип float. Вот так можно выводить координаты объекта в консоль:

Первые шаги в Unity

Are you just starting out with Unity? Feeling a little overwhelmed? Don’t worry; you’ve come to the right place. Browse below and select the right learning path for you.

COVID-19 community support: Unity is committed to supporting our community of creators during this challenging time. Join Create with Code Live, a virtual course for students, teachers, or anyone interested in learning to code.

Больше, чем просто движок. Unity дает все необходимое для разработки качественного контента и достижения успеха. Разобравшись с Unity, вы поймете, насколько все просто.

Установите Unity и начните разрабатывать свою первую игру с простого и понятного шаблона Microgame. Попробуйте быстрые и интересные задания Creative Mods, каждое из которых занимает около 10 минут и позволит вам создать и опубликовать собственную игру на основе шаблона. Не забудьте присоединиться к группе пользователей Microgame, чтобы общаться с такими же начинающими единомышленниками. Мы также будем сообщать вам обо всех специальных предложениях!

Самый веселый способ изучения Unity
Установите Unity и научитесь основам игровой разработки благодаря Unity Game Dev Courses. Начните с изучения основ, а затем выберите свою специализацию: художественное оформление, программирование или дизайн игр. В результате изучения курса вы создадите великолепную игру Swords and Shovels!

Запишитесь на Unity Game Dev Courses за 12 $ в месяц
Подписаться

Получите доступ к Unity Game Dev Courses БЕСПЛАТНО
Курсы Unity Game Dev теперь бесплатны для пользователей Unity Plus
Подробнее

Учитесь быстрее с Unity Plus
Оформите подписку на Unity Plus — для любителей, которые хотят быстрее научиться и приобрести необходимые навыки. Оформив подписку на Unity Plus с предоплатой за год, вы получите доступ к шести ценным обучающим ресурсам:

Unity Game Dev Courses БЕСПЛАТНО
Научитесь основам игровой разработки благодаря Unity Game Dev Courses (получите пакет стоимостью 144 $ БЕСПЛАТНО). Начните с изучения основ, а затем выберите свою специализацию: художественное оформление, программирование или дизайн игр. К окончанию курса вы создадите великолепную игру Swords and Shovels!

Скидка 20% в Asset Store
Ускоряйте разработку и издавайтесь быстрее, благодаря лучшим ресурсам и инструментам из Unity Asset Store. Благодаря скидке 20% на тысячи лучших и самых популярных ассетов вы приблизитесь к финишной прямой намного быстрее, чем мечтали.

Unity Success Advisor
Забудьте о неразрешимых проблемах. Став подписчиком, вы получите эксклюзивный доступ к услугам специалистов Unity, которые помогут вам:

  • найти различные инструменты и ресурсы, ускоряющие разработку в Unity;
  • быть в курсе новейших возможностях для вашей подписки;
  • разобраться с сервисами, которые дополнят ваш процесс разработки.

Программирование на юнити для начинающих

Вы хотите начать изучать программирование в Unity, чтобы приступить к созданию своей первой игры, но не знаете с чего начать. Мы поможем вам. Здесь представлена сводка по скриптовым элементам в Unity и приводятся учебные материалы, которые вы можете использовать, чтобы перейти к более сложным проектам наподобие «Space Shooter». Вы познакомитесь с основами программирования, узнав, что такое переменные, функции и классы, и как использовать их.

Что такое скрпитинг в Unity?

Скриптинг говорит нашим объектам GameObjects, как себя вести; игровой процесс создают скрпиты и компоненты, прикрепленные к GameObjects, а также их взаимодействие друг с другом. Скриптинг в Unity отличается от чистого программирования. Если вы занимались чистым программированием, например создавали работающее приложение, вам следует понять, что в Unity вам не нужно писать программный код, выполняемый приложением, так как Unity делает это за вас. Вместо этой рутинной работы вы фокусируетесь на игровом процессе, задаваемом скриптами.

Движок Unity работает большими циклами. Он считывает все данные в игровой сцене. Например, он считывает данные об освещении, сетках, поведениях и обрабатывает все эти данные за вас..

Читать еще:  Программирование для android самоучитель

Например, если сравнивать с телевидением, в Северной Америке оно работает с частотой смены кадров в 29,5 кадров/сек, и движку Unity нужно делать то же самое. Он прокручивает отдельные дискретные кадры, один за другим. Вы отдаете Unity прямые команды, записанные в ваших скриптах, и Unity выполняет их кадр за кадров, насколько быстро он может.

Достижение высокой скорости смены кадров означает не только то, что ваша игра будет выглядеть красивее, но и скрипты будут выполняться чаще, что делает управление более отзывчивым.

Какие языки можно использовать в Unity?

К объекту GameObject, находящемуся в сцене, должен быть приписан скрипт, чтобы вызываться Unity. Скрипты пишутся на специальном языке, понятном движку Unity. На этом языке мы можем взаимодействовать с движком и отдавать ему свои команды.

Язык, используемый в Unity, называется C# (произносится «си шарп»). Все языки, с которыми Unity имеет дело, являются объектно-ориентированными скриптовыми языками. Подобно любому языку, скриптовые языки имеют синтаксис (как бы части речи), и первичные элементы этого языка называются переменными, функциями и классами.

Если вы используете версию Unity до 2017.3, вы заметите, что он имеет текстовой редактор под названием MonoDevelop: он может помогать нам с завершением написания кода, указывать на неправильно написанные части кода, и он также дает нам возможность использовать сокращения. Начиная с версии 2018.1, вы также можете использовать Visual Studio for Unity Community или другие текстовые редакторы, такие как Visual Studio, Notepad или Sublime Text.

Далее представлен скрипт с образцом кода в нем (на основе учебного материала Программирование в Unity для чайников):

Как вы видите, в программном коде присутствуют переменные (variables), функции (functions) и классы (classes).

Что они делают?

Переменные содержат значения и ссылки на объекты (вы можете рассматривать объекты как “более крупные” переменные). Они подобны ящику, содержащему что-то для использования. Переменные начинаются с маленькой буквы.

Функции — это совокупность программного кода для манипуляций с переменными. Функции начинаются с больших букв. Мы комплектуем программный код в функции, чтобы эти участки программного кода могли повторно использоваться множество раз в различных частях программы.

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

Скрипты сопоставляют этих объекты с их текущими состояниями и значениями. Это основано на логике, определяющей результат или решение.

Переменные

В Unity скрипты начинаются с выкладки вверху необходимых вам инструментов, и обычно этим является объявление переменных. Вы может увидеть объявленные переменные, нажав сюда, с ключевыми словами “public” или «private» перед ними, за которыми следует тип переменной и имя переменной.

Есть несколько типов видимости переменных, указываемых при их объявлении, но наиболее важными из них являются public (общие переменные) и private (частные переменные).

Если вы в редакторе кода создадите скрипт с приведенным выше текстом, а затем вернетесь в Unity и припишите этот скрипт объекту GameObject, вы увидите, что вам доступна переменная типа Light, объявленная как общая (public), но вы не видите частной переменной (private). Это происходит из-за того, что переменная, объявленная как частная (private), может быть доступна только из частного скрипта в пределах частного класса.

Если вы делаете переменную частной, тогда она доступна другим скриптам и другим классам и может быть изменена в редакторе Unity. Это означает, что другие люди имеют доступ к этой переменной и могут изменять ее значение.

Есть множество причин для выбора между private и public. Благодаря частным переменным (private) ваш код становится более ясным, поскольку вы знаете, что значения таких переменных могут изменяться только из ее класса. И тем самым облегчаются отладка и поддержка программного кода.

Если вы выбрали для переменной вариант “public” и столкнулись с проблемой, тогда вам придется пересмотреть весь программной код, чтобы найти источник проблемы, так как любой другой объект имеет доступ к этой переменной. Однако, если вы хотите, чтобы объекты взаимодействовали друг с другом, вам потребуются некоторые переменные (или функции) типа public.

Другим важный аспектом переменной является ее тип. Тип определяет, какого рода переменная содержится в памяти, например, это может быть число, текст или более сложный тип как на экранном снимке ниже: Transform, Light и Demo Script на снимке ниже являются в действительности ссылками на компоненты (Components). Unity необходимо знать, к какому типу относится объект, чтобы знать, как обращаться с ним.

Другим важным аспектом переменной является ее имя. Главное, что вы должны помнить относительно имен переменных, это то, что имя переменной не может начинаться с цифры и не может содержать пробелов. Поэтому существует стиль наименования переменных. В языке C# имена принято писать по типу camelCase: вы начинает писать имя с маленькой буквы и добавляете без пробелов слова с большой буквы, например «myLight».

Когда Unity компилирует скрипт, он делает общие переменные (public) видимыми в редакторе. См. внизу экранный снимок из Инспектора.

Функции

Скрпиты манипулируют переменными с помощью функций. Есть ряд функций, выполняющихся автоматически в Unity. См. фрагмент кода ниже

Awake вызывается только раз, когда инициализируется GameObject с таким компонентом. Если объект GameObject неактивен, то он не будет вызываться, пока не станет активным. Однако, Awake вызывается даже в случае, если GameObject активен, но компонент не включен (когда стоит флажок в поле рядом с его именем). Вы можете использовать Awake для инициализации всех переменных, которым вам нужно приписать значение.

Start — подобно Awake, функция Start будет вызываться, когда GameObject активен, но лишь в случае, если компонент включен. Для получения более подробной информация об отличиях от Awake посмотрите это видео.

Update вызывается один раз за каждый кадр. Благодаря этой функции постоянно обновляются результаты согласно непрерывно действующей логике, такие как анимации, действия ИИ и т.д.

FixedUpdate используется для расчетов физики.

Функции Fixed Update и Update описаны в учебном разделе по скриптам, и вы можете узнать как вызывать изменения в каждом кадре с помощью функций Update и FixedUpdate, и об их отличиях.

LateUpdate — функция, аналогичная Update, но LateUpdate вызывается в конце кадра. Unity просматривает все игровые объекты, находит все Update и вызывает LateUpdate. Этот прием хорошо использовать для таких элементов, как камера. Скажем, вы хотите переместить персонажа в своей игре. И затем он сталкивается с другим персонажем и оказывается в другой позиции. Если мы будем перемещать камеру во время перемещения персонажа, получится болтанка, и камера окажется не там, где она должна быть. Так что этот второй цикл оказывается как нельзя кстати.

Написание функций

При написании функций помните, что функция начинается с типа возвращаемого значения, за которым следует имя функции, а затем параметры в скобках (если имеются). Имя функции начинается с заглавной буквы, а тело функции пишется в фигурных скобках. Вот пример написания функции:

Как вызвать эту функцию?

Функции могут проводить вычисления и возвращать значения. Вы также можете просить функции сделать что-либо, обрабатывать информацию и возвращать ответ. Если вы используете тип «void», тогда функция не возвращает ничего.

Классы

Классы представляют собой совокупности переменных и функций. Например, следующий скрипт образует класс:

Учтите, что имя класса должно совпадать с именем файла скрипта C#. И чтобы быть прикрепленным к GameObject, он должен наследоваться из другого класса под названием MonoBehaviour, который автоматически вставляется, когда вы начинаете создавать скрипт. Классы также могут быть общими (public) и частными (private).

Если вы создаете пользовательский класс, как в приведенном ниже примере, вы должны попросить Unity сериализировать его. Это означает, класс будет преобразован в простую форму, отображаемую в Unity. Сделав это, вы увидите свой класс в Инспекторе.

Переменные, функции и классы представляют лишь основы программирования в Unity. Перейдя в раздел Изучение, вы найдете целый ряд полезных учебных материалов по скриптам, которые помогут вам освоить программирование с нуля, а затем создавать программный код для своих проектов.

Читать еще:  Для чего нужен язык программирования python

Лучшие Unity 3D уроки для начинающих

1 min

Unity – мощный движок для создания игр на разных платформах. Хотя Unity Editor работает на языке программирования C #, даже можно разрабатывать игры без программирования.

Rust, Hearthstone и Kerbal Space Program – все это игры Unity. Эти уроки научат вас всему, что вам нужно, чтобы построить игру своей мечты! Сначала заметка об названии.

Unity 3D or Unity?

При поиске информации о Unity вы, возможно, видели ее как Unity 3D или просто как Unity.

Все не становятся проще, когда вы посещаете официальный сайт, на котором есть URL unity3d.com, но относится к движку Unity.

Unity вычеркнула 3D из их названия, поскольку это не только 3D-движок. Он работает в 2D и 3D и имеет инструменты для обоих. Хотя брендинг изменился повсюду, вероятно, не стоило менять официальный URL-адрес веб-сайта.

Короче говоря, Unity 3D – это Unity, и мы будем называть его Unity для этой статьи.

Лучший учебник для начинающих для Unity

Unity3d College предлагает вам полный курс для начинающих Unity по основам игрового дизайна. Этот урок не требует знаний и впервые открывает Unity. В нем представлен редактор Unity, игровые объекты и базовые функциональные возможности с кодом C #.

На сайте Unity3d.College есть коллекция контента, включая ссылки на видео, подкасты по разработке игр и письменные учебные пособия. На этом сайте есть что-то для начинающего и опытного пользователя Unity.

Лучший интерактивный учебник для Unity

Многие учебные пособия содержат файлы проектов, которые помогут вам получить практический опыт работы с проектами Unity. Официальные интерактивные учебные проекты от Unity делают еще один шаг вперед.

Эти проекты принимают новичков через создание игр и тестирование. Окна учебника выделяют различные части редактора Unity и дают пошаговое руководство по его работе. Есть несколько интерактивных учебных пособий, доступных бесплатно через Unity Hub Launcher, который поставляется с Unity.

Лучший учебник для начинающих C # для Unity

Brackeys – уважаемый учитель YouTube, который создает учебники по Unity для всех уровней. Его введение в C # оставляет Unity в стороне и концентрируется исключительно на коде, который лежит в основе движка. Этот урок не требует никаких предварительных знаний в области программирования.

Это хороший материал для изучения, так как все библиотеки Unity построены на C #, но есть много других веских причин для изучения C#.

Лучший учебник по Unity Game Kit: Unity 2D Game Kit

Game Kits – это шаблоны проектов, которые позволяют новичкам создавать игры в редакторе Unity. Вы можете скачать 2D Game Kit с сайта Unity, который предоставляет пошаговое руководство по его использованию.

Сохраняя все удобное для начинающих, это руководство знакомит с некоторыми основными понятиями для разработки 2D-игр. К концу учебного курса вы познакомитесь с Tile Maps, поведением на основе событий и базовым тестированием игры. Unity также предлагает набор 3D-игр.

Лучший учебник по кодированию для Unity

Playmaker, доступный в Unity Asset Store, позволяет некодерам создавать игры. Создатели Inside использовали его, чтобы художники и дизайнеры уровней могли реализовывать игровой контент. YouTuber Jayanam объясняет основы визуальной логики с Playmaker в его видео-учебнике.

В качестве визуального конечного автомата (FSM) Playmaker упрощает создание сложного поведения и игровой механики. Вы можете делать целые игры со сложным поведением и механикой, используя систему. Если вы полны идей, но не хотите учиться программировать, Playmaker идеально подходит для вас.

Лучший учебник по платформеру для Unity

Томас Браш, разработчик Pinstripe и очень ожидаемой Once Upon A Coma, делится своими знаниями в этом всеобъемлющем руководстве по созданию платформера в Unity. Опираясь на десятилетний опыт, он разбивает каждый элемент на понятный язык, идеально подходящий для начинающих.

Учебное пособие посвящено импорту слоев из Photoshop в Unity и созданию эффекта параллакса, воплощающего его в жизнь. Он показывает, как правильно визуализировать сцену, импортировать персонажа игрока и передать функциональность игры через код. Томас создал множество учебных пособий на своем канале YouTube, а также быстрые советы о жизни разработчика игр.

Лучший краткий учебник для Unity

Если вы ищете краткий обзор основных игровых механизмов, Android Authority у канала YouTube есть ответ. Используя движок Unity и Android Software Development Kit (SDK), вы сможете сделать функциональную игру всего за семь минут.

В видео рассказывается о создании пиксельной графики и ее импорте в Unity, а также о некоторых основных принципах работы с помощью кода. Если этого достаточно, чтобы заинтересовать вас в разработке игр для Android, этот процесс также будет более подробно описан в серии публикаций создателя учебника YouTube.

Лучший учебник для Unity

Подробные учебные пособия часто создают полноценные игры и охватывают темы игрового дизайна гораздо глубже, чем базовые учебные пособия. YouTuber quill18creates создает доступные учебные серии, которые обычно подробно охватывают целые проекты.

Текущий урок посвящен созданию игры 4X Space Strategy в стиле, аналогичном Civilization. Вся игра с открытым исходным кодом, и каждое видео содержит четкие инструкции, которые подходят для начинающих. На канале quill18creates есть несколько похожих проектов, а также отдельные видеоролики о разработке игр для Unity.

Лучшие шейдерные уроки для Unity

Хотя шейдеры не относятся к Unity, они необходимы для того, чтобы любая игра выглядела хорошо. Каждый захватывающий дух эффект изображения в играх зависит от них. Написание шейдеров может быть сложной задачей. У них другой синтаксис в C #, и даже понимание основных терминов может сбивать с толку.

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

Лучший урок освещения в Unity

Этот учебник от YouTuber LMHPoly охватывает основы освещения в Unity. Для создания проекта вам не требуются предварительные знания Unity, и каждый шаг объясняется с помощью экранных подсказок.

Освещение – это разница между красивой игрой и отличной. Если вы больше ориентированы на эстетику, чем на кодирование, изучение освещения может быть для вас.

Лучший учебник CAD для Unity

В то время как большинство пользователей Unity создают игры, движок также идеально подходит для архитекторов и 3D-моделистов, чтобы показать свою работу. YouTuber ArquMania проведет вас через весь процесс экспорта CAD-модели из Rhino и импорта ее в Unity.

После импорта модель текстурируется и помещается в сцену. Добавив персонажа игрока, люди могут ходить вокруг модели на сцене. Этот процесс работает для любого программного обеспечения САПР и будет идеальным для архитекторов и дизайнеров интерьера.

Игра на … с Unity!

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

Программирование на юнити для начинающих

Главная » Unity3D: Основы использования скриптов для новичков: Преимущественно для новичков

Unity3D: Основы использования скриптов для новичков: Преимущественно для новичков

Введение

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

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

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

Читать еще:  Javascript как первый язык программирования

Я сам новичок в Unity. Я также знаю о том, что значит, когда нравится изучать и другие языки программирования. Я должен был пройти через беспорядок, как и вы. Я надеюсь, что данное руководство прояснит основы написания скриптов, которые я изучил, и я надеюсь, что обучение через «призму новичка» просветит вас тоже.

Уроки с первого по седьмой для полных новичков, для тех, кто не имеет абсолютно никакого представления о программировании вообще. Я на самом деле рассказываю о низком уровне и основах. Я просто стараюсь объяснить основные понятия на примере каждодневных жизненных ситуаций. Я не хочу, чтобы вы всегда имели расплывчатое пятно в своем сознании, которое бы заставило вас сдаться.

Уроки восьмой и выше фактически начинают рассматривать применение концепции написания скриптов в Unity.

Кажется, что большая часть начинающих может довольно легко узнать о том, как пользоваться Unity, это в первую очередь касается работы скриптов, которых они так боятся. Данное руководство для новичков предполагает, что вы на собственном опыте изучили из других источников, как в общих формах обращаться с редактором Unity, даже просто работая с файлами ресурсов. Это руководство только об изучении основ по работе со скриптами.

Редактор Unity

Это иллюстрация проекта Bootcamp Demo в редакторе Unity. Вы должны быть знакомы с расположением окон в редакторе Unity из просмотра других доступных уроков. Те уроки, которые размещены здесь, не о расположении окон или навигации в редакторе. Данные уроки только о программировании в Unity с помощью скриптов (версия JavaScript для Unity).

Редактор скриптов

Это Unitron, редактор скриптов Unity для Mac, который я использую. Он будет выглядеть по-другому в Windows, но они оба служат одной и той же цели.

Если вы абсолютный новичок в скриптах Unity и не имеете никакого представления даже о том, что означает слово «скрипт», то данные уроки — для вас. Если один только взгляд на изображение редактора пугает вас, то данные уроки — для вас. Если вы художник, желающий использовать Unity для разработки игр, и едва знаете как мыслить логически, тогда данные уроки — для вас.

Что вы изучите

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

Ваша игра наполнена глупыми объектами

Вы установили все свои игровые ресурсы. У вас есть сцена, отображающая то, что содержат игровые объекты. Вы хотите, чтобы эти игровые объекты двигались вокруг, слушали, разговаривали, поднимали другие объекты, пристреливали «плохих парней» или делали все то, что вы можете пожелать, чтобы они делали. Тем не менее, все эти игровые объекты по своей природе глупы, они не знают, как выполнить любые из этих взаимодействий, которые вы хотите, чтобы они выполнили.

Это то самое место, где в дело вступают скрипты. «Но, но, но я не знаю как программировать» — скажете вы. Хорошо, на самом деле вы правы. Вы делаете это каждый день, просто вы не называете это программированием или написанием скриптов. Вы ведь живете каждый день бесцельно натыкаясь на вещи без каких-либо указаний? Вы, наверное, взаимодействуете вообще с другими людьми, или даже с домашними животными? Разговариваете? Пользуетесь туалетом или ванной-комнатой?

Шаг первый

Вообразите, что сидите на диване, разговаривая с другом.

Шаг второй

Потом звонит телефон. Вы говорите: «Извините, позвольте мне ответить на звонок».

Шаг третий

Вы заканчиваете телефонный разговор и затем продолжаете разговор со своим другом.

Теперь подумайте

Происходило ли это с вами когда-нибудь в реальной жизни, или что-то наподобие этого? Это было сложно проделать? Держу пари, что вы даже не задумывались обо всем процессе принятия телефонного звонка в середине разговора. Вы просто сделали это. Ну, и что вы думаете? Все это — то же самое, что делают скрипты в игровых объектах.

Давайте разберем немного по пунктам:

Шаг первый

Так случилось, что вы — объект, персонаж, игровой объект в игре, именуемой «жизнь». Вы запускали скрипт «разговор» в то время, когда телефон прервал ваш скрипт «разговор».

Шаг второй

Вами была запущена на выполнение другая функция — разговор по телефону. Следовательно сейчас вы выполняете скрипт «разговор по телефону».

Шаг третий

Когда вы закончили с телефоном, вы возвратились к скрипту «разговор» со своим другом.

Примечание:

Обратите внимание на слова, выделенные синим шрифтом. Они наиболее близки к точным словам, которые вы будете использовать для написания скриптов. Такие слова вы уже знаете, понимаете и используете сами.

Скриптофобия

Теперь я спрашиваю вас, настолько ли трудным был процесс? Беспокоил ли он вас, потому что вы не верили в то, что сможете сделать все это? Заходили ли вы на форум, чтобы спросить о том, как вести разговор, а после разговаривали по телефону в середине всего этого?

Скриптофобия: страх не позволяющий писать инструкции (то, что я делал).

У вас есть такие страхи, которые не дают вам написать несколько инструкций в последовательном ключе?

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

«Комплекс Бога»

У вас есть Unity, потому что вы хотели создать игру или что-нибудь интерактивное. Хорошо, вы чувствуете, что игра наполнена глупыми игровыми объектами и теперь вы должны «поиграть в Бога». Вы создали их, теперь вы должны обучить их всему, что им нужно знать для жизни в этом воображаемом мире. Та часть, где вы должны написать инструкции так, чтобы ваши игровые объекты могли быть умными, как и вы.

Станьте учителем

То, что вы сейчас должны делать — это играть роль учителя. Вы должны обучить каждый игровой объект или префаб индивидуально, потому что каждый из них имеет различные вещи, которые им нужно узнать. К счастью, каждая вещь, которую они должны знать, находится в справочнике по скриптам, который поставляется вместе с Unity. Все, что вам нужно будет сделать — это записать последовательные инструкции для своих игровых объектов, которые будут их выполнять.

Надлежащее поведение

Создатели Unity достаточно умны. Они знали, что вы, как создатель миров, должны будете учить свои игровые объекты, как себя вести в любом мире, созданном вами для них. Так почему я говорю о том, что Unity достаточно умная среда разработки? Посмотрите на слово, на изображении. (Справочник по скриптам)

Какой же это умелый способ описать то, что вы собираетесь сделать вашим игровым объектам. Вы зададите им поведения. Так же, как родитель учит своего ребенка, как себя вести. Мало того, что Unity достаточно хорош в плане предоставления большого приятного списка всех действий, которые могут проделывать игровые объекты, но также и в том, что есть разъяснение в справочнике по скриптам, каким образом использовать эти действия.

Это означает, что вы можете выбрать мышью из списка поведений любое действие, которое хотите и которое игровой объект должен будет сделать. Unity проделал сложную работу по программированию всех этих поведений, так что все, что вам нужно сделать — это решить, что вы хотите использовать, после чего подключить поведения в инструкции, которые описываете.

Ссылка на основную публикацию
Adblock
detector