Анимация в Thief

Автор Chuzhoi, 23 мая 2011 05:24:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

spy

Цитата: nemyax от 19 ноября 2014 10:29:24
Ну вот и свет в конце тоннеля: http://www.ttlg.com/forums/showthread.php?t=140447&page=5&p=2270456&viewfull=1#post2270456

oh God, теперь начнутся пляски(в смысле танцы) в стиле облы и Скайрима. А так хотелось бы увидеть нормальные модели НПС в.  :rolleyes:

nemyax

Цитата: spy от 22 ноября 2014 13:50:42
А так хотелось бы увидеть нормальные модели НПС в.
Уже обсуждалось: их можно сделать детальнее и полигонистее, но у них останется та же каличная артикуляция скелета.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

spy

Цитата: nemyax от 22 ноября 2014 17:07:15
Цитата: spy от 22 ноября 2014 13:50:42
А так хотелось бы увидеть нормальные модели НПС в.
Уже обсуждалось: их можно сделать детальнее и полигонистее, но у них останется та же каличная артикуляция скелета.

А что такое "каличная артикуляция скелета"?   И как сильно она будет мешать многополигонным моделям?
В одной из миссий, были такие округлые, многополигонные монахи, никаких каличных артикуляций скелета я не увидел. Хотя может быть, потому-что монахи.
Хорошо хоть не стояли на голове :)

nemyax

#198
Цитата: spy от 22 ноября 2014 18:51:12
А что такое "каличная артикуляция скелета"?   И как сильно она будет мешать многополигонным моделям?
Это значит, что в штатных скелетах настолько сильно сэкономили на суставах, что носки при ходьбе проваливаются сквозь землю, пальцы не гнутся и рты не открываются. Многополигональным моделям она будет мешать тем, что с ними это позорище будет ещё заметнее и нелепее. А изменить структуру скелетов без переписывания движка невозможно.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

#199
Хочется выступить по поводу ртов, хвостов, крыльев и т. п. Как можно догадаться, для успешной их реализации надо, чтобы управляющая кость выступающей части могла следовать за тем местом, из которого часть выступает. То есть, хочется анимировать перемещение этой кости. Однако движок этого не позволяет — в цепочке джойнтов перемещать можно только корень, а остальное — только вращать.
Как же бороться с этой зрадой? Як перебрехати її в перемогу? Да очень просто нах. Мы будем перемещать вращением.
Давайте на секунду представим, что у нас есть инструменты для следующих вещей:

  • затаскивания в 3D-пакет данных о положении джойнтов, ориентации джойнтов и развесовке вершин;
  • истаскивания таких данных из 3D-пакета обратно после их редактирования в этом пакете.
Теперь посмотрите на эту картинку:



Наша задача — анимировать перемещение зелёной косточки. Стало быть:

  • Делаем вращение зелёной независимым от родительского.
  • Настраиваем IK для более старших костей в цепочке.
  • Переразвешиваем вершины так, чтобы кости "колена" ни на что не влияли, а зелёная — таки да.
И вуаля. После запекания анимации зелёная кость будет прикреплена куда следует. Главное обеспечить, чтобы суммарная длина костей колена была больше или равна максимально возможному для данного NPC удалению зелёной косточки от корня цепочки.
Учитывая наличие в движке таких изобилующих джойнтами скелетов, как паучок, можно позволить себе некоторую свободу самовыражения. Появилась лишняя цепочка из трёх джойнтов — смастерил новый членик на одном джойнте. Из четырёх — на двух.
Разумеется, всё это теория. Во-первых, указанные выше инструменты науке пока неизвестны. Во-вторых, могут всплыть неприятные сюрпризы. Например, вершины могут отказаться смешивать веса неродственных костей. Однако инструменты — дело в принципе наживное, а с сюрпризами мы, оптимисты, боремся по мере их поступления.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Chuzhoi

ЦитироватьХочется выступить по поводу ртов, хвостов, крыльев и т. п.
Мне кажется, перемещение - это скорее какие-то детали механических устройств. Скажем, поршень в цилиндре. Для крыльев и хвостов сойдет (и более того, представляется единственно верным) и вращение - ведь кости и суставы виртуального скелета вполне аналогичны таковым у реальных живых существ. С губами то же - губы, конечно, вещь сложная, но если делать как в первом Half-Life (открывание-закрывание), то можно установить вращение с достаточно большим радиусом и небольшой амплитудой, которое вполне сойдет за перемещение. Челюсть, кстати, тоже надо открывать-закрывать (в простейшем случае - как единое целое с нижней губой), а она, как и любая кость в организме, вращается.

Цитироватьзатаскивания в 3D-пакет данных о положении джойнтов, ориентации джойнтов и развесовке вершин;
Я как-то делал нечто подобное вручную. А именно - по кубикам воссоздавал скелет и привязывал его к модели Thief-овского стражника. Поскольку скелеты там очень простые, это было несложно.

nemyax

Само собой, челюсть и всё остальное мы хотим вращать, а не двигать. Перемещение нужно для другого: чтобы челюсть двигалась за головой. Ведь в дарковских скелетах жёстко прописано, кто чей родитель, и голова в них бездетна. А перемещение анимируется от силы у двух корней цепочек (поправьте меня, если я неправ), и обе слишком важны для челюсти.
Сейчас будут слайды. Допустим, у тебя есть скелет без челюсти.



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


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


Теперь сделаем сетапчег с инверсной кинематикой.


Чувак отклоняется — челюсть нерушима.


Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Chuzhoi

Примерно ясно. То есть речь идет не о поступательном движении, а о комплексном перемещении.

nemyax

С тем же успехом можно делать и поступательные поршни. Если, конечно, механизм не настолько прост, что освободилась перемещабельная цепочка, которую легче двигать напрямую.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Chuzhoi
Так примерно расположены джойнты в твоём слизняке?

Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Chuzhoi

Не совсем. У слизняка все-таки цельный скелет с туловищем и четырьмя конечностями, в котором последующая кость присоединяется к предыдущей. А здесь какие-то отдельно летающие кости. Или я что-то неправильно понимаю?

nemyax

А вон линиями показаны иерархические связи. Ориентация у костей дефолтная, как и в исходном формате.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Chuzhoi

Все равно как-то не совсем так. Тут какая-то сложная конструкция с пересекающимися линиями. У слизняка было попроще. Хотя в целом по форме похоже. Вон и вертикальное "туловище" просматривается.

nemyax

Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Chuzhoi

Ну это уже ближе.

А что вообще ты пытаешься продемонстрировать?