HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Компьютерные игры (https://hlfx.ru/forum/forumdisplay.php?forumid=19)
-- Графон - ретроспектива (https://hlfx.ru/forum/showthread.php?threadid=3655)
Отправлено nemyax 17-02-2014 в 14:45:
Цитата:
Crystallize писал:
Сохраненная с редактора анимации
Оттуда сохраняются только покадровые значения трансформов для интерполяции (никаких настроек IK там нет). А движковая IK вроде думтришной модифицирует уже существующую запечённую анимацию.
Цитата:
Crystallize писал:
скинить вершины в халфе и кваке
В халфе вершины трансформируются костями, а в кваке интерполируется положение вершин (чохом для всех) от кадра к кадру.
Отправлено Crystallize 17-02-2014 в 15:11:
Цитата:
nemyax писал:
Оттуда сохраняются только покадровые значения трансформов для интерполяции (никаких настроек IK там нет).
А в 1995 году в таких редакторах уже была IK?
Цитата:
nemyax писал:
А движковая IK вроде думтришной модифицирует уже существующую запечённую анимацию.
Может ли она быть в демке?
Цитата:
nemyax писал:
В халфе вершины трансформируются костями, а в кваке интерполируется положение вершин (чохом для всех) от кадра к кадру.
Я помню про кости, но на более низком уровне всё равно всё сводится к процессору.
Отправлено nemyax 17-02-2014 в 15:43:
Цитата:
Crystallize писал:
А в 1995 году в таких редакторах уже была IK?
В PowerAnimator-е и Softimage|3D была. Юрасег парк сделали же. Насчёт 3D Studio не знаю, скорее всего хрен.
Вообще IK всего лишь гнёт цепочку костей в направлении эффектора (есть ещё настройки жёсткости и поворота вокруг оси направления). Нет никаких причин считать её чем-то выдающимся или универсальным.
Цитата:
Crystallize писал:
всё равно всё сводится к процессору
Вершинной анимации нужно больше памяти и меньше ЦПУ.
Отправлено Дядя Миша 17-02-2014 в 15:50:
Цитата:
Crystallize писал:
Сохраненная с редактора анимации, или в рилтайме? С ними можно всего ожидать.
Ну вот как можно нести такой фееричный бред, а?
Инверсная кинематика по определению не может быть запечена в анимацию, потому что тогда это будет не инверсная кинематика, а анимация.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 17-02-2014 в 15:51:
Цитата:
nemyax писал:
Насчёт 3D Studio не знаю, скорее всего хрен.
В Autodesk 3DSMax 3.1 точно была (это мой первый 3дмакс).__________________
Отправлено Crystallize 17-02-2014 в 15:56:
Цитата:
Дядя Миша писал:
Ну вот как можно нести такой фееричный бред, а?
Инверсная кинематика по определению не может быть запечена в анимацию, потому что тогда это будет не инверсная кинематика, а анимация.
Я имею в виду, что она присутствовала в редакторе как инструмент, а результаты её работы уже сохранялись как обычная анимация.
Отправлено Дядя Миша 17-02-2014 в 15:57:
А, ну в редакторе конечно была. Инверсная кинематика - довольно старое изобретение. Я встречал её демки, написанные еще в 80-е годы.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 17-02-2014 в 15:59:
Цитата:
nemyax писал:
Вершинной анимации нужно больше памяти и меньше ЦПУ.
Так а почему трансформация костями и интерполяция вершин проще для ЦПУ, чем просто повернуть и передвинуть объект?
Отправлено Дядя Миша 17-02-2014 в 16:07:
Кости как раз таки считать несложно, в силу того что костей мало.
Смерть быстродействию - это трансформация вершин и нормалей.
По одной трансформации на каждую вершину. Легко догадаться, что фпс падает прямо пропорционально кол-ву вертексов.
Вертексная анимация - это "запечённая" скелетная. там ничего рассчитывать не надо, но надо много памяти, т.к. каждый кадр является точной копией модели. Кармак с этим пытался бороться общеизвестными методами, например переводил координаты вертекса в локальное пространство, в результате чего, его координаты умещались в три байта, вместо трёх флоатов, нормали свёл в таблицу avertexnormals.h, просто подбирал максимально похожую при компиляции и в модели оставлял байтовый индекс на эту табличку, нормаль бралась оттуда. Таким образом на один вертекс у нас приходилось всего 4 байта. Так же широко использовались стрип-секвенции, чтобы избежать дупликации вертексов (хотя какая-то небольшая часть в разных анимациях всё равно повторяла друг-друга). Именно в силу этого модельки в первой кваке весят совсем немного 70-300 килобайт (включая текстуру). Но уже во второй кваке модель солдатика прибавила в весе до одного мегабайта. На современных высокополигональных моделях их вес бы зашкаливал за сотни мегабайт.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 17-02-2014 в 16:16:
Спасибо. В общем, теперь понятно, почему Морровинд так тормозит в городах.
Добавлено 17-02-2014 в 23:16:
Цитата:
Дядя Миша писал:
Кости как раз таки считать несложно, в силу того что костей мало.
Костей мало, но каждой из них "принадлежит" много вершин. Их положение при повороте кости пересчитывает видюха, или что?
Отправлено nemyax 17-02-2014 в 16:18:
Цитата:
Crystallize писал:
Их положение перерсчитывает видюха, или что?
У дяди Мишы в тестах видюха =)
А так — ЦПУ.
Отправлено XaeroX 17-02-2014 в 16:18:
Цитата:
Crystallize писал:
В общем, теперь понятно, почему Морровинд так тормозит в городах.
Почему?__________________
Отправлено Crystallize 17-02-2014 в 16:28:
Цитата:
XaeroX писал:
Почему?
Там гуманоиды сделаны с сегментированными телами.
http://i.imgur.com/Hv0xcdB.png
Добавлено 17-02-2014 в 23:28:
Цитата:
nemyax писал:
У дяди Мишы в тестах видюха =)
А так — ЦПУ.
Почему же ЦПУ легко трансформировать вертексы на костях, но трудно на мешах? При том, что с костями их ещё и на суставах нужно считать с учётом двух костей?
Отправлено Crystallize 19-02-2014 в 15:33:
Ну так что?
Отправлено nemyax 19-02-2014 в 15:40:
Crystallize
Дядь Миша же тебе всё написал.
Вертексы на костях трансформировать не легко, а трудно. Потому что этих вертексов много и рассчитывать трансформации по-любому придётся. А при вершинной анимации не придётся, да ещё и оптимизировать можно. Ты чё?