Войти
ПрограммированиеФорумГрафика

Выбор формата анимированной модели персонажа. (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
19:44, 11 янв. 2018

Mikle
Представь idle анимация на персонаже. Два ключевых кадра. В этих двух кадрах какие то части тела модели движутся очень и очень слабо. Настолько слабо, что после компрессии половина вершин становится не подвижной. Когда треугольник большой - пофигу, ибо смотрится норм. Когда треугольник мелкий - то это приводит к тому, что треугольник растягивается между ключевыми кадрами очень сильно, и меняет свою форму.
А теперь представь, что компрессия приводит к тому, что для половины вершин между ключевыми кадрами движение отсутствует по одной/двум осям. Оно же реально будет бурлить, как будто черви под кожей. И по иронии судьбы это будет лучше всего заметно на idle анимации когда персонаж в покое. Ибо как я уже сказал в idle анимации очень много вершин меняют свое положение чуть чуть.

#31
23:02, 11 янв. 2018

DODge
> У меня дома есть готовый тестовый проект на чистом VB6, как ты любишь :)
Звучит заманчиво :), я бы посмотрел.
MrShoor
> В этих двух кадрах какие то части тела модели движутся очень и очень слабо
Да всё понятно, какие-то части движутся слабо, какие-то сильнее. То есть это не чистый перенос, при чистом переносе все вертексы движутся одинаково, о чём я и написал ещё в п.26.

#32
23:09, 11 янв. 2018

Mikle
> То есть это не чистый перенос, при чистом переносе все вертексы движутся
> одинаково, о чём я и написал ещё в п.26.
Это может быть даже чистый перенос. У тебя вершины округляются то в одну то в другую сторону.
Вот я взял красную ломаную линию, и сделал перенос. Потом нарисовал синим "округленный" шейп. Посмотри как сильно они отличаются:
rounds | Выбор формата анимированной модели персонажа.

#33
23:15, 11 янв. 2018

MrShoor
> У тебя вершины округляются то в одну то в другую сторону.
А теперь нарисуй с учётом того, что координаты вертексов в ключевых кадрах уже округлены. В таком случае при переносе округление ВСЕХ вертексов будет в одну сторону. Да, ошибки, но не "кипение".

#34
23:20, 11 янв. 2018

Mikle
> А теперь нарисуй с учётом того, что координаты вертексов в ключевых кадрах уже
> округлены. В таком случае при переносе округление ВСЕХ вертексов будет в одну
> сторону.
Так, да, но ведь так никто не делает. Как ты это себе представляешь? Аниматор такой, задал позу, потом нажал кнопочку округлить, а опотом "подвинул"? Ну опять же, повороты + скейлы сразу же отваливаются.
Собственно "кипение" получается в результате сохранения нормальной анимации в 3д пакете в формат md2.

#35
23:27, 11 янв. 2018

MrShoor
> Аниматор такой, задал позу, потом нажал кнопочку округлить, а опотом "подвинул"?
А он и не мог на некруглые координаты поставить вертекс, если формат такой.
MrShoor
> Ну опять же, повороты + скейлы сразу же отваливаются
О чём я и написал в п.26 (про скейлы не уточнил), что будь ключевые кадры друг от друга достаточно далеко, проблемы бы не было, но необходимость двигать вертексы по кривой вынуждает делать много ключевых кадров, и именно в них появляются ошибки от округления, которые видно.

#36
23:59, 11 янв. 2018

Mikle
> А он и не мог на некруглые координаты поставить вертекс, если формат такой.
Всмысле не мог? Округление - это результат сохранения в md2. На экране у аниматора вершины без округления.

#37
2:26, 12 янв. 2018

Mikle
> Между кадрами интерполяция происходит во float, откуда пляска?
Вы просто ку2 запустите и все увидите... на статике само собой все ок, а вот на аним моделях вы увидите эффект аля дыхание. Это еще очень хорошо видно на производных мд2 в кингпин и син не смотря на то, что последний исп скелетную анимацию.

#38
9:24, 12 янв. 2018

barnes
Что за мода отвечать, не читая. Я прекрасно понимаю, что пляска будет, я играл в Q1-2 и видел её. В п.26 я описал, когда её можно избежать, а когда нельзя, кое-кто меня оспорил, видимо, не читая, и с этого началось.
MrShoor
Я исхожу из того, что моделлер сразу работает с md2, и по ходу работы делал сохранения. Естественно, что при импорте из других форматов пляска возникнет даже там, где её можно было бы избежать.

Надеюсь, с этой темой покончили?

DODge
Мне всё ещё интересно.

#39
10:01, 12 янв. 2018

DODge
я бы тоже посмотрел

#40
12:13, 12 янв. 2018

Mikle, u960 и прочие ребята...
Извините, забыл про своё обещание. Сегодня вечером обязательно выложу.

#41
3:01, 13 янв. 2018

Блин, чуть опять не забыл. Держите, и не судите строго. Коду уже больше 10 лет. Советую прочитать код, понять принцип, и сделать всё по своему.
SMD loading & animation

#42
7:53, 13 янв. 2018

Ogre .skeleton and .mesh. Готовый экспорт из Макса, Майки, Блендера в xml, можно в бинарный. Код взять из Ogre. Анимация и скелетная и вершинная. Готовые модели для экспериментов.
Чего я не знаю, что это не используют? Может и я узнаю и не буду?

#43
8:59, 13 янв. 2018

DODge
Благодарю!

#44
9:49, 15 янв. 2018

Да уж, разобрался с SMD, портировал пример на dx9.
Модель "вывернута", так как формат ориентирован на OpenGL, простой переворот модели после загрузки выворачивает треугольники, приходится менять CullMode либо переставлять местами вертексы в треугольниках. Direct3D, конечно, позволяет использовать такую систему координат, но как-то не хочется переделывать все наработки.
TriangleList без индексов, вертексы преобразуются софтверно, поэтому модель рисуем через DPUp. Это, конечно, можно попытаться как-то конвертировать в нечто более современное, но стоит ли оно того?
Нашёл ещё вариант - .x-формат. В старом SDK есть примеры на C++ и на C#, разобраться не сложно.

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.