Sidebar

Развесовка на моделях (тестирование)

ElbeR

Wunderknabe
23.04.2009
856
32
2 Дядя Миша:
То что местами у xDShot'а в модельке луки выламывает - это нормально, т.к. анимации такие, чересчур загибают, да и это от топологии модели зависит. Я же текущей реализацией доволен. Жду интеграции в движок.
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
2 Дядя Миша: всё ясно.

так перекручивает?
upd. в 3дмаксе то же самое
 

Вложения

  • 123.1 КБ Просмотров: 367
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 ncuxonaT: там каждую руку по очереди выламывает. В принципе чему я удивляюсь - smd хранит анимацию в углах эйлера, то есть она изначально на вход уже ломаная поступает. Вероятно есть и более другие форматы, где кей-фреймы в кватернионы записаны и там этого безобразия нет. Я как-то совсем упустил из виду это обстоятельство.

Я же текущей реализацией доволен.
Для того, чтоб вы понимали - развесовка это не конечная цель, по крайней мере для меня. Я вам говорил, что после обновления BSP-формата займусь обновлением моделей? Говорил! По давней своей традиции, я сперва делаю самое сложное, в данном случае развесовку, а потом уже всё остальное, попроще. Щас создам новую тему будем обсуждать там, чего бы добавить в новый формат моделей. Только надо понимать, что в дальнейшем я обновлять формат уже не буду, поэтому надо сейчас всё предусмотреть.

[ADDED=Дядя Миша]1494691112[/ADDED]
Собсно тема http://cs-mapping.com.ua/forum/showthread.php?p=928879#post928879

[ADDED=Дядя Миша]1494691272[/ADDED]
По багам развесовки можно писать сюда, по добавлению новых фичей - уже в новую тему.
 
Последнее редактирование:

nemyax

тндайпц тра
Команда форума
Модератор
30.07.2015
643
25
18
Дядя Миша сказал(а):
я веса сохраняю в байт, а не флоат, в целях экономии
Ну тоись если развесовать так, что у тебя градации влияния будут 0.75, 0.5, 0.25, 0.125 и т. д. (нормализованные, ессна), то потерь точности не возникнет.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Сейчас вот ради интереса немножко похерил формат и переделал на флоаты - визуальных отличий нет.

[ADDED=Дядя Миша]1494712471[/ADDED]
Первый пост обновился, первая бета-версия компилятора и вьювера.

Вот если сравнивать гнущийся цилиндр с 3дмаксом, то видна граница вершин с развесовкой и без. В 3дмаксе такой границы нет. Это из-за недостаточной точности весов?
Оригинальный код выбрасывал веса, если их вклад был менее 0.05 (от еденицы). Подкрутил этот параметр, теперь твой цилиндр выглядит точно как в максе. Моделька в первом посте приложена.
Тестируйте. В особенности обычные модельки, на предмет всяких аттачментов, боне-контроллеров, правильности установки bbox-анимации, наконец может так случится, что модельки монстров будут ходить на месте с этим компилятором.
Тестируйте и сообщайте об ошибках.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Так товарищи. Я тут прикрутил процедурные косточки, мне Элбер про них долго объяснял, но я всё равно пока еще не совсем въехал. Вроде как эти процедурные кости задают лимиты для некоторых суставов, что в свою очередь исключает выворачивание рук и ног под неестественным углом. То есть аниматору не надо за этим следить, а достаточно просто навесить лимиты для скелета. И анимировать не опасаясь перекручивания. Частично эту мысль подтверждает вот этот скриншот:

Как видите в максе империалистическая гидра перекручена, а в hl2 - нет.
Если у вас есть исходники гидры с описанием процедурных костей, скиньте мне пожалуйста, надо потестировать.
 

nemyax

тндайпц тра
Команда форума
Модератор
30.07.2015
643
25
18
2 ElbeR:
Чё за "процедурные кости"? Pole target-ы штоле?
 

xDShot

Well-known member
20.12.2010
1 844
Процедурки в сорсе - это такие кости, которые автоматически принимают позу и повороты в зависимости от поворотов костей-контроллеров.

Например, запястье рук (wrist) - это процедурка. Ладонь (hand) - это контроллер.

[ADDED=xDShot]1495195244[/ADDED]
Гидра - вообще такое нечто было в бете, которое анимировалось кодингом.
 
Последнее редактирование:

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
Чо-т это напоминает ИК - родительская кость меняет положение в зависимости от положения дочерней кости.
А вообще это фигня ненужная, потому что поведение непредсказуемо. Должно быть соответствие тому, что аниматор видит в редакторе.
 

nemyax

тндайпц тра
Команда форума
Модератор
30.07.2015
643
25
18
Ага, понятно. В триде-софте то же достигается констрейнтами и драйверами. Другое дело, что если ты настроил констрейнты в триде-редакторе, заанимировал и экспортировал, то анимация у тебя будет правильная и без процедурок.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
А вообще это фигня ненужная, потому что поведение непредсказуемо
Тем не менее в сорсе она успешно используется с 2002-го года почти в каждой модели. Ну если эта штука спасает от перекрутов анимации - пусть будет, пригодится. Там более што она легко имплементируется и не требует каких-то серъезных доработок. А с инверсной кинематикой там мрак полнейшый. Чтобы она заработала надо указать кучу всяких параметров и переколбасить код монстров, как я понял. Это не говоря уже о том, что без нарушения бинарной совместимости она не ложится на голдсорсовский формат моделей - тупо некуда сохранять промежуточную дату.
 

nemyax

тндайпц тра
Команда форума
Модератор
30.07.2015
643
25
18
Дядя Миша сказал(а):
А с инверсной кинематикой там мрак полнейшый.
По сути только для ИК (и возможно рогнола?) эти процедурки и нужны. Для печёной анимации и заморачиваться нечего, кмк.
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
2 Дядя Миша:
Я думал, там не сильно сложно, по крайне мере для анимации ходьбы. Типа указать эффекторы (стопы), указать кости в иерархической цепочке (голени, бедра), задать ограничения (ну то что ты сейчас делаешь). А в движке в коде отрисовки модели делать трейс для каждой стопы, чтобы на поставить их на поверхность. Нет?

2 nemyax:
согласен с вами, сударь
 

nemyax

тндайпц тра
Команда форума
Модератор
30.07.2015
643
25
18
ncuxonaT сказал(а):
2 Дядя Миша:
Я думал, там не сильно сложно, по крайне мере для анимации ходьбы.
Ну так IK-решатель всё равно придётся разрабатывать. Очень нетривиальная штука.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
По сути только для ИК (и возможно рогнола?) эти процедурки и нужны
в сорсе оно как-то избыточно всё.
А в движке в коде отрисовки модели делать трейс для каждой стопы, чтобы на поставить их на поверхность. Нет?
Если бы ходьба была полностью процедурной, то да. Но ты не забывай, что ходьба это анимация, причём еще и 9way blend, причём на сервере и клиенте разный код выполняется. Потом там есть какие-то autoplay locks, отдельно сохраняются ошибки инверсной кинематики. Очень помороченая система.
Плюс это всё хранится в mstudioanimdesc_t, а в голдсорсе вообще нет такой структуры, там получаемся из mstudioseqdesc_t сразу доступ к raw-анимациям, в сорсе же из секвенции идёт доступ к этой mstudioanimdesc_t, из которой в свою очередь - уже непосредственно к кадрам. Появляется промежуточное звено. Но мы хотим поддерживать и старые модельки тоже. То есть весь код анимации на клиенте и сервере переделывать. Не хочу. Вон развесовку сделал, никому нахрен не нужно. А на это тем более никто не отреагирует.
 

Новые сообщения

Донат - Хостинг

Итого
200.00 $
Цель
600.00 $

Доноры Красавчики

Пользователи онлайн

Нет пользователей онлайн.