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

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

Страницы: 1 2 3 4
#45
16:03, 15 янв. 2018

Mikle
Дам небольшую подсказку для конвертации формата SMD для стандарта DirectX на этапе чтения из файла:

Раздел TIME:
Position.X = ReadFloat
Position.Y = -ReadFloat
Position.Z = ReadFloat
Normal.X = -ReadFloat
Normal.Y = ReadFloat
Normal.Z = -ReadFloat

Раздел TRIANGLES:
Position.X = ReadFloat
Position.Y = -ReadFloat
Position.Z = ReadFloat
Normal.X = ReadFloat
Normal.Y = -ReadFloat
Normal.Z = ReadFloat
Texture.X = ReadFloat
Texture.Y = 1.0F - ReadFloat

Индексы формирую тоже на этапе загрузки. Анимацию выполняю в шейдере двойными кватернионами.

#46
17:17, 15 янв. 2018

Mikle
> Нашёл ещё вариант - .x-формат.
Существует книга  DirectX - продвинутая анимация Адамса Д., (можно скачать на padabum) в которой есть раздел по детальной загрузке модели из формата .X средствами DirectX. Если у тебя свой класс меша, можно из ID3DXMesh дернуть указатель на буфер вершин и индексов.
У меня CopperCube 5 хавал модели .x, экспортированные из блендера.

#47
17:56, 15 янв. 2018

DODge
Я делал примерно то же самое, но после полной загрузки.
И непонятно, зачем разворачивать Texture.Y.
zavod3D
Со статическими .x моделями я работаю давно, никаких проблем не возникало, в SDK всё отлично описано, думаю, и с анимацией разберусь.
Почему я сразу за анимацию .x не взялся - не вижу его популярности тут на форуме, думал, что тому есть причины.

#48
17:58, 15 янв. 2018

Mikle
> И непонятно, зачем разворачивать Texture.Y.
Потому что в GL текстуры флипнутые по Y.

#49
20:56, 15 янв. 2018

Dampire
> Потому что в GL текстуры флипнутые по Y.
Так это уже есть в коде, что выложил DODge, при этом надписи на модели получаются развёрнуты задом-наперёд, но это лечится разворотом всей модели.

DODge
> Раздел TIME:
> Position.X = ReadFloat
> Position.Y = -ReadFloat
> Position.Z = ReadFloat
> Normal.X = -ReadFloat
> Normal.Y = ReadFloat
> Normal.Z = -ReadFloat
> Раздел TRIANGLES:
> Position.X = ReadFloat
> Position.Y = -ReadFloat
> Position.Z = ReadFloat
> Normal.X = ReadFloat
> Normal.Y = -ReadFloat
> Normal.Z = ReadFloat
> Texture.X = ReadFloat
> Texture.Y = 1.0F - ReadFloat
Таких строк в проекте нет, нет вообще ф-ции ReadFloat, есть GetParam, возможно, ты выложил другую версию.
Но я разобрался.

#50
22:11, 15 янв. 2018

Шевелёнка анимаций в md2 это обычно головная боль аниматора. При должном навыке практически незаметна. При этом придется отказаться от анимации покоя и прочих малозаметных движений, оставить только ключевые, ходьбу, аттаку, итд. Но зачем так заморачиваться в 2018-м году?

#51
7:00, 16 янв. 2018

Mikle
> Сейчас хочу поковырять что-нибудь анимированное с конечной целью сделать 3D FPS
> арену.
А почему бы не взять Assimp?

он умеет md2
http://assimp.sourceforge.net/main_features_formats.html

и в будущем не будет проблем, так как умеет еще и fbx, dae, blend

#52
8:53, 16 янв. 2018

war_zes
> А почему бы не взять Assimp?
Хорошая и понятная либа, работал с ней над конвертером статических моделей

#53
9:36, 16 янв. 2018

Кстати коль такая тема, хочу тоже вопрос по анимированным моделькам задать. А есть какая либо годная билиотека, которая умеет в bone constraint-ы (по типу IK и CopyTransform) + имеет хороший контроллер анимаций?

#54
10:35, 16 янв. 2018

war_zes
Вопрос на счёт .md2 уже не стоит, по ходу темы разобрались. Сейчас рассматриваю .x и .smd.

#55
11:01, 16 янв. 2018

Mikle
А скрипт экспорта в свой формат не рассматриваешь?

#56
11:11, 16 янв. 2018

MrShoor
Естественно, у меня будет свой формат, но сам я не моделлер, поэтому ищу формат:
1. Достаточно распространённый и актуальный, чтобы заказывать модели.
2. С необходимой функциональностью и достаточно простой, чтобы полностью разобраться в нём и писать конвертер.

#57
12:54, 16 янв. 2018

Mikle
> Таких строк в проекте нет, нет вообще ф-ции ReadFloat, есть GetParam, возможно,
> ты выложил другую версию.
Да, это псевдокод последней версии парсера из моего движка. Я хотел показать как можно упростить и ускорить конвертацию формата.

Mikle
> Но я разобрался.
На это я и рассчитывал))

Mikle
> Естественно, у меня будет свой формат, но сам я не моделлер, поэтому ищу
> формат:
> 1. Достаточно распространённый и актуальный, чтобы заказывать модели.
> 2. С необходимой функциональностью и достаточно простой, чтобы полностью
> разобраться в нём и писать конвертер.
У меня к примеру все тестовые сцены усыпаны модельками этого формата - деревья, кусты, персонажи... в общем, все те элементы, которым нужна была простая анимация. Правда сейчас уже перешёл на колладу.

#58
13:02, 16 янв. 2018

> Естественно, у меня будет свой формат, но сам я не моделлер, поэтому ищу формат:
по-моему проще написать билдер во внутренний формат на основе assimp.

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

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