Комментарии 27
в каждой ААА игре сотни крутых процедурных техникА точнее записанные заранее ключевые кадры плюс немного обычного IC.
генерируемая графика это и текстуры и нормал мапы итени и отражения, и сотни других приемов, а не только летающие кубики… В Думе 2016 года сделали очень крутое освещениеЭто все очень круто, но какое все это имеет отношения к обсуждению процедурных анимаций?
еще во флеше были, не говоря уже про денди и более старые игры где оптимизации зашкаливалиЭто в каких таких играх на флеше и на денди было что-то связанное с темой этой статьи? Максимум что там можно найти это 2d IC уровня «нога это два катета, давайте посчитаем угол».
тут уже вопрос монетизации и маркетингаЭтот же вопрос не мешает существованию кучи открытых библиотек того же UI под каждый популярный игровой/графический движок.
Чтобы оценить масштаб проблемы, стоит посмотреть на пример простого классического рига: www.youtube.com/watch?v=RUvgboeR2_0&t=1200s. Видно, что контроллеров (а значит, и степеней свободы) там целая куча и умение с ними работать требует определенных навыков. Это пример рига, построенного вручную, из функций, при помощи графа зависимостей.
Наш стандартный риг в каскадере с одной стороны более интуитивен, за счет использования физики внутри рига (можно посмотреть на примере нашего тутора). С другой стороны — «сломать» позу в нем даже проще.
Проблема в том, что записать зависимости вручную так, чтобы они учли все мелочи — очень сложно. И даже сложные системы, которые долго писались, типа HumanIK от Maya все равно имеют кучу проблем. Нейронная сеть же сама учитывает все эти особенности человеческих поз, просто за счет того, что о них знают аниматоры.
www.youtube.com/watch?v=9IDhcrzJtY4
С практической точки зрение, второе, конечно, лучше, так как экономит кучу сил, а первое останется для студентов и профессоров.
Хорошая работа. Сделать математическую модель человеческого тела совсем не просто. Когда вы сгибаете одну часть тела, например руку, остальные части тела тоже сдвигаются. Причем по очень нелинейным зависимостям. Как из-за самой структуры тела (суставы, мышцы, связки), так и из-за подобранной эволюцией минимизации затрат энергии на поддержание позы. Более того, в позу включается также готовность к следующим действиям. Например, перед боем поза будет напряжённая, жертвуя минимизацией энергии. Потому что в этом случае для выживания выгоднее иметь преднапряженные мышцы.
В итоге почти невозможно написать математическую модель человеческого тела, чтобы позы получались реалистичными. Тут недостаточно просто описать физиологию. Позы вроде готовности к бою (или позу при ловле мяча, например) вообще никак не смоделировать в обозримом будущем.
Поэтому применять нейросети или машинное обучение правильный подход. Обучить на существующих датасетах (в идеале — на позах живых людей), и будут получаться реалистичные позы. Тут простая моделька, поэтому это может не очень видно, так как похожий результат получается более простыми методами (вроде ограничений на углы поворотов конечностей). Но в перспективе это может дать результаты, которые никакими другими методами недостижимы в принципе.
Роботом-фехтовальщиком!
А.Ха.Ха.
Только положения, повороты конечно дали бы очень много дополнительной информации нейросети, но потребовали бы и гораздо больше действий от пользователя
Каким инструментарием пользовались для обсчёта НС?
Сначала мы использовали напрямую tensorflow, сейчас переехали на pytorch
Cascadeur: предсказание позы персонажа по шести точкам