Урок по Mecanim новой системе анимаций
| |
IL-98-YA | Дата: Четверг, 10 Января 2013, 17:05 | Сообщение # 1 |
UnityUser
Сейчас нет на сайте
| Всем привет, я решил попробовать написать урок, и решил написать его по меканиму (новой системе анимаций в Unity3D). На первый взгляд, она кажется достаточно неудобной, соглашусь, мне лично, было легче писать «animation.CrossFade» или «animation.Play” , однако, с меканимом, можно делать анимации, и не писать физическое управление! Что существенно облегчит нам жизнь, итак приступим.
Для начала запустим Unity3D и создадим там сцену:
Далее, я надеюсь у вас уже есть модель, и анимации к ней, мы будем делать человеко-подобную анимацию, поэтому идем в папку с моделью игрока, и нажимаем на него:
После этого, у нас откроется Inspector:
Если вы не во вкладке “Animations”, то перейдите в нее и снимите галочку с “Import Animation”
Дальше, нужно настроить скелет у модели, для этого перейдите в вкладку “Rig”
Изначально, у вас должна появится эта картина, меняем ”Animation Type” с “Generic” на “Humanoid” , а в “Avatar Definition” выбрать “Create from this model”, в общем, все должно быть вот так:
Далее нажимаем Configure:
После чего, у нас откроется настройка скелета, на модели, все кости будут видны в окне редактора, они будут зелеными, а так же, в инспекторе появится окно с человечком, под человечком будут показаны все кости, с их названием:
Тут я уже настроил скелет, изначально, в нем могут быть неисправности, с ними надо бороться, или анимация, будет неправильно работать, они показаны вот так:
Это было в моем случае, здесь мы видим, что скелет не может найти кость головы, для того чтобы ее было проще вставить, переходим в настройки головы, для этого нажимаем, на кнопку “Head”, что в колонке кнопок, которые находятся в левом нижнем углу, в общем кликнем вот сюда:
После чего, мы увидим, следующее окно в инспекторе:
Как мы видим, у нас есть только шея, кость головы не найдена, а ведь эта кость отвечает за все движения головы! Находим ее, и перетаскиваем в поле Head, после того как мы перенесли голова стала зеленой:
Нажмите на Pose, и там нажмите Enforce T-Pose:
Это поставит наш персонаж в T-Pose, что есть начальная поза, дальше можете пройти во вкладку Muscles и поиздеваться над своим персонажем, а когда вам это надоест, нажмите Apply, а потом Done. Все Персонаж настроен, теперь, перейдем к настройке анимаций, она в разы легче, чем настройка персонажа, нажмите на любую анимацию:
Тут уже должна стоять галочка напротив Import Animation, далее идем в Rig, там будет та же картина , что и с настройкой персонажа… мы опять нажимаем Humanoid, но на этот раз, мы не создаем с этой модели, а копируем с игрока, т.е. мы берем настройки для “Avatar” игрока, и копируем их для каждой анимации, для этого вместо «Create from This Model», выбираем «Copy from another Avatar», и перетаскиваем в появившееся поле “Source” Avatar игрока, можно просто выбрать его нажав на кружок в поле справа. Картина должна получится такая:
Так делаем с каждой анимацией. С подготовкой персонажа закончили, теперь переходим к настройке в игре!
Для начала нужно создать файл AnimatorController:
после чего перетянем персонажа на сцену, и кликнем на него, откроем его настройки, там будет компонент “Animator”, в нем будет Controller, туда нужно будет перетащить, нами только что созданный AnimatorController:
Далее идем в Window>Animator:
У нас появится окно с настройками анимаций, там будет “Any State” его трогать, смысла нет, он нам ничего не даст, просто перетяните туда анимацию, например я перетянул анимацию IDLE, ВНИМАНИЕ: ИМЕННО АНИМАЦИЮ, А НЕ МОДЕЛЬ!!!
После того, как мы ее перетянули, мы видим, что она стала оранжевой. Оранжевый – значит, что анимация является главной, и она будет проигрываться первой. Теперь перетянем туда, например анимацию бега:
Она серого, цвета, это говорит о том, что она не главная анимация, а второстепенная, теперь, нужно переключать эти две анимации! Для этого создадим параметр Float:
Назовите его Direction, Дальше создаем скрипт:
Назовите его AnimControll.cs , дальше я выложу просто скриншот скрипта с комментариями, надеюсь, они будут вам понятны, если же они будут непонятны, то вы можете задать вопрос в теме:
После этого можете смело запускать проект, и бегать, но, увы, мы видим, что наш герой, не обладает физикой, это не огромная проблема, она легко решается, в общем, для ее решения скопируйте все настройки анимаций, как у меня:
ах да, забыл, еще нужно создать условия для перехода из одного в другое, для этого кликнем по IDLE в аниматоре и нажмем Make Transition, делайте все как на картинке:
Вот и все, на этом урок окончен, так же, есть другие параметры, например, есть параметр Bool, он очень полезен, если вы хотите сделать прыжок, или подкат, как его использовать можете посмотреть в примере, но пример я смогу выложить только через неделю, так как сейчас небольшие неполадки с интернетом. Я очень надеюсь, что объяснил понятно
КАК И ОБЕЩАЛ ССЫЛКА НА ПРИМЕР: скачать с narod извиняюсь за некоторые лишние файлы... и корявенькую анимацию, я не очень хороший аниматор :-)
Добавлено (10.01.2013, 17:05) --------------------------------------------- извиняюсь, что пропустил создание условий...
Сообщение отредактировал IL-98-YA - Понедельник, 14 Января 2013, 00:27 |
|
| |
XeoDoz | Дата: Четверг, 10 Января 2013, 17:25 | Сообщение # 2 |
XeoDoz Games
Сейчас нет на сайте
| Красава! Лови плюс.
Ехал Falco через Falco, видит Falco в реке Falco, сунул Falco руку в Falco, Falco Falco Falco Falco Очень рад плюсеГгам в репу
|
|
| |
IL-98-YA | Дата: Четверг, 10 Января 2013, 17:29 | Сообщение # 3 |
UnityUser
Сейчас нет на сайте
| Цитата (XeoDoz) Красава! Лови плюс. спасибо
Сообщение отредактировал IL-98-YA - Четверг, 10 Января 2013, 17:30 |
|
| |
Demix | Дата: Четверг, 10 Января 2013, 17:37 | Сообщение # 4 |
Pixel Fire Software™
Сейчас нет на сайте
| Хороший урок!
Мои проекты: Spell Castle Bricks [Android] O'er! [Android]
|
|
| |
IL-98-YA | Дата: Четверг, 10 Января 2013, 17:38 | Сообщение # 5 |
UnityUser
Сейчас нет на сайте
| Цитата (Demix) Хороший урок! спасибо
|
|
| |
Nekit_Aut | Дата: Четверг, 10 Января 2013, 17:51 | Сообщение # 6 |
The Dizziness - Man
Сейчас нет на сайте
| Отлично! Поможет многим разобраться с этим нововведением в движке)
|
|
| |
IL-98-YA | Дата: Понедельник, 14 Января 2013, 00:29 | Сообщение # 7 |
UnityUser
Сейчас нет на сайте
| Цитата (Nekit_Aut) Отлично! Поможет многим разобраться с этим нововведением в движке) Спасибо Добавлено (14.01.2013, 00:29) --------------------------------------------- Добавил пример
|
|
| |
Eyks001 | Дата: Вторник, 22 Января 2013, 10:44 | Сообщение # 8 |
Эйкс. Просто Эйкс.
Сейчас нет на сайте
| Я от лица многих новичков задаю вопрос: как быть с нестандартным персонажем?
"Счастье для всех, даром, и пусть никто не уйдет обиженный!" - Рэд Шухарт ("Пикник на обочине", Стругацкие А. и Б.) ***
Извиняюсь за часто появляющиеся "оЧеПЯтки", виной тому моя невнимательность...
|
|
| |
giperion | Дата: Вторник, 22 Января 2013, 12:22 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Урок "хороший", но не отличный. Многие скользкие моменты упущены, такие как: работа с анимацией которая сделана In-place, реализация плавного прыжка, не рассмотрены типы ригов.
Цитата (Eyks001) Я от лица многих новичков задаю вопрос: как быть с нестандартным персонажем? Отвечаю: Humanoid риг - условность. У рига может быть разное количество костей или немного другое строение, но главное чтобы были соблюдены некоторые правила оформления (к сожалению расписать немогу - долго, да и большую часть я познал через эксперименты). Если же персонаж ну совсем уникальный, то можно использовать Generic тип рига. Просто это значит, что Generic анимация не может быть применима к хуманойдному ригу (основная концепция Mecanim - все гуманойды имеют общую базу анимации, и каждый из них может воспользоваться анимацией из другой модели, опять таки только Humanoid'ного рига). Однако даже Generic анимация может быть смешана и обработана с помощью Mecanim.
А вообще если меня сильно попросят - могу написать детальный учебник-туториал по меканим, с некоторыми исходниками (моим ригом для Mecanim).
Skype: sergej_1965
|
|
| |
Bizzy | Дата: Вторник, 22 Января 2013, 17:27 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| "А вообще если меня сильно попросят" по подробней плз. А вообще было бы замечательно если напишеш.
|
|
| |
IL-98-YA | Дата: Четверг, 31 Января 2013, 03:49 | Сообщение # 11 |
UnityUser
Сейчас нет на сайте
| Цитата (Eyks001) Я от лица многих новичков задаю вопрос: как быть с нестандартным персонажем? я же в скайпе тебе объяснил
|
|
| |
[SK]xakep | Дата: Вторник, 05 Марта 2013, 13:05 | Сообщение # 12 |
был не раз
Сейчас нет на сайте
| Отличный урок давно хотел разобраться с этой систменой
Нет предела совершеству ^^
|
|
| |
NeToX | Дата: Вторник, 05 Марта 2013, 17:41 | Сообщение # 13 |
Neto Software
Сейчас нет на сайте
| Классный урок.
Мои проекты: [3D]Square World[API VK] [3D]Dead Prison[Windows] [2D]Save Fruit[Android,windows]
|
|
| |
Школьник | Дата: Вторник, 05 Марта 2013, 18:14 | Сообщение # 14 |
был не раз
Сейчас нет на сайте
| шрефты гавно
|
|
| |
IL-98-YA | Дата: Пятница, 08 Марта 2013, 05:41 | Сообщение # 15 |
UnityUser
Сейчас нет на сайте
| Цитата (Школьник) шрефты гавно
эм... эт ты к чему?
Цитата (NeToX) Классный урок.
спасибо
Цитата (|SK|xakep) Отличный урок давно хотел разобраться с этой систменой
рад был стараться
Сообщение отредактировал IL-98-YA - Пятница, 08 Марта 2013, 05:42 |
|
| |
slavick | Дата: Четверг, 10 Октября 2013, 07:57 | Сообщение # 16 |
частый гость
Сейчас нет на сайте
| Помогите в Скрипте постоянно ошибка вылетает Код Assets/AnimContols.cs(16,9): error CS8025: Parsing error Хотя я написал 100% все правильно со скрина
|
|
| |
seaman | Дата: Четверг, 10 Октября 2013, 13:53 | Сообщение # 17 |
старожил
Сейчас нет на сайте
| Класс! Мы, конечно польщены, что Вы нас экстрасенсами считаете. Однако это, к сожалению не так. без скрипта Вашего мы Вам никак не поможем.
|
|
| |
IL-98-YA | Дата: Четверг, 10 Октября 2013, 18:23 | Сообщение # 18 |
UnityUser
Сейчас нет на сайте
| slavick, Здравствуйте, будьте добры дать полный скрипт , так же, свертесь со скриптом из билда ссылку на который я дал...
|
|
| |
nwsx | Дата: Четверг, 10 Октября 2013, 19:16 | Сообщение # 19 |
постоянный участник
Сейчас нет на сайте
| у юнити есть официальный туториал по механиму. каков был смысл делать этот?
Westboro Dungeon Journey на Google Play
|
|
| |
seaman | Дата: Четверг, 10 Октября 2013, 19:22 | Сообщение # 20 |
старожил
Сейчас нет на сайте
| Хорош троллить во всех темах. Не нужен Вам урок - не читайте. А то как старушка - "Фу какую гадость по телику показывают", а саму от экрана не оторвать.
|
|
| |
|