Онлайн-обучение. Урок 3. Разработка игр на Unity3D: создание персонажа
Сообщество @vp-pedsovet начинает новый проект, связанный с онлайн-обучением. С нами вы сможете учить английский и историю, географию и экономику, химию и биологию, информатику и другие школьные предметы, самосовершенствоваться, получать новые знания, умения и навыки.
Хотите научиться создавать анимированных персонажей, простые онлайн-игры, но не можете найти специалиста или не готовы платить, так как не знаете, понравится ли вам занятие, сможете использовать знания на практике или нет? Предоставляем уникальную возможность попробовать.
Автор серии Алексей, @litovets, опытный программист, разработчик игр, автор уникальной методики обучения программированию готов рассказать и показать на примерах, как самостоятельно создавать игры на специально созданном для этого движке Unity3D.
Первые четыре урока вы можете найти в блоге автора, последующие в онлайн-журнале "Педсовет".
Содержание предыдущих постов:
- Вступительный пост
- Обучение разработке на Unity3D. Установка, настройка и описание окон
- Обучение разработке на Unity3D. Написание небольшого шутера. Разбираемся с террейном.
Сегодня мы добавим на нашу сцену персонажа, который уже реагирует на стандартные кнопки управления: движение (WSAD), прыжок (Space) и ускоренное движение (движение + Shift). Стрельбу мы добавим в следующем уроке. Стандартного управление вполне хватит, чтобы убегать от противника.
Итак, поехали! Для начала нам надо импортировать еще один стандартный пакет ассетов с персонажами. Для этого выбираем Assets -> Import Package -> Characters:
![](https://img.golos.io/proxy/https://s20.postimg.org/98m0xy43h/Screenshot_1.png)
У кого такого нет, смотрите в мои предыдущие уроки.
После импорта у нас должна появиться папка Standard Assets/Characters, где собственно и находятся уже готовые персонажи. Так как мы будем использовать вид от первого лица, идем в папку Standard Assets/Characters/FirstPersonCharacter/Prefabs, берем префаб FPSController и перетягиваем его на сцену. После этого кликаем по этому префабу на сцене два раза и, если активно окно Scene, нас должно перенести к только что добавленному персонажу:
![](https://img.golos.io/proxy/https://s20.postimg.org/5rjyv2crx/Screenshot_2.png)
Этот префаб персонажа уже имеет в себе игровую камеру, поэтому нашу первоначальную камеру, которая была добавлена при создании сцены, нужно удалить. Выбираем ее на сцене и жмем Delete. Теперь наша основная и единственная камера будет та, что находится внутри персонажа. Если ее выбрать, то мы сможем в превью видеть то, что будет видно в игре:
![](https://img.golos.io/proxy/https://s20.postimg.org/4gc7mgrf1/Screenshot_3.png)
Тот же вид из камеры можно так же увидеть, если переключиться на окно Game.
Как можно видеть в окне Инспектора, на объекте FirstPersonCharacter висит компоненты Camera, Audio Listener и Flare Layer.
Camera как раз и отвечает за рендеринг сцены, а точнее всего, что в нее попадает. На сцене должна быть как минимум одна камера.
Audio Listener отвечает за "прослушку" звуков на сцене. Он должен быть всего один на сцене.
![](https://img.golos.io/proxy/https://s20.postimg.org/orjguqrq5/Screenshot_4.png)
Давайте теперь разберемся какие компоненты находятся на персонаже. Выбираем FPSController на сцене:
- CharacterController - это стандартный компонент Юнити, который предоставляет более легкий способ управления персонажем. Взаимодействуя с этим компонентом из скриптов можно не иметь дела с компонентом Rigidbody, о котором я расскажу ниже.
- Rigidbody - это основной компонент, который определяет физическое взаимодействие этого объекта (в данном случае персонажа) с внешним миром. С его помощью мы можем задавать вес этого физического тела, сопротивление трению, угловое сопротивление, действие гравитации и.д. Также с помощью этого компонента мы можем придавать ускорение, задавать скорость движение и много чего еще.
- First Person Controller (Script) - это тоже компонент, но уже самописный. Написан он с использованием языка программирования C# и, как вы можете видеть, имеет достаточно много разных настроек. Этот скрипт можно изучить, открыв его в любом редакторе. В свойствах можно задать скорость хотьбы, скорость бега, высоту прыжков, задать чувствительность мышки, инвертировать ее, задать звук шагов, звук прыжка и приземления и другие настройки персонажа. Это довольно сложный скрипт, в котором мы не будем сейчас разбираться. В следующих уроках мы напишем пару скриптов, которые будут намного проще
- Audio Source - источник звука. С помощью этого компонента можно проигрывать звуки. First Person Controller использует этот компонент, чтобы проигрывать звуки хотьбы и т.д. Источников звука на сцене может быть сколько угодно.
Стандартные настройки всех этих компонентов вполне нас устроят для того, чтобы запустить игру и побегать по локации, которую мы создали. Но сначала нам надо переместить нашего персонажа так, чтобы он был над землей. Иначе при запуске ваш персонаж упадет в бездну :)
Теперь можно запустить игру, нажав кнопку Play:
![](https://img.golos.io/proxy/https://s20.postimg.org/dfbgqo5u5/Screenshot_5.png)
Если вы все сделали правильно, то после запуска Юнити автоматически переключится на окно Game и вы сможете управлять своим персонажем. Можете понаслаждаться красотами созданной вами локации.
После того, как вы намотаете несколько километров и захотите выключить режим игры, у вас возникнет проблема - а курсора мышки то нет. Печаль-беда. Скрипт First Person Controller при запуске скрывает курсор мышки, чтобы он не мешал во время игры и выйти из режима игры не получится. Но есть спасение - сочетание клавиш Ctrl-P, которое выключает режим игры.
Ну что же, думаю на сегодня все. В следующем уроке мы добавим парочку страшных противников, которые будут вас преследовать и, возможно, пугать страшными звуками :)
Оставляйте комментарии. Оцените проект реппостом и апвоутом
Режим публикации уроков согласовывается, подписывайтесь на блог сообщества, автора и да прибудет с вами Сила Голоса!![](https://imgp.golos.io/0x0/https://pp.userapi.com/c837528/v837528929/6c6cd/egnQORS6KmY.jpg)
Автор поста @litovets