Онлайн-обучение. Урок 3. Разработка игр на Unity3D: создание персонажа
Сообщество @vp-pedsovet начинает новый проект, связанный с онлайн-обучением. С нами вы сможете учить английский и историю, географию и экономику, химию и биологию, информатику и другие школьные предметы, самосовершенствоваться, получать новые знания, умения и навыки.
Хотите научиться создавать анимированных персонажей, простые онлайн-игры, но не можете найти специалиста или не готовы платить, так как не знаете, понравится ли вам занятие, сможете использовать знания на практике или нет? Предоставляем уникальную возможность попробовать.
Автор серии Алексей, @litovets, опытный программист, разработчик игр, автор уникальной методики обучения программированию готов рассказать и показать на примерах, как самостоятельно создавать игры на специально созданном для этого движке Unity3D.
Первые четыре урока вы можете найти в блоге автора, последующие в онлайн-журнале "Педсовет".
Содержание предыдущих постов:
- Вступительный пост
- Обучение разработке на Unity3D. Установка, настройка и описание окон
- Обучение разработке на Unity3D. Написание небольшого шутера. Разбираемся с террейном.
Сегодня мы добавим на нашу сцену персонажа, который уже реагирует на стандартные кнопки управления: движение (WSAD), прыжок (Space) и ускоренное движение (движение + Shift). Стрельбу мы добавим в следующем уроке. Стандартного управление вполне хватит, чтобы убегать от противника.
Итак, поехали! Для начала нам надо импортировать еще один стандартный пакет ассетов с персонажами. Для этого выбираем Assets -> Import Package -> Characters:
У кого такого нет, смотрите в мои предыдущие уроки.
После импорта у нас должна появиться папка Standard Assets/Characters, где собственно и находятся уже готовые персонажи. Так как мы будем использовать вид от первого лица, идем в папку Standard Assets/Characters/FirstPersonCharacter/Prefabs, берем префаб FPSController и перетягиваем его на сцену. После этого кликаем по этому префабу на сцене два раза и, если активно окно Scene, нас должно перенести к только что добавленному персонажу:
Этот префаб персонажа уже имеет в себе игровую камеру, поэтому нашу первоначальную камеру, которая была добавлена при создании сцены, нужно удалить. Выбираем ее на сцене и жмем Delete. Теперь наша основная и единственная камера будет та, что находится внутри персонажа. Если ее выбрать, то мы сможем в превью видеть то, что будет видно в игре:
Тот же вид из камеры можно так же увидеть, если переключиться на окно Game.
Как можно видеть в окне Инспектора, на объекте FirstPersonCharacter висит компоненты Camera, Audio Listener и Flare Layer.
Camera как раз и отвечает за рендеринг сцены, а точнее всего, что в нее попадает. На сцене должна быть как минимум одна камера.
Audio Listener отвечает за "прослушку" звуков на сцене. Он должен быть всего один на сцене.
Давайте теперь разберемся какие компоненты находятся на персонаже. Выбираем FPSController на сцене:
- CharacterController - это стандартный компонент Юнити, который предоставляет более легкий способ управления персонажем. Взаимодействуя с этим компонентом из скриптов можно не иметь дела с компонентом Rigidbody, о котором я расскажу ниже.
- Rigidbody - это основной компонент, который определяет физическое взаимодействие этого объекта (в данном случае персонажа) с внешним миром. С его помощью мы можем задавать вес этого физического тела, сопротивление трению, угловое сопротивление, действие гравитации и.д. Также с помощью этого компонента мы можем придавать ускорение, задавать скорость движение и много чего еще.
- First Person Controller (Script) - это тоже компонент, но уже самописный. Написан он с использованием языка программирования C# и, как вы можете видеть, имеет достаточно много разных настроек. Этот скрипт можно изучить, открыв его в любом редакторе. В свойствах можно задать скорость хотьбы, скорость бега, высоту прыжков, задать чувствительность мышки, инвертировать ее, задать звук шагов, звук прыжка и приземления и другие настройки персонажа. Это довольно сложный скрипт, в котором мы не будем сейчас разбираться. В следующих уроках мы напишем пару скриптов, которые будут намного проще
- Audio Source - источник звука. С помощью этого компонента можно проигрывать звуки. First Person Controller использует этот компонент, чтобы проигрывать звуки хотьбы и т.д. Источников звука на сцене может быть сколько угодно.
Стандартные настройки всех этих компонентов вполне нас устроят для того, чтобы запустить игру и побегать по локации, которую мы создали. Но сначала нам надо переместить нашего персонажа так, чтобы он был над землей. Иначе при запуске ваш персонаж упадет в бездну :)
Теперь можно запустить игру, нажав кнопку Play:
Если вы все сделали правильно, то после запуска Юнити автоматически переключится на окно Game и вы сможете управлять своим персонажем. Можете понаслаждаться красотами созданной вами локации.
После того, как вы намотаете несколько километров и захотите выключить режим игры, у вас возникнет проблема - а курсора мышки то нет. Печаль-беда. Скрипт First Person Controller при запуске скрывает курсор мышки, чтобы он не мешал во время игры и выйти из режима игры не получится. Но есть спасение - сочетание клавиш Ctrl-P, которое выключает режим игры.
Ну что же, думаю на сегодня все. В следующем уроке мы добавим парочку страшных противников, которые будут вас преследовать и, возможно, пугать страшными звуками :)
Оставляйте комментарии. Оцените проект реппостом и апвоутом
Режим публикации уроков согласовывается, подписывайтесь на блог сообщества, автора и да прибудет с вами Сила Голоса!Автор поста @litovets