Результаты поиска
|
|
Сообщений: 1042
|
Опубликовано: 29.06.2009, 18:42:20
Круто, теперь я знаю имена ресурсов, из которых можно сделать новое оружие для W3D!!! =)
|
|
|
|
Сообщений: 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.Связать кости с объектами
|
|
|
|
Сообщений: 1042
|
Опубликовано: 01.07.2009, 14:17:13
Я может совсем отстал от жизни, но че такое этот Юзербар и на какой он нужен?
|
|
|
|
Сообщений: 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)
|
|
|
|
Сообщений: 1042
|
Опубликовано: 03.07.2009, 21:53:41
Quote (Герыч) Вопрос, как ты определяешь что это за данные float'ы или int'ы? Хех! Чувак, прежде чем начинать программировать, на Далфях и Си, я изучал Ассемблер =) А там нету никаких 2.234 там DBF90E40. У меня прога есть, которую я в то время написал Real<->Hex Она переводит в Hex и обратно числа с запятой. Так вот если число заканчивается на 40, 80, 3F, BF, то это float переменная. Целые же числа идет слева направо, а с точкой с право налево. Сам посмотри единица всегда выглядит так 00 00 80 3F А минус единица 00 00 80 BF Поэтому очень просто находить Матрицу особенно единичную в массиве hex данных!
|
|
|
|
Сообщений: 1042
|
Опубликовано: 04.07.2009, 22:46:47
Могу взять отпустк Если я тебе надоел =)
|
|
|
|
Сообщений: 1042
|
Опубликовано: 06.07.2009, 19:57:54
Я создал формат *.xom3d в котором и буду хранить объекты, загружаться этот формат будет в 3DSMax через скрипт, скрипт я уже написал, так что дело за малым, любуйтесь: P.S. "Злые вы, уйду я от вас"
|
|
|
|
Сообщений: 1042
|
Опубликовано: 07.07.2009, 17:20:55
У меня получилось загрузить в 3DSMAX текстуры, по поводу иерархии я сделал ее на dummy объектах, другого способа не придумал. Короче редактирование будет работать так: 1. Выберается XGroup или XShape в списке через XomView. 2. Cтановиться активной кнопка Save as *.xom3d, после этого жмем ее, и выбераем место, куда сохраняется файл *.xom3D, с ним сохраняются и текстуры 3. В 3DSMax выбераем MAXScript > RunSctript -> Xom3DLoader.ms 4. В Utility появляется Xom 3D Model Loader c кнопкой Open *.xom3d 5. Открываем Xom3D файл, он загружается -- Далее еще в проекте -- 6. Редактируем нужные места 7. Сохраняем через Save *.xom3D 8. В XomView выделяем ту группу что хотим изменить и жмем Load *.xom3D 9. Программа сверяет дерево и имена в группе и файле и если они идентичны, производится замена. 10. Сохраняем Xom
|
|
|
|
Сообщений: 1042
|
Опубликовано: 07.07.2009, 22:44:18
Quote (Symbianer) 1.Когда выйдет прога 2.Мона будет вытаскивать модели из вормс 3д? Прога выйдет когда будет готова, еще много нужно сделать. Вытаскивать можно и не только из W3D даже из WF без проблем.
|
|
|
|
Сообщений: 1042
|
Опубликовано: 08.07.2009, 03:19:40
Жди когда я закончу расшифровку XOM анимации и коректную замену ресурсов. Дело в том, что модели достать ты можешь прямо сейчас, только нафиг они тебе если ты их не сможешь никуда вставить =) W4 и W3D имеют разные структуры анимации поэтому придется помучатся... Не анимированые объекты проще замещать, но надо учитывать ряд особенностей, некоторые объекты, как бетонный осел состоят из трех групп, поэтому прога от K^2 и не может их вставлять.
|
|
|
|
Сообщений: 1042
|
Опубликовано: 08.07.2009, 14:52:59
Что-то мне 3DSMAX вообще разонравился... Нормали не переносятся, материалы тоже глючат, невозможно создать аналог OpenGL Blend материала... Даже не знаю как решить эту проблему, ведь без нормалей и атрибутов материала нельзя корректно перенести модель, такие свойства как полупрозрачность, альфаканал, свечение, гладкие грани, все это проблемно в 3DSMAX, а я думал этот редактор лучший... *добавлено позже* с нормалями проблем нет, переносятся корректно =) Теперь буду мучать материалы
|
|
|
|
Сообщений: 1042
|
Опубликовано: 09.07.2009, 22:53:59
Короче, что касается свечений и других эффектов я думаю сохранить их в виде шейдеров, т.к. они и есть шейдеры =)
|
|
|
|
Сообщений: 1042
|
Опубликовано: 10.07.2009, 18:11:07
эффекты или сами модели?
|
|
|
|
Сообщений: 1042
|
Опубликовано: 10.07.2009, 21:53:30
Quote (Symbianer) Я пробовал из вормс фортс вытаскивать модели и вот я вытащил а там некоторые части модели только и то треугольниками этот глюк будет исправлен? Уже исправлен =) Я только вчера этим занимался. По поводу XImage... я не могу раскодировать этот формат, а точнее шапку в нем... пока не смогу ее раскодировать, не смогу импортировать текстуры, а без текстур и модели нельзя кидать... так что тупик... Кто хочет помочь, смотрим в Hex окне на разных картинках XImage и ищем закономерность.... Первый байт это название, два других это размеры, дальше байт идет типа картинки, вот все что после него я не понимаю....
|
|
|
|