Gildor's Forums

Author Topic: DeadSpace 2/3 static importer  (Read 2326 times)
erik945
Newbie
*
Posts: 22


View Profile
DeadSpace 2/3 static importer
« on: April 03, 2014, 14:36 »

Скрипт для импорта скелетных моделей уже существует - написан nightFlarer'ом, адаптировался мной, линк на оригинальную тему - http://forum.xentax.com/viewtopic.php?f=16&t=5966&start=45
Но в ДэдСпейсе много чего вкусного можно найти и среди статиков - модели техники, кораблей, т.п. К сожалению, исходный скрипт для них не работает, так что пишу свой. Вернее переделываю существующий. Есть кое какие подвижки, но есть и проблемы.

Удалось вычленить массив вершин - они кодируются 3-мя флоатами. В отличии от скелетных моделей, между координатами отсутствуют двадцать байтовые пропуски (по всей видимости, скелетная привязка) Но не удается нормально импортировать массив полигонов. В скелетных моделях каждый полигон кодируется тремя короткими двухбайтовыми без знаковыми интами, каждый из которых является номером соответствующей вершины.

В статиках наблюдаем нечто странное:



массив фейсов начинается с 0x17F00. Первый треугольник (0 1 2) - нормальные индексы. Потом - нечто странное - ( 2 3 3) две вершины совпадают - то есть мы имеем фактически одно ребро из второй точки в третью. С точки зрения геймдева - где каждый полигон не счету - это бред.

У кого какие идеи?



Тестовые модели (только геометрия, без УВВ - они как не странно, хранятся в отдельном файле)
http://www.sendspace.com/file/xa23cn
скрипт (новый, не работающий):
http://www.sendspace.com/file/dp3dfa

0203_playerarcheologisthelmet.geo - скелетная модель. На ней можно попробовать исходный скрипт.
« Last Edit: April 03, 2014, 14:39 by erik945 » Logged
erik945
Newbie
*
Posts: 22


View Profile
Re: DeadSpace 2/3 static importer
« Reply #1 on: April 17, 2014, 16:27 »

 Новая версия скрипта. Не скажу, что последняя и стабильная, но подавляющее большинство моделей импортируется корректно.  Cool
Не поддерживается скелетная привязка/скелеты, но сама геометрия извлекается нормально.

Тестировал на 3-ем Спейсе, но он, вроде, на одном движке со вторым.
После запуска подряд выдаст два окна - надо указать пути к геометрии и UVV (оно чаще всего отдельным файлом).  Проще всего ориентироваться по номеру. Если у модели префикс  0013_, то у UVW будет 0014_ (больше на единицу). Геометрия лежит в папках Mesh, UVW - в папке MeshVolatile. Если там нет - то в том-же файле где и основная геометрия (в обоих окнах указать на один и тот-же файл)

http://www.sendspace.com/file/jh3jq5

Если кто-то будет копаться в коде - прошу прощения за комментарии транслитом - русским макс давится. Wink

Еще очень хочется организовать генерацию материалов (крупный корабль подчас состоит из нескольких сотен объектов и все назначать вручную - мягко говоря, развлечение еще то  Tongue), но пока не знаю откуда подступиться. Файлы материалов есть, но они не содержат пути к текстурам и вообще довольно своеобразны.
« Last Edit: April 17, 2014, 18:35 by erik945 » Logged
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS