Ru-MaNGOS

Ru-MaNGOS (http://ru-mangos.ru/index.php)
-   Опкоды, Формулы, Клиент (http://ru-mangos.ru/forumdisplay.php?f=9)
-   -   M2 (http://ru-mangos.ru/showthread.php?t=9538)

Amaru 02.09.2016 18:14

M2
 
Кто-нибудь копался в модельках?
Интересует геометрия. А именно вертексты.

Исходя из заголовка чанка MD20 M2 файла, можно определить количество вертексов, хранимых в модельке.
Исходя из скинов .skin можно определить, какие из вертексов используются в данном скине, с помощью lookup-таблицы.
Я пока не понимаю, почему, допустим в модельке из заголовка получается ~50k вертексов, а при чтении скинов получается, что суммарно в них используется только ~15k...
Инфу беру с https://wowdev.wiki/M2

RomanRom2 03.09.2016 21:25

геометрия для чего именно? если для path finding, то достаточно знать внешние границы без деталей что там внутри. у m2 на сколько помню существует отдельная описательная часть в файле, которая очень грубо описывает внешнюю границу, мы ее использовали. надо поднимать исходники, на память что где конечно не вспомню.

может Deamon быстрее расскажет, у него ведь вон чего, возможно m2 разбирается.

Amaru 03.09.2016 23:52

Цитата:

Сообщение от RomanRom2 (Сообщение 34978)
геометрия для чего именно? если для path finding, то достаточно знать внешние границы без деталей что там внутри. у m2 на сколько помню существует отдельная описательная часть в файле, которая очень грубо описывает внешнюю границу, мы ее использовали. надо поднимать исходники, на память что где конечно не вспомню.

может Deamon быстрее расскажет, у него ведь вон чего, возможно m2 разбирается.

Интересует полное распарсивание файламодели. С логической составляющей. То есть, интересует смысловая нагрузка полученной информации. Например, привязки определенного вертекса к мешу, текстуры к материалу, материала к мешу и т.п. Можно сказать, полноценный импорт/экспорт.
С чем я с столкнулся - это с тем, что в блоке данных вертексов лежат вертексы ни на что не завязанные, то есть ни используются ни в одном из скинов. А таких вертексов примерно две трети

RomanRom2 04.09.2016 00:36

это нормально у близзов :) в клиенте много мусора, контента который уже не используется.
ок, посмотрю что есть, но повторюсь, мы не вдавались в полноценный импорт/экспорт, ибо этого не нужно было.

Deamon 11.10.2016 16:46

Пожалуй я въеду на хромой козе

M2 - содержит поле vertex'ов. Каждый vertex - это точка в 3d пространстве + нормаль + две пары текстурных координат + индексы и весы для костей, которые влияют на эту току.

Skin файл - это:
1) материалы, которые ссылаются на имя текстуры, которое содержится в M2 файле
2) Mesh, который определяет какие треугольники нужно рендерить

При этом может существовать несколько skin файлов, и какой из них используется зависит от текущего уровня Lod. Никто никогда не проверял, но по идее каждый последущий skin файл менее детализирован, чем предыдущий. Этим и можно объяснить наличие в супе vertex'ов точек, которые на первый взгляд не используются: одни точки используются более детализированным skin файлом, другие - менее детализированным skin файлом.


Текущее время: 22:01. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS