Декодируем Xom, Тип за типом... шаг за шагом...
|
|
Сообщений: 336
|
Опубликовано: 29.06.2009, 04:48:21
А что надо выделить чтобы сохранить текстуру?
|
|
|
|
Сообщений: 1042
|
Опубликовано: 29.06.2009, 04:51:13
Quote (контер) А что надо выделить чтобы сохранить текстуру? XImage
|
|
|
|
Сообщений: 1240
|
Опубликовано: 29.06.2009, 16:23:55
Quote (vera34) слушай Алекс а че это за штука? Если это перевести - это поверхность той штуки, которая светится, когда инопланетяне забирают.. короче типа чёрной дыры-её поверхность
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1240
|
Опубликовано: 29.06.2009, 16:29:04
Хм. первое что открыл - data/unitcube.xom интересно, это не поксель?)
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1042
|
Опубликовано: 29.06.2009, 18:21:16
Сразу скажу сорри за баг, если выскакивает ошибка при открытии файла, нужно перезапустить, я забыл очистить буфер, но я ее уже исправил.. Я тут лазил по файлам с Небосводами, и обнаружил следующее XMaterial XAlphaTest XZBufferWriteEnable XCullFace XLightingEnable XBlendModeGL Это классы на которые ссылается XSimpleShader. Они аналогичны функциям glDisable(GL_COLOR_MATERIAL); glColorMaterial glDisable(GL_ALPHA_TEST); glAlphaFunc glEnable/glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glCullFace glEnable/glDisable(GL_LIGHTING); glDisable(GL_BLEND); glBlendFunc Только вот какую куда сувать и как их использовать я не знаю...
|
|
|
|
Сообщений: 1042
|
Опубликовано: 29.06.2009, 18:42:20
Круто, теперь я знаю имена ресурсов, из которых можно сделать новое оружие для W3D!!! =)
|
|
|
|
Сообщений: 523
|
Опубликовано: 30.06.2009, 00:46:18
In bundle04.xom in w3d models are such fun that they want to extract the 3d:)Добавлено (30.06.2009, 00:46) --------------------------------------------- Where hard cap on the W4 in w3d o.O do not further the idea made team17 ...
|
|
|
|
Сообщений: 1240
|
Опубликовано: 30.06.2009, 01:03:59
Quote (AlexBond) Круто, теперь я знаю имена ресурсов, из которых можно сделать новое оружие для W3D!!! =) AlexBond, не знаю кто ты и с этой ли ты планеты или ты внеземной разум, но я определённо восхищаюсь тем как ты всё это понимаешь! Прям ваще крут
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 523
|
Опубликовано: 30.06.2009, 16:00:41
Wow xom_view 2.0 can open and show the models of the WF maps as in w3d. It may be possible to add in the same way as it does in w3d random maps without loss.
|
|
|
|
Сообщений: 1042
|
Опубликовано: 30.06.2009, 17:20:26
Quote (AlexBond) XMaterial XAlphaTest XZBufferWriteEnable XCullFace XLightingEnable XBlendModeGL Так с XMaterial я разобрался. С XZBufferWriteEnable тоже, там лишь один байт... хотя... обнаружился новый тип: XDepthTest...... Больше всего интересует XBlendModeGL, она вмещает в себя две переменные: Code 01 00 00 06 00 00 00 07 00 00 00 Code 01 00 00 06 00 00 00 01 00 00 00 Code 01 00 00 01 00 00 00 01 00 00 00 glBlendFunc тоже содержит две переменные следующих типов: Code GL_ZERO GL_ONE GL_SRC_COLOR GL_ONE_MINUS_SRC_COLOR GL_DST_COLOR GL_ONE_MINUS_DST_COLOR GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA GL_DST_ ALPHA GL_ONE_MINUS_DST_ALPHA GL_SRC_ALPHA_SATURATE Только вот неизвестно к какому типу относится индекс....
|
|
|
|
Сообщений: 1042
|
Опубликовано: 30.06.2009, 22:00:11
Небеса уже можно просматривать... Прикрепляю последнюю версию XomView'а 2.0.0.3
|
|
|
|
Сообщений: 1042
|
Опубликовано: 01.07.2009, 00:26:00
Решил поковырять анимацию, наткнулся на интересную статью http://xproger.mentalx.org/old/?id=1&page=2&doc=anim3d Теперь понятны многие типы: А именно : XSkin - связывает кость XBone с матрицей XJointTransform XSkinShape - связывает кости с объектом XWeightSet - вес вершин - взаимодействия вершины с костью XBone - сама кость Далее идет Сама анимация в XAnimClipLibrary Все просто! Осталось лишь декодировать каждый тип =) План такой: 1.Нарисовать кости 2.Расшифровать их анимацию 3.Запустить анимацию 4.Связать кости с объектами
|
|
|
|
Сообщений: 2115
|
Опубликовано: 01.07.2009, 06:22:24
даже TitleMesh.xom читать уже может
|
|
|
|
Сообщений: 3813
|
Опубликовано: 01.07.2009, 07:37:52
круто... когда прога xom view превратится в xom edit: цены ей не будет)
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
mod.worms.pro - мод Worms Renewation для Worms4
|
|
|
|
Сообщений: 1240
|
Опубликовано: 01.07.2009, 15:11:28
Quote (AlexBond) Все просто! Осталось лишь декодировать каждый тип =) Хочешь сказать, что скоро вместо червяков по карте будут ползать совсем другие существа?)
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1042
|
Опубликовано: 01.07.2009, 20:38:27
Делайте что хотите, мне W4 не нравились и не нравятся, я пишу это прогу лишь для своих целей =)
|
|
|
|
Сообщений: 1042
|
Опубликовано: 03.07.2009, 15:16:58
Такс, по поводу XBone я не могу понять, что означают данные: Там как я понял две матрицы, потом ноль и еще какой-то вектор или точка и длинна...
|
|
|
|
Сообщений: 1042
|
Опубликовано: 03.07.2009, 15:42:22
Если брать из статьи что у я приводил, то код анимационных преобразований такой: Code for i := 0 to V_Count - 1 do begin RVertex[i] := Vector(0, 0, 0); for j := 0 to B_Count - 1 do RVertex[i] := RVertex[i] + Weight[i][j] * Bone[j].Matrix * Vertex[i]; end; Только вот вопрос, где где тут Bone.Matrix и как она связана с XBone, XJointTransform...? Да и не понятно как достать Weight из XWeightSet... Хотя понятно... Тут идет прямой массив для всех костей, к примеру если 34 кости и в объекте 376 точек, то в WeightSet хранится 12784 весовых компонент. Но это в W4 в W3D совсем другая структура... Короче проблема с матрицами......
|
|
|
|
Сообщений: 1042
|
Опубликовано: 03.07.2009, 17:03:30
Кое что получается с XAnimClipLibrary... Итак в начале идет непонятная хрень, видимо шапка, далее идет название анимации, и число клипов. Посли чего идет шапка клипа, номер его, количество кадров, и сами карды, которые содержат 6 плавающих точек, итак: Code XAnimClipLibrary: ----AnimHead-------- HeadName|NumClips | ???| Name | NumClips ----Clip N-------- ClipHead | Number | Frames ----Frame-------- Position (vector) | Rotate (vector)
|
|
|
|
Сообщений: 1042
|
Опубликовано: 03.07.2009, 17:52:22
Кое что проясняется: Code XAnimClipLibrary: ----AnimHead-------- HeadName|NumBonesClips ------BonesClip----------- ?|?|?|?|BoneName ---------------------- Name | NumClips ----Clip N-------- ClipHead | Number | Frames ----Frame-------- Position (vector) | Rotate (vector)
|
|
|
|