Как сделать игрока в unity3d

Основы создания 2D персонажа в Unity 3D 4.3. Часть 2: бегущий персонаж

Всем привет. Продолжаем дело, начатое в первой части. Сейчас у нас есть платформа и стоящий на ней персонаж с анимацией покоя. Настало время научить нашего персонажа бегать вправо-влево по платформе.

Загрузим сцену из первой части. Напомню, что в прошлый раз мы импортировали несколько спрайтов в папку AssetsSprites. На всякий случай, внизу поста еще раз приведу ссылку на спрайты. Среди них должен быть спрайт под названием Run. Мы будем использовать его для создания анимации бега. Для этого нам надо проделать те же действия по превращению одиночного спрайта в коллекцию, как и при создании анимации покоя. Вкратце напомню: выделяем спрайт, в окне Inspector устанавливаем свойство Sprite Mode как Multiple, нажимаем ниже Sprite Editor, нарезаем изображение в режиме Grid или Automatic.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь в окне Hierarchy выбираем Character и переходим в окно Animation. Нажимаем на поле с анимацией Idle и выбираем Create New Clip, чтобы создать анимацию бега. Сохраним файл анимации в папке AssetsAnimations под именем Run.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Новая созданная анимация Run стала текущей в окне Animation. Разворачиваем спрайт Run в окне Project, выделяем все фалы Run_0… Run_9 и перетаскиваем в окно Animation. Установим пока значение Sample равное 24.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Все это мы уже делали в первой части, а теперь будет нечто новое. Перейдем в окно Animator. Сейчас там отображены три анимации: Any State, Idle и Run. Нам предстоит задать условия перехода из анимации Idle в анимацию Run, то есть из состояния покоя в состояние бега. В нижнем левом углу есть поле Parameters. Нажимаем на плюсик, выбираем Float и называем новый параметр как Speed. Тем самым мы создали параметр типа число с плавающей запятой, обозначающий скорость перемещения персонажа. Именно в зависимости от значения этого параметра будет происходить переключение из анимации покоя в анимацию бега. Теперь нажимаем правой кнопкой мыши на анимацию Idle, выбираем Make Transition и нажимаем левой кнопкой мыши на анимацию Run. Между анимациями появится линия со стрелкой. Передвиньте мышкой прямоугольники анимации, если плохо видно. Кликнем по линии со стрелкой. В окне Inspector отобразятся свойства перехода между анимациями. Обратим внимание на низ окна, в раздел Conditions. Кликнем на параметр Exit Time и поменяем его на Speed. Второе поле Greater оставим без изменений, а в третьем введем значение 0.01. Мы создали условие перехода из анимации покоя в анимацию бега — оно происходит, когда значение параметра скорости становится немногим больше нуля.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь нужно сделать обратный переход — из Run в Idle. Делаем все с точностью наоборот: Make Transition от Run к Idle, выделяем переход, в Conditions устанавливаем SpeedLess0.01.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь у нас есть две анимации и условия перехода между ними. Но пока ничего работать не будет, потому что все что мы сделали нужно «оживить» при помощи скрипта. Давайте перейдем в окно Project и создадим в папке Assets подпапку Scripts. Добавим в нее новый C# Script, назовем его CharacterControllerScript и откроем на редактирование.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Итак, мы завели несколько переменных: для задания максимальной скорости перемещения, для определения направления (вправо/влево) и для работы с компонентом Animator. Почти все действия происходят в методе FixedUpdate. В нем мы получаем значение оси Х, которое меняется при нажатии на клавиатуре клавиш влево-вправо или A-D (если не меняли соответствующие настройки проекта!). Затем устанавливаем это значение параметру Speed компонента Animator. Обратите внимание, что мы берем модуль этого значения при помощи метода Mathf.Abs, так как при создании условий перехода между анимациями покоя и бега мы сравниваем значение параметра с положительным числом 0.01. Нам здесь не важно, в какую сторону бежит персонаж. Важно лишь величина значения. Далее задаем скорость перемещения по оси Х в соответствии со значением максимальной скорости. И, наконец, проверяем, в какую сторону бежит персонаж, и в какую сторону он в этот момент повернут. Если он бежит вправо, а повернут влево — разворачиваем его вправо путем инвертирования его размера по оси Х. И наоборот. Этим нехитрым способом мы избавились от необходимости делать две анимации вместо одной: для бега вправо и для бега влево.

Сохраняем скрипт. В Unity перетаскиваем его на нашего Character в окне Hierarchy. Запускаем игру, нажимаем влево-вправо или A-D.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Капитан Коготь теперь умеет бегать! Скорость анимации получилась быстроватой. Ее можно снизить путем уменьшения значения Sample в окне Animation для анимации Run (значение 12 будет нормально). Если одновременно с игрой у вас видно окно Animator, то вы увидите, что во время покоя работает анимация Idle (бегает синий прогрессбар), а во время бега происходит переход на анимацию Run, и, соответственно, работает она.

На этом пока все. Нам осталось разобраться с прыжками… и узнать при этом еще несколько новых вещей!
Ссылка на спрайты.

Update: добавил видео результата.

Источник

Создание персонажей в Blender и Unity

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Визуально персонажи 3D-игр имитируются с помощью использования моделей, текстур и анимаций.

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

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

Возможность многократного применения анимаций позволяет использовать анимации из Asset store и с таких вебсайтов, как mixamo.com, для ваших собственных персонажей. Это экономит кучу времени!

В этом туториале вы узнаете, как подготовить гуманоидную модель в Blender и как перенести её в Unity. В частности, вы научитесь следующему:

Приступаем к работе

Для прохождения этого туториала вам необходимо следующее:

Откройте папку заготовки (starter) проекта и перейдите в папку Assets\RW\Models. Откройте в Blender файл CuteCharacter.blend.

В файле содержатся следующие данные:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Заметьте, что она отзеркалена по оси X, это сильно упростит весь процесс работы. Справа показано простое изображение загруженной текстуры:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Первый шаг к анимированию этого персонажа — выполнение риггинга.

Создаём риг персонажа

Риггинг — это создание арматуры, скелета модели. У арматуры есть несколько соединённых костей, к которым можно прикрепить вершины, чтобы они двигались при перемещении кости.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Переместите мышь в окно 3D View, чтобы переключить на него фокус. Затем добавьте новую арматуру — удерживайте Shift и нажмите A, чтобы открыть Add Menu. Выберите Armature > Single Bone.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Мы создали арматуру и её самую первую кость, которую также называют корневой костью (root bone). Не снимая выделения с арматуры, найдите в разделе Display вкладки Properties флажок X-Ray и поставьте его.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь арматура будет видна сквозь персонажа. Это упростит создание скелета.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Прежде чем приступать к созданию полной структуры, важно понять, как её нужно настроить для совместимости с Humanoid Avatar движка Unity.

Из-за особенностей привязки костей к собственной системе Unity некоторые ключевые кости являются обязательными.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Unity ожидает наличия минимум 15 костей, а именно:

Убедитесь, что арматура всё ещё выделена и нажмите на Tab, чтобы перейти в режим Edit. Выберите корневую кость, нажав на неё правой клавишей мыши.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Примечание: в Blender для выбора объектов используется правая клавиша мыши. Нажатие левой клавиши мыши изменяет позицию 3D-курсора — небольшого жёлтого круга с красно-белым кольцом вокруг. При перемещении 3D-курсора все новые объекты создаются в его новой позиции, а для нашего туториала это не требуется. Для сброса позиции 3D-курсора можно нажать Shift + S, откроется меню Snap Menu, после чего выбрать Cursor to Center.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Откройте вкладку Bone на панели Properties справа, чтобы можно было быстро вносить изменения, и переименуйте корневую кость в Hips, введя имя в поле ввода названия и нажав Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Позвоночник

Настало время создавать структуру костей!

Выберите нижнюю сферу кости Hips и нажмите по порядку G, Z, 0.5 и Enter, чтобы переместить её туда, где должен быть пупок.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь выберите верхнюю сферу и нажмите G, Z, 0.1 и Enter, чтобы немного переместить её вверх.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Примечание: если вам плохо видно происходящее, то можно приближаться и отдаляться при помощи колеса мыши.

Чтобы создать несколько костей позвоночника, нам нужно подразделить кость Hips на три части. Выберите кость Hips, нажмите W, чтобы открыть меню Specials и выберите Subdivide. По умолчанию эта операция разделяет кость на две части, поэтому измените значение Number of Cuts в нижней части панели Tool слева на 2.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Примечание: если вы не видите ползунок Number of Cuts, то переместите курсор мыши под текст Subdivide Multi внизу слева и прокрутите вверх, чтобы сделать его видимым.

После разделения позвоночника новые кости называются Hips.001 и Hips.002. Это плохой способ наименования костей; переименуйте кости, по очереди выделив их и изменив имя в правой панели Bone.

Назовите верхнюю Chest, а среднюю LowerSpine.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь перейдём к костям ног. Дублируйте кость Hips, выбрав её и нажав Shift + D, а затем для подтверждения нажмите правую клавиши мыши.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Если посмотреть на панель Bone справа, то можно увидеть, что выбрана кость с именем Hips.001. Переименуйте её в UpperLeg.L. L означает left, «левая». Так мы будем понимать, с какой мы стороны костей и это поможет нам в дальнейшем при отзеркаливании.

Поверните кость UpperLeg.L по оси Y, нажав R, Y, 180 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь переместите на место по горизонтали, нажав G, X, .23 и Enter. Затем нажмите G, Z, -.2 и Enter, чтобы переместить её вертикально.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Выберите нижнюю сферу (также называемую коннектором) и переместите её вниз, нажав G, Z, -.3 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Чтобы ногу можно было сгибать, её необходимо разделить. Выберите кость UpperLeg.L, нажмите W и выберите Subdivide для разделения ноги на две части. В результате у нас получится две кости ноги; назовите нижнюю LowerLeg.L.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Последняя часть ног — это ступни. Переключитесь на вид сбоку, нажав 3 на алфавитно-цифровом блоке (Numpad), после чего нажмите на клавишу «точка» (.), чтобы сфокусироваться на голени.

Примечание: если на клавиатуре нет алфавитно-цифрового блока, то переключаться между видами можно нажатием на кнопку View в нижней части экрана.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Немного отдалите окно просмотра, чтобы видеть большую часть голени.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь выберите нижний коннектор и чтобы создать стопу, экструдируйте его, нажав E, Y, -.18 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Переименуйте созданную кость в Foot.L в панели Bone.

Теперь неплохо было бы сохранить файл. Нажмите CTRL + S и щёлкните левой клавишей мыши на появившемся имени файла. Периодически сохраняйте свою работу, Blender — достаточно стабильное приложение, но иногда может «крашиться».

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Вернитесь в вид спереди, нажав 1 на алфавитно-цифровом блоке. Прежде чем переходить к голове, нам нужно сделать кость таза родительской для ноги. К счастью, сделать это довольно просто!

Выберите UpperLeg.L и найдите в разделе Relations панели Bone раскрывающийся список Parent. Нажмите на него и выберите Hips.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Приступим к голове! Выберите коннектор в верхней части кости Chest, нажмите E, Z, .055 и Enter. Это будет кость шеи, так что назовите её в панели Bone Neck.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Чтобы добавить кость головы, не снимайте выделение с верхнего коннектора и нажмите E, Z, .95 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Назовите созданную кость Head.

Далее приступим к коннектору левого плеча. Выберите верхний коннектор кости Chest и нажмите E, X, .08 и Enter, чтобы добавить новую кость. Немного переместите её вниз, выбрав правый коннектор и нажав G, Z, -.09 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Назовите эту кость ShoulderConnector.L. Эта кость будет прикреплять плечо к грудине. Для протокола: это ни в коем случае не анатомически корректно, но нам это и не требуется.

Снова выберите самый правый коннектор и нажмите E, X, .85 и Enter. Так мы создадим одну большую кость, которую нужно будет разделить, чтобы создать оставшиеся кости с левой стороны.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Выберите созданную кость, нажмите W и выберите Subdivide. Измените количество разрезов внизу слева на 3, чтобы получить четыре части.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Назовите эти кости следующим образом, начиная слева направо:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Красная линия обозначает, где локоть находится сейчас, а белая — точку сгиба руки на меше. Чтобы исправить это, выберите LowerArm.L и переместите её вправо, нажав G, X, .09 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Пока мы работаем только с левой частью. Но как насчёт правой?

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

Отзеркаливание

С версии 2.79 в Blender есть удобная новая функция для быстрого отзеркаливания костей арматуры всего за несколько простых шагов! До появления этой функции приходилось дублировать, отзеркаливать вручную, изменять названия и задавать роли костей. Если вам когда-нибудь доводилось это делать, то вы знаете, как это долго.

Для начала снимите выделение со всех костей, нажав A, чтобы не осталось оранжевых контуров выделений.

Далее выберем кости только с левой стороны (левая сторона персонажа находится справа от вас), удерживая Shift и щёлкая правой клавишей мыши каждую кость. Не забудьте о ступне!

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Выбрав эти кости, нажмите W и выберите Symmetrize.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

И этого достаточно, чтобы получить идеальную зеркальную версию выбранных костей:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Кроме того, в конце названий костей будет вместо .L буква .R, обозначающая их позицию.

Сохраните файл и приготовьтесь к риггингу.

Рисование весов

Рисование весов (Weight painting) — это процесс привязки костей к 3D-мешу. Каждая кость прикрепляется к группе вершин с определённой величиной веса.

Вес определяет «жёсткость» перетягивания вершин за костью.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Выполнение этой задачи вручную может занять много времени, потому что придётся самостоятельно рисовать вес каждой отдельной кости. К счастью, Blender может взять на себя основную часть рутинной работы, автоматически нарисовав веса в зависимости от близости костей к вершинам.

Нажмите Tab, чтобы переключиться в Object mode. Сначала выберите модель, затем удерживайте Shift и нажмите ПКМ на арматуре, чтобы выбрать и её тоже.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь нажмите CTRL + P, чтобы открыть меню Parent и выберите With Automatic Weights, чтобы сделать модель родителем арматуры и выполнить автоматическое рисование весов.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Визуально разница может быть незаметна, но теперь кости присоединены к мешу.

Прежде чем приступать к проверке, убедитесь, что Pivot Point находится в режиме Median Point, проверив нижнюю панель:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Включите режим Median Point, если там всё ещё выбран режим 3D Cursor.

А теперь начинается интересное! Переключитесь в режим Pose, выберите кость и поверните её, нажав R и перемещая курсор мыши. Проделайте это с каждой костью в центральной и левой части модели, чтобы убедиться, что все веса назначены верно.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Проверив все кости, вы можете заметить, что глаза не двигаются вместе с головой, что выглядит немного странно, если не сказать больше:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

В этом режиме можно выбирать кости, удерживая CTRL и щёлкая ПКМ на кости. Выберите кость Head и поверните её назад, нажав R, X, -90 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Чтобы прикрепить глаза к кости Head, выберите кисть Add в разделе Brush панели Tool слева.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Вес можно увидеть визуально по цвету на меше; значения изменяются от 0 (тёмно-синий) до 1 (ярко-красный). Чтобы проверить результаты, вернитесь в вид спереди, нажав numpad 1 и Alt (или Option) + R для сброса поворота кости Head.

Теперь глаза правильно прикреплены к голове.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Примечание: показанный выше поворот выполнен вращением трекбола. Этот режим вращения можно активировать повторным нажатием R после начала поворота.

Завершив базовое рисование весов, можно приступить к деталям.

Добавление аксессуаров

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

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Сначала мы нажмём Z, чтобы выйти из режима wireframe и нажмём A, а затем Alt (или Option) + R, чтобы сбросить поворот всех костей.

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

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

Если вы повторяли за мной действия туториала, то сейчас находитесь в в режиме Weight Paint. И это хорошо, потому что после добавления шляпы нам нужно снова заняться рисованием весов. Нажмите Tab, чтобы перейти в режим Edit mode и начните с переключения режима выделения на Vertex, нажав CTRL + Tab и выбрав в меню Vertex.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь выберите ПКМ любую вершину в верхней части головы, находящуюся выше красной линии (которая является используемым для текстурирования UV-швом). Нажмите CTRL + L для выбора всех присоединённых вершин, так мы выберем всю модель. Теперь выберите UV delimiter, выбрав в нижней левой панели >UVs.

Теперь будет выбрана только верхняя часть головы.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Выберите также edge loop под ней, удерживая Shift и Alt (или Option), а затем нажав ПКМ на любой из первых горизонтальных рёбер ниже.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь дублируйте выбранные грани, нажав Shift + D, а затем Enter. Немного переместите дублированные грани, нажав G, Z и 0.01.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Затем отмасштабируйте всё выделенное, нажав S, 1.05 и Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Шляпа пока похожа на висящий в воздухе кусок тела, поэтому чтобы прикрепить её к телу, сделаем следующее:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Выберите всю шляпу, выбрав любую её вершину и нажав CTRL + L. В этот раз измените ограничитель на Normal, чтобы выбрать все соединённые вершины.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Для нашей шляпы мы выполним одну из простейших в мире развёрток: из вида. Нажмите numpad 1, чтобы перейти в вид спереди, затем нажмите U, чтобы открыть меню Unwrap и выберите Project From View.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Если вы посмотрите на правую сторону окна Blender, в которой показана текстура, то заметите, что туда добавилось несколько вершин, похожих на половину шляпы:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Можно выбрать все вершины, переместив курсор мыши на текстуру и нажав A. Действия в Blender чувствительны к контексту и зависят от расположения курсора, поэтому пусть он пока находится внутри этой области текстуры.

Теперь нажмите G, чтобы переместить UV на синее пятно, подтвердите перемещение нажатием Enter, а затем отмасштабируйте выбранное, чтобы оно уместилось в пределах синей области: нажмите S и подтвердите клавишей Enter.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Если теперь посмотреть на персонажа, то можно увидеть, что его шляпа стала синей.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Можно изменить изображение текстуры, чтобы сделать любой другой цвет.

Теперь снова переместите курсор влево, рядом с моделью и нажмите Tab, чтобы вернуться в режим Weight Paint. Немного поверните кость Head, чтобы проверить, прикреплена ли шляпа.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Теперь мы рассмотрим создание и прикрепление отдельного объекта.

Прикрепление объектов

Перейдите в режим Object mode и нажмите Shift + A, чтобы открыть меню Add. Выберите Mesh > Cylinder, чтобы добавить в сцену новый цилиндр.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Предлагаемый по умолчанию цилиндр слишком велик, поэтому настроим его параметры в нижнем левом углу: изменим Radius на 0.04, а Depth на 1.2.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Благодаря этому цилиндр станет тоньше и короче.

Сделаем цилиндр гладким, нажав на кнопку Smooth в разделе Shading панели Tool Shelf слева.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Пока нашему цилиндру не назначено никакого материала. Чтобы назначить материал, откройте вкладку Material в панели Properties справа и выберите CuteMaterial из раскрывающегося списка рядом с кнопкой New.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Чтобы превратить цилиндр в коричневый посох, нам для начала потребуется выполнить UV-развёртку. Нажмите Tab, чтобы перейти в режим Edit mode, нажмите U, чтобы открыть меню Unwrap, и выберите Project From View.

Переместите курсор мыши на текстуру справа, нажмите G, чтобы переместить UV на коричневый кусок текстуры. Подтвердите перемещение клавишей Enter и уменьшите масштаб нажав S и переместив мышь так, чтобы UV поместились внутри этого куска.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь посох стал коричневым. Не волнуйтесь о неправильном расположении, скоро мы им займёмся.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Откройте вкладку Constraints панели Properties. Добавьте новое ограничение (constraint), нажав на раскрывающийся список Add Object Constraint и выбрав Child Of.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Задать ограничение очень просто. Нажмите на раскрывающийся список Target и выберите Armature. Теперь нажмите на раскрывающийся список Vertex Group и выберите Hand.R.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

После этого вы заметите, что посох мгновенно прикрепился к правой руке персонажа. Однако его позиция и поворот не совсем верны. Поверните посох по оси Z на 90 градусов, нажав R, X, 90 и Enter. Теперь переместите его немного вперёд, нажав G, Y, -0.4 и Enter. Так намного лучше!

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Пришла пора испытать посох. Вернитесь в режим Object mode, нажав Tab, выберите арматуру и переключитесь в режим Pose mode с помощью раскрывающегося списка в нижней части экрана. Поверните окно просмотра так, чтобы чётко видеть посох, выберите UpperArm.R и немного поверните её, нажав R и перемещая мышь. Посох будет следовать за рукой, как будто персонаж его держит.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Персонаж и его аксессуары готовы. Сохраните файл, наша работа здесь закончена.

Теперь мы займёмся экспортом модели и арматуры в Unity.

Экспорт в другие форматы

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

Экспортировать в FBX из Blender очень просто. Для начала выберите в верхнем меню File > Export > FBX (.fbx).

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Можно выбрать место сохранения файла, выбрав папку слева или введя местоположение в поле сверху. Параметры экспорта указаны в нижнем левом углу окна:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Эти параметры экспорта по умолчанию подходят для Unity, но существует вероятность того, что в более сложных сценах они могут создать хаос, потому что экспортируют всё, даже источники освещения и камеры. Чтобы экспорт был чистым, внесите следующие изменения:

Снимите выделение с Camera, Lamp и Other. Это можно сделать, удерживая Shift и нажимая на опции, которые нужно отключить.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Если выбраны только такие опции, то никакие нежелательные объекты не экспортируются. Теперь поставьте флажок !EXPERIMENTAL! Apply Transform под этими опциями. Он применит позицию, поворот и масштаб всех объектов. Это означает, что неоднообразные значения будут сброшены; например, если поворот имел значения (X:23, Y:125, Z:7), то он будет сброшен на (X:0, Y:0, Z:0).

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Переключитесь на вкладку Geometries, нажав на кнопку Geometries, и снимите флажок Use Modifiers Render Setting. Это позволит сохранить высокое количество полигонов внутри для рендеринга в Blender, но оставит его низким внутри Unity.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Далее откройте вкладку Armatures, поставьте флажок Only Deform Bones и снимите Add Leaf Bones. Это не позволит приложению Blender добавлять к арматуре лишние кости. Leaf bones необходимы только для совместимости с Maya. Non-deform bones, например, контролирующие кости, необходимы только в ПО моделирования для выполнения точной настройки; в таких игровых движках, как Unity, они бесполезны.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Опции Animation по умолчанию настроены правильно, так что менять их не нужно.

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

Для этого нажмите на кнопку + рядом с раскрывающимся списком Operator Presets, введите в текстовое поле название пресета и нажмите на кнопку OK. В этом туториале мы назовём его Unity FBX.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Если открыть теперь раскрывающийся список Operator Presets, то можно выбрать только что созданный пресет:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Сохраните файл и закройте Blender. Наконец настало время перейти в Unity и воспользоваться нашей моделью.

Настройка гуманоида

Откройте заготовку проекта в Unity и посмотрите на окно Project.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Вот краткое описание папок:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Разобравшись с этим, давайте приступим к использованию персонажа!

Привязка аватара

Для начала выберите модель CuteCharacter из папки Models и откройте в Inspector вкладку Rig. Откройте раскрывающееся меню Animation Type и выберите Humanoid.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

После краткого повторного импорта вы заметите, что появилась кнопка Configure…. Нажмите на неё, чтобы приступить к связыванию костей с системой Mecanim движка Unity’.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Посмотрите на окно Scene и поверните окно так, чтобы персонаж смотрел на вас. Заметьте зелёные кости; их использует движок Unity. При нажатии на любую из них будет выбрана соответствующая кость и в Hierarchy, и в Inspector.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Использование движком Unity костей напоминает работу кукловода. Вместо непосредственного использования файлов анимации для обновления костей в каждом кадре он считывает значения и применяет их к каждому гуманоиду на основании его определения Avatar. Это обеспечивает гибкость при работе с разными формами тел. Возьмём для примера персонажа, с которым мы работали — его пропорции нереалистичны, но это не имеет значения, ведь его скелет имеет необходимые кости: позвоночник, руки, ноги и т.д. Некоторые из костей могут быть короче, чем у большинства людей, но они всё-таки присутствуют.

Теперь посмотрим на Inspector: вы видите фигуру человека с разбросанными по ней зелёными и серыми кругами. Все сплошные круги необходимы для работы системы Avatar. Если какие-то из них отсутствуют, то они становятся красными, и вы не сможете правильно анимировать персонажа.

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

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Ниже представлено полное описание костей, и именно здесь нужно связывать части тела с костями. Если какой-то из кругов красный, то нужно назначить (или переназначить) кость. Созданный нами скелет полностью отвечал требованиям уже при импорте в Unity, поэтому никаких настроек не требуется. Ура!

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Нажмите на кнопку Apply в нижнем правом углу и щёлкните кнопку Muscles & Settings в верхней части Inspector. Это позволит просматривать и настраивать виртуальные мышцы.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Вы увидите три раздела:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Раздел Per-Muscle Settings содержит подразделы, которые можно разворачивать нажатием на стрелки. В каждом из них есть отдельные превью. Эти подразделы позволяют указать минимальные и максимальные углы, чтобы избежать наложений в вашей модели.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Разверните раздел Left Arm и попробуйте перетаскивать ползунок Arm Down-Up. Заметьте, что происходит при минимальном значении:

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Примечание: если персонаж слишком тёмный, чтобы создавать силуэт, то можно отключить в окне Scene освещение сцены, нажав на небольшой значок солнца в верхней части.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Рука движется через тело персонажа. Плохо!

Чтобы исправить это, переместите ползунок превью в наименьшее значение и измените minimum angle раздела Arm Down-Up на -20.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Сделайте то же самое для Right Arm > Arm Down-Up.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

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

Нажмите кнопку Apply в нижнем правом углу для сохранения изображений в Avatar и нажмите Done, чтобы закрыть режим привязки.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь настало время добавить персонаж в сцену и дать ему воспроизводимую анимацию.

Использование персонажа

Чтобы добавить персонажа, перетащите модель CuteCharacter из папки Models в Hierarchy.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Задайте для CuteCharacter поворот (X:0, Y:180, Z:0), чтобы он смотрел в камеру.

Создайте новый контроллер анимаций, нажав правой клавишей на папке RW\Animation Controllers и выбрав Create > Animation Controller.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Назовите его CharacterController и дважды нажмите на него, чтобы открыть окно Animator. Теперь перетащите анимацию Idle из папки RW\Animations на сетку Animator, чтобы сделать её анимацией по умолчанию.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Далее выберите CuteCharacter в Hierarchy и нажмите на кнопку-селектор рядом с полем Controller. Выберите в окне выбора CharacterController.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Вот и всё! Нажмите на кнопку Play, чтобы увидеть персонажа в действии.

Как сделать игрока в unity3d. Смотреть фото Как сделать игрока в unity3d. Смотреть картинку Как сделать игрока в unity3d. Картинка про Как сделать игрока в unity3d. Фото Как сделать игрока в unity3d

Теперь снова нажмите на кнопку Play, чтобы остановить сцену, и нажмите CTRL + S, чтобы сохранить изменения.

Куда двигаться дальше?

Поздравляю, вы выполнили туториал. Готовый проект можно скачать отсюда.

В этом туториале вы научились следующему:

Чтобы узнать больше о Blender, изучите следующие туториалы:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *