Створення персонажів в Blender і Unity


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

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

На щастя для розробників ігор, сьогодні більшість движків має систему, що дозволяє багаторазово використовувати анімації за умови сумісності скелетної ієрархії. Така система дозволяє використовувати однакові анімації персонажів всіх форм і розмірів. У Unity ця система називається Mecanim. Вона забезпечує зручну настройку анімацій, змішування між ними і перенесення гуманоїдних анімацій між моделями.

Можливість багаторазового застосування анімацій дозволяє використовувати анімацію з Asset store і з таких вебсайтів, як mixamo.com для ваших власних персонажів. Це економить купу часу!

У цьому туториале ви дізнаєтеся, як підготувати гуманоидную модель в Blender і як перенести її в Unity. Зокрема, ви навчитеся наступному:

  • Створювати арматуру (скелет) персонажа і виконувати її риггинг (прив’язку скелета до мешу)
  • Модифікувати персонаж додаванням аксесуарів і об’єктів
  • Експортувати модель до FBX
  • Імпортувати моделі Blender
  • Створювати і настроювати гуманоїдний аватар
  • Прикріплювати до персонажа об’єкти
  • Анімувати гуманоїда в Unity

Приступаємо до роботи

Для проходження цього туториала вам необхідно наступне:

  • Встановити останню стабільну версію Unity.
  • Встановити останню стабільну 64-бітну версію Blender.
  • Мати мінімальне розуміння редактора Unity. Можете вивчити туторіали для початківців.
  • Рекомендується досвід роботи з Blender. Тут є туторіали, за яким можна навчитися основам.

Скачайте вихідні матеріали і куди-небудь їх розпакуйте.

Відкрийте папку заготовки (starter) проекту і перейдіть в папку AssetsRWModels. Відкрийте в Blender файл CuteCharacter.blend.

У файлі містяться наступні дані:

  • Низкополигональная модель гуманоидного персонажа.
  • Матеріал CuteCharacter.
  • Посилання на текстуру CuteBase, що міститься в одній папці з моделлю.

Відкривши файл, що ви повинні побачити зліва модель персонажа:


Зауважте, що вона отзеркаліть по осі X, це сильно спростить весь процес роботи. Праворуч показано просте зображення завантаженої текстури:


Перший крок до анімації цього персонажа — виконання риггінга.

Створюємо клон персонажу

Риггинг — це створення арматури, скелета моделі. У арматури є декілька з’єднаних кісток, до яких можна прикріпити вершини, щоб вони рухалися при переміщенні кістки.


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


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


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


Перш ніж приступати до створення повної структури, важливо зрозуміти, як її потрібно налаштувати для сумісності з Humanoid Avatar движка Unity.

Із-за особливостей прив’язки кісток до власної системи Unity деякі ключові кістки є обов’язковими.


Unity очікує наявності мінімум 15 кісток, а саме:

  • Hips (root bone) — таз
  • Lower spine — нижня частина хребта
  • Upper spine — верхня частина хребта
  • Neck — шия
  • Head — голова
  • Two upper arms — два плеча
  • Two lower arms — два передпліччя
  • Two hands — дві кисті
  • Two upper legs — два стегна
  • Two lower legs — дві гомілки

Створюваний нами клунь буде містити всі перераховані вище кістки, а також декілька додаткових для підвищення стабільності при анімуванні.

Переконайтеся, що арматура все ще виділена і натисніть Tab, щоб перейти в режим Edit. Виберіть кореневу кістка, натиснувши на неї правою клавішею миші.


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


Відкрийте вкладку Bone на панелі Properties праворуч, щоб можна було швидко вносити зміни, і перейменуйте кореневу кістка в Hips, ввівши ім’я в поле вводу назви та натиснувши Enter.

Хребет

Настав час створювати структуру кісток!

Виберіть нижню сферу кістки Hips і натисніть по порядку G, Z, 0.5 Enter, щоб перемістити її туди, де повинен бути пупок.


Тепер виберіть верхню сферу і натисніть G, Z, 0.1 Enter, щоб трохи перемістити її вгору.


Примітка: якщо вам погано видно те, що відбувається, то можна наближатися і віддалятися за допомогою колеса миші.
Щоб створити кілька кісток хребта, нам потрібно поділити кістка Hips на три частини. Виберіть кістка Hips, натисніть W, щоб відкрити меню Specials і виберіть Subdivide. За замовчуванням ця операція поділяє кістку на дві частини, тому змініть значення Number of Cuts в нижній частині панелі Tool зліва на 2.


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

Після поділу хребта нові кістки називаються Hips.001 і Hips.002. Це поганий спосіб найменування кісток; перейменуйте кістки, по черзі виділяючи їх і змінивши ім’я в панелі Bone.

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

Ноги

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


Якщо подивитися на панель Bone праворуч, то можна побачити, що обрана кістка з ім’ям Hips.001. Перейменуйте її в UpperLeg.L. L означає left, «ліва». Так ми будемо розуміти, з якою ми боку кісток і це нам допоможе надалі при отзеркаливании.

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


Тепер перемістіть на місце по горизонталі, натиснувши G, X, .23 і Enter. Потім натисніть G, Z, -.2 Enter, щоб перемістити її вертикально.


Примітка: на картинці вище показаний режим wireframe, щоб підкреслити, де знаходиться кістка. Включити або відключити цей режим можна натисканням на Z.
Виберіть нижню сферу (також відому коннектором) і пересунути її униз, натиснувши G, Z, -.3 і Enter.


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


Остання частина ніг — це ступні. Перейдіть на вид збоку, натиснувши 3 на алфавітно-цифровому блоці (Numpad), після чого натисніть на клавішу «точка» (.), щоб сфокусуватися на гомілки.

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



Трохи відштовхнете вікно перегляду, щоб бачити більшу частину гомілки.


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


Переназвіть створену кістку в Foot.L в панелі Bone.

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


Поверніться у вигляд спереду, натиснувши 1 на алфавітно-цифровому блоці. Перш ніж переходити до голови, нам потрібно зробити кістки тазу для ноги. На щастя, зробити це досить просто!

Читайте також  Як розробити дизайн і код персонального веб-сайту

Виберіть UpperLeg.L і знайдіть у розділі Relations панелі Bone розкривний список Parent. Натисніть на нього і виберіть Hips.

Тіло

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


Щоб додати кістку голови, не знімайте виділення з верхнього коннектора і натисніть E, Z, .95 і Enter.


Назвіть створену кістка Head.

Далі приступимо до конектора лівого плеча. Виберіть верхній коннектор кістки Chest і натисніть E, X, .08 Enter, щоб додати нову кістку. Трохи вниз перемістіть її, вибравши правий коннектор і натиснувши G, Z, -.09 і Enter.


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

Знову виберіть самий правий коннектор і натисніть E, X, .85 і Enter. Так ми створимо одну велику кістку, яку потрібно буде поділити, щоб створити залишилися кістки з лівого боку.


Виберіть створену кістку, натисніть W і виберіть Subdivide. Змініть кількість розрізів внизу зліва на 3, щоб отримати чотири частини.


Назвіть ці кістки таким чином, починаючи зліва направо:

  • Shoulder.L
  • UpperArm.L
  • LowerArm.L
  • Hand.L


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


Червона лінія позначає, де лікоть знаходиться зараз, а біла — точку згину руки на меші. Щоб виправити це, виберіть LowerArm.L і пересунути її праворуч, натиснувши G, X, .09 і Enter.


Поки ми працюємо тільки з лівою частиною. Але як щодо правою?

Не знаю, як ви, а я скористався б будь можливістю спростити свою роботу. Тому наступним кроком буде дзеркальне відображення кісток зліва направо одним натисканням декількох клавіш.

Відззеркалювання

З версії 2.79 в Blender є зручна нова функція для швидкого віддзеркалювання кісток арматури всього за кілька простих кроків! До появи цієї функції доводилося дублювати, віддзеркалювати вручну, змінювати назви і задавати ролі кісток. Якщо вам коли-небудь доводилося це робити, то ви знаєте, як це довго.

Для початку зніміть виділення з усіх кісток, натиснувши A, щоб не залишилося помаранчевих контурів виділень.

Далі виберемо кістки тільки з лівого боку (ліва сторона персонажа знаходиться праворуч від вас), утримуючи Shift і клацнути правою клавішею миші кожну кістку. Не забудьте про ступні!


Вибравши ці кістки, натисніть W і виберіть Symmetrize.


І цього достатньо, щоб отримати ідеальну дзеркальну версію вибраних кісток:


Крім того, у кінці назв кісток буде замість .L літера .R, позначає їх позицію.

Збережіть файл і приготуйтеся до риггингу.

Малювання ваги

Малювання ваги (Weight painting) — це процес прив’язки до кісток 3D-мешу. Кожна кістка прикріплюється до групи вершин з певною величиною ваги.

Вага визначає «жорсткість» перетягування вершин за кісткою.


Виконання цієї задачі вручну може зайняти багато часу, тому що доведеться самостійно малювати вага кожної окремої кістки. На щастя, Blender може взяти на себе основну частину рутинної роботи, автоматично намалювавши ваги в залежності від близькості кісток до вершин.

Натисніть Tab, щоб перейти в Object mode. Спочатку виберіть модель, потім утримуйте Shift і натисніть ПКМ на арматурі, щоб вибрати і її теж.


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


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

Перш ніж приступати до перевірки, переконайтеся, що Pivot Point знаходиться в режимі Median Point, перевіривши нижню панель:


Увімкніть режим Median Point, якщо там все ще обраний режим 3D Cursor.

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


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


Перевіривши всі кістки, ви можете помітити, що очі не рухаються разом з головою, що виглядає трохи дивно, якщо не сказати більше:


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


В цьому режимі можна вибирати кістки, утримуючи CTRL і клацнути ПКМ на кістки. Виберіть кістка Head і поверніть її назад, натиснувши R, X, -90 і Enter.


Щоб прикріпити очі до кістки Head, виберіть кисть Add в розділі Brush панелі Tool ліворуч.


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


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

Тепер очі правильно прикріплені до голови.


Примітка: показаний вище поворот виконаний обертанням трекбола. Цей режим обертання можна активувати повторним натисканням R після початку повороту.
Завершивши базову малювання ваг, можна приступити до деталей.

Додавання аксесуарів

Аксесуари в цьому контексті — це об’єкти, що прикріплюються до персонажа, але не є частиною його тіла. У цьому розділі ми розглянемо два способи прикріплення об’єктів: до самої моделі і як окремого багаторазового об’єкта, що прикріплюється до кістки.

Перший спосіб можна використовувати для капелюхів, другий — для зброї, яка тримає персонаж.


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

Редагування персонажа

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

Якщо ви повторювали за мною дії туториала, то зараз знаходитесь в режимі Weight Paint. І це добре, тому що після додавання капелюхи нам потрібно знову зайнятися малюванням ваг. Натисніть Tab, щоб перейти в режим Edit mode і почніть перемикання з режиму виділення на Vertex, натиснувши CTRL + Tab і вибравши в меню Vertex.


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

Тепер буде вибрано лише верхня частина голови.


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

Читайте також  Все, що потрібно знати про вирівнювання по Flexbox


Тепер дублюйте вибрані межі, натиснувши Shift + D, а потім Enter. Трохи перемістіть дубльовані межі, натиснувши G, Z і 0.01.


Потім отмасштабируйте все виділене, натиснувши S, 1.05 і Enter.


Так ми трохи змістимо капелюх з голови, щоб уникнути Z-конфлікту граней.

Капелюх поки схожа на висить у повітрі шматок тіла, тому щоб прикріпити її до тіла, зробимо наступне:

  • Виберіть тільки нижній ряд «капелюхи»: натисніть кнопку A, щоб скасувати вибір, а потім утримуйте Alt (або Option) і натисніть ПКМ на одному з нижніх ребер.
  • Зробіть їх плоскими, натиснувши S, Z і 0.
  • Натисніть E для екструдування і Enter для підтвердження.
  • Натисніть S, щоб почати масштабування і переміщайте курсор до моделі, поки ребра не опиняться усередині голови. Поверніть вікно перегляду, щоб це було простіше побачити. Натисніть Enter, щоб підтвердити масштабування.


Це додасть капелюсі трохи глибини, щоб вона добре виглядала з усіх боків і в ній не було дірок. Однак капелюх з людської шкіри — це не зовсім те, чого б нам хотілося. Для зміни кольору нам потрібно спочатку розгорнути її UV-координати, щоб вони красиво лежали на текстурою.

Виберіть всю капелюх, вибравши будь-яку вершину і натиснувши CTRL + L. В цей раз змініть обмежувач на Normal, щоб вибрати всі сполучені вершини.


Для нашої капелюхи ми виконаємо одну з найпростіших у світі розгорток: з виду. Натисніть numpad 1, щоб перейти до вигляд спереду, потім натисніть кнопку U, щоб відкрити меню Unwrap і виберіть Project From View.


Якщо ви подивіться на праву сторону вікна Blender, в якій показана текстура, то помітите, що туди додалося кілька вершин, схожих на половину капелюхи:


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

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


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


Можна змінити зображення текстури, щоб зробити будь-який інший колір.

Тепер знову перемістіть курсор вліво, поряд з моделлю і натисніть Tab, щоб повернутися в режим Weight Paint. Трохи поверніть кістка Head, щоб перевірити, прикріплена чи капелюх.


Схоже, нам пощастило! Оскільки вершини капелюхи близько до кістки Head, вони додалися автоматично. Якби цього не сталося, то нам довелося б розфарбовувати капелюх вручну, як ми це робили з очима.

Тепер ми розглянемо створення і прикріплення окремого об’єкта.

Прикріплення об’єктів

У цьому розділі ми створимо невеликий посох, який буде зброєю в руках персонажа. Замість нього можна легко уявити меч, сокиру або навіть магічний жезл, але в цьому туториале ми не будемо розглядати створення складного зброї.

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


Пропонований за умовчанням циліндр занадто великий, тому налаштуємо його параметри в нижньому лівому кутку: змінимо Radius на 0.04, а Depth на 1.2.


Завдяки цьому циліндр стане тонше і коротше.

Зробимо циліндр гладким, натиснувши на кнопку Smooth в розділі Shading панелі Tool Shelf ліворуч.


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


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

Перемістіть курсор миші на текстуру праворуч, натисніть кнопку G, щоб перемістити UV на коричневий шматок текстури. Підтвердіть переміщення клавішею Enter і зменшіть масштаб натиснувши S і пересуваючи мишу так, щоб UV помістилися всередині цього шматка.


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


Відкрийте вкладку Constraints панелі Properties. Додайте нове обмеження (constraint), натиснувши на розкривний список Add Object Constraint і вибравши Child Of.


Constraints використовуються для обмеження позиції, повороту і масштабу об’єкта. У нашому випадку я зробив циліндр дочірнім об’єктом кістки руки персонажа. Завдяки цьому при створенні анімацій об’єкт буде постійно прикріплений до руки. Це дуже спрощує попередній перегляд анімації і дозволяє обмежити перетину об’єкта з тілом.

Задати обмеження дуже просто. Натисніть на розкривний список Target і виберіть Armature. Тепер натисніть на розкривний список Vertex Group і виберіть Hand.R.


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


Прийшла пора випробувати посох. Поверніться в режим Object mode, натиснувши Табуляції, виберіть арматуру і перейдіть в режим Pose mode за допомогою спадного списку внизу екрану. Поверніть вікно перегляду так, щоб чітко бачити посох, виберіть UpperArm.R і трохи поверніть її, натиснувши R і переміщаючи мишу. Посох буде слідувати за рукою, наче персонаж його тримає.


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

Тепер ми займемося експортом моделі та арматури Unity.

Експорт в інші формати

Примітка: якщо вам не цікаво експортувати моделі в інші формати, щоб ділитися ними з людьми, то можете пропустити цей розділ. Просто збережіть файл і закрийте Blender.

Unity цілком добре працює з форматом .blend додатки Blender, якщо Blender встановлений в системі. Однак при передачі моделей іншим людям краще використовувати формати зразок .FBX або .OBJ, не потребують ніякого стороннього ПЗ. Саме з цієї причини в більшості наших туториалов використовуються файли моделей .FBX, а не вихідні .blend.

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


Ви побачите режим експорту. На відміну від більшості додатків, Blender не відкриває окреме вікно, а замість цього замінює вміст всього вікна.

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


Ці параметри експорту за замовчуванням, підходять для Unity, але існує ймовірність того, що в більш складних сценах вони можуть створити хаос, тому що експортують все, навіть джерела освітлення та камери. Щоб експорт був чистим, внесіть наступні зміни:

Зніміть виділення з Camera, Lamp і Other. Це можна зробити, утримуючи Shift і натискаючи на опції, які потрібно відключити.


Якщо вибрано лише такі опції, то ніякі небажані об’єкти не експортуються. Тепер поставте прапорець !EXPERIMENTAL! Apply Transform під цими опціями. Він застосує позицію, поворот і масштабування всіх об’єктів. Це означає, що неоднообразные значення будуть скинуті; наприклад, якщо поворот мав значення (X:23, Y:125, Z:7), то він буде скинутий на (X 0, Y:0, Z:0).


Перейдіть на вкладку Geometries, натиснувши на кнопку Geometries, і зніміть прапорець Use Modifiers Render Setting. Це дозволить зберегти високу кількість полігонів всередині для рендеринга в Blender, але залишить його низьким всередині Unity.

Читайте також  Гіпер-казуалки і чому у них може навчитися геймдизайнер


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


Опції Animation за замовчуванням налаштовані правильно, так що міняти їх не треба.

Налаштувавши все це, було б надто нудно кожен раз займатися цим кожен раз при експорті файлу. І тут нам допоможуть пресети. Ми можемо зберегти всі ці параметри у внутрішні опції Blender для використання в майбутньому.

Для цього натисніть на кнопку поруч з розкривним списком Operator Presets, введіть у полі назву пресета і натисніть на кнопку ОК. У цьому туториале ми назвемо його Unity FBX.


Якщо тепер відкрити розкривний список Operator Presets, то можна вибрати тільки, що створений пресет:


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

Останній крок — власне сам експорт. У цьому туториале файл .blend використовується в Unity для анимирования, тому збережіть файл FBX в будь-яке місце, вибравши папку зліва і натиснувши кнопку Export FBX в правому верхньому куті.


Збережіть файл і закрийте Blender. Нарешті настав час перейти в Unity і скористатися нашою моделлю.

Налаштування гуманоїда

Відкрийте заготівлю проекту в Unity і подивіться на вікно Project.


Ось короткий опис папок:

  • Animation Controllers: використовується для вставки контролера анімації персонажа.
  • Animations: містить просту анімацію очікування.
  • Models: тут ми редагували і зберегли персонажа. Також у цій папці знаходиться модель додзьо і кілька текстур.
  • Music: проста китайська мелодія, відповідна стилю додзе.
  • Scenes: сцена Dojo.

Якщо сцена Dojo ще не відкрита, то відкрийте її з папки Scenes. Сцена являє собою нутрощі додзе з Audio Source, відтворюючим фонову музику.


Розібравшись з цим, давайте приступимо до використання персонажа!

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

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


Так ми повідомимо, що персонаж є гуманоїдом, щоб Unity могла використовувати його відповідним чином. Тепер натисніть кнопку Apply, щоб зберегти ці параметри.

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


Подивіться на вікно Scene і поверніть вікно так, щоб персонаж дивився на вас. Зауважте зелені кістки; їх використовує движок Unity. При натисканні на будь-яку з них буде обрана відповідна кістку і в Hierarchy, і в Inspector.


Використання движок Unity кісток нагадує роботу ляльковода. Замість безпосереднього використання файлів анімації для оновлення кісток у кожному кадрі він зчитує значення і застосовує їх до кожного гуманоиду на підставі його визначення Avatar. Це забезпечує гнучкість при роботі з різними формами тел. Візьмемо для прикладу персонажа, з яким ми працювали — його пропорції нереалістичні, але це не має значення, адже його скелет має необхідні кістки: хребет, руки, ноги і т. д. Деякі з кісток можуть бути коротше, ніж у більшості людей, але вони все-таки присутні.

Тепер подивимося на Inspector: ви бачите фігуру людини з розкиданими по ній зеленими і сірими колами. Всі суцільні кола необхідні для роботи системи Avatar. Якщо якісь з них відсутні, то вони стають червоними, і ви не зможете правильно анімувати персонажа.

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


Нижче представлено повний опис кісток, і саме тут потрібно пов’язувати частини тіла з кістками. Якщо якийсь з кіл червоний, то потрібно встановити (або перепризначити) кістка. Створений нами скелет повністю відповідав вимогам вже при імпорті в Unity, тому ніяких налаштувань не потрібно. Ура!


Натисніть на кнопку Apply в нижньому правому кутку і натисніть кнопку Muscles & Settings у верхній частині Inspector. Це дозволить переглядати і налаштовувати віртуальні м’язи.


Ви побачите три розділу:

  • Muscle Group Preview
  • Per-Muscle Settings
  • Additional Settings

У першому є кілька повзунків, які можна рухати вправо-вліво, щоб перевірити правильність прив’язки м’язів. Поекспериментуйте з ними і перевірте, що вони роблять. Врахуйте, що м’язи пальців ніяк не враховуються, тому що у персонажа немає пальців. Після кожного тесту натискайте кнопку Reset All, щоб скидати всі повзунки превью.


Розділ Per-Muscle Settings містить підрозділи, які можна розгортати натисканням стрілки. У кожному з них є окремі превью. Ці підрозділи дозволяють вказати мінімальні і максимальні кути, щоб уникнути накладень у вашій моделі.


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


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


Рука рухається через тіло персонажа. Погано!

Щоб виправити це, перемістіть повзунок превью у найменше значення і змініть minimum angle розділу Arm Down-Up на -20.


Зробіть те ж саме для Arm Right > Arm Down-Up.


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

Натисніть кнопку Apply в нижньому правому кутку для збереження зображень Avatar і натисніть Done, щоб закрити режим прив’язки.


Тепер настав час додати персонаж в сцену і дати йому відтворну анімацію.

Використання персонажа

Щоб додати персонажа, перетягніть модель CuteCharacter з папки Models в Hierarchy.


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

Створіть новий контролер анімацій, натиснувши правою кнопкою на папці RWAnimation Controllers і вибравши Create > Animation Controller.


Назвіть його CharacterController і двічі натисніть, щоб відкрити вікно Animator. Тепер перетягніть анімацію Idle з папки RWAnimations на сітку Animator, щоб зробити її анімацією за замовчуванням.


Далі виберіть CuteCharacter в Hierarchy і натисніть на кнопку-селектор поруч з полем Controller. Виберіть у вікні вибору CharacterController.


Нарешті, розкрийте CuteCharacter в Hierarchy і перетягніть Cylinder на Hand_R, щоб зробити його дочірнім елементом. Це обмеження додавання окремого об’єкта, про який я говорив вище. Якщо цього не зробити, то зброя буде просто плавати навколо персонажа.


От і все! Натисніть кнопку Play, щоб побачити персонажа в дії.


Тепер знову натисніть на кнопку Play, щоб зупинити сцену, і натисніть CTRL + S, щоб зберегти зміни.

Куди рухатися далі?

Вітаю, ви виконали туторіал. Готовий проект можна завантажити звідси.

У цьому туториале ви навчилися наступного:

  • Створювати арматуру (скелет) персонажа і виконувати її риггинг
  • Модифікувати персонажа за допомогою аксесуарів і об’єктів
  • Експортувати в FBX
  • Імпортувати моделі Blender
  • Створювати і настроювати гуманоїдний аватар
  • Прикріплювати об’єкти до персонажа
  • Анімувати гуманоїда в Unity

Щоб скористатися отриманими знаннями, можете самостійно створити декілька аксесуарів і надати їм різні кольори або палітру. Якщо ви знаєте моделювання, то можете створити персонажа з нуля і виконати його риггинг.

Щоб дізнатися більше про Blender, вивчіть наступні туторіали:

  • Офіційні туторіали Blender.
  • Серія Blender Guru для початківців.

Щоб більше дізнатися про системах Mecanim і Avatar, прочитайте цей пост розробників Unity.

Степан Лютий

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

You may also like...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *