Pull to refresh

Введение в процедурную анимацию

Game development *Mathematics *Unity3D *
Translation
image

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

GIF

Серия будет состоять из следующих частей:

Total votes 48: ↑46 and ↓2 +44
Views 44K
Comments 3

Введение в процедурную анимацию: инверсная кинематика

Game development *Mathematics *Unity3D *
Translation

Часть 4. Введение в градиентный спуск


Эта часть представляет собой теоретическое введение в инверсную кинематику и содержит программное решение, основанное на градиентном спуске (gradient descent). Эта статья не будет всеобъемлющим руководством по этой теме, это всего лишь общее введение. В следующей части мы покажем настоящую реализацию этого алгоритма на C# в Unity.

Серия состоит из следующих частей (части 1-3 представлены в предыдущем посте):

Читать дальше →
Total votes 54: ↑54 and ↓0 +54
Views 26K
Comments 5

Инверсная кинематика в двухмерном пространстве

Game development *Algorithms *Mathematics *
Translation

Часть 1. Математика



Введение


Мы так привыкли к взаимодействию с окружающим нас миром, что не задумываемся о том, насколько сложно двигаются наши руки и ноги. В академической литературе задача управления манипулятором робота называется инверсной кинематикой. Кинематика обозначает "движения", а понятие "инверсная" связано с тем, что обычно мы не управляем самой рукой. Мы управляем «двигателями», поворачивающими каждую отдельную часть. Инверсная кинематика — это задача определения того, как перемещать эти двигатели, чтобы сдвинуть руку в конкретную точку. И в своём общем виде эта задача чрезвычайно сложна. Чтобы вы понимали, насколько она сложна, то можете вспомнить о таких играх, как QWOP, GIRP или даже Lunar Lander, в которой вы выбираете не куда двигаться, а какие мускулы (или ускорители) приводить в действие.

Задача управления подвижными приводами распостраняется даже на область робототехники. Вас не должно удивлять то, что на протяжении веков математики и инженеры смогли разработать множество решений. В большинстве 3D-редакторов и игровых движков (в том числе и в Unity) есть наборы инструментов, позволяющих выполнять риггинг человекоподобных и звероподобных существ. Для различных схем (манипуляторов роботов, хвостов, щупалец, крыльев и т.д.) встроенных решений обычно не существует.
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Views 15K
Comments 3

Создание шейдерной анимации в Unity

Working with 3D-graphics *Game development *Unity3D *
Translation
Tutorial
Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс.


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

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

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

Я подробно опишу создание вот этой анимации:

Rat animation
Total votes 32: ↑32 and ↓0 +32
Views 10K
Comments 10

Новая технология, позволившая CD Projekt Red создать реалистичную речь персонажей Cyberpunk 2077

Game development *Computer Animation *Game design *Games and game consoles
Translation

Пиф Эдвардс: Меня зовут Пиф Эдвардс (Pif Edwards), я докторант Торонтского университета и сооснователь JALI Research. В этой презентации мы расскажем о том, как применили в Cyberpunk 2077 результаты своей статьи, опубликованной в 2016 году.

Крис Ландрет: Привет, меня зовут Крис Ландрет (Chris Landreth), я аниматор и разработчик ПО, а также один из основателей JALI Research Inc.

Матош Поплавски: Привет, меня зовут Матош Поплавски (Matosh Popławski), я ведущий технический директор по работе с персонажами в CD Project Red, приветствую вас в нашей презентации с SIGGraph.

После завершения работы над Witcher 3 у нас уже была довольно неплохая система синхронизации движения губ (lipsync). Мы задались вопросом: как можно сделать её лучше, как повысить качество, не тратя сотни часов на создание анимаций? Было решено, что липсинк Cyberpunk 2077 должен быть лучше, чем в Witcher 3; также мы хотели добавить управляемую мышцами систему эмоций. Эта система должна использоваться во всём открытом мире игры и в каждом персонаже. Кроме того, нам требовалась поддержка нескольких языков, а конкретно десяти.
Total votes 23: ↑23 and ↓0 +23
Views 11K
Comments 8