Pavel3333 Posted September 5, 2018 Share Posted September 5, 2018 @MasterModeley а почему удалили свой репозиторий? был очень полезный материал... @ Quote Link to comment Short link Share on other sites More sharing options...
MasterModeley Posted September 5, 2018 Share Posted September 5, 2018 35 минут назад, Pavel3333 сказал: @MasterModeley а почему удалили свой репозиторий? был очень полезный материал... Принцип, который там использовался, был не совсем правильный. После очередного обновления танков всё порушилось. Как уже писал чуть выше, правильная и полная информация находится в репозитории https://github.com/blueskythlikesclouds/TagTools 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 6, 2018 Share Posted September 6, 2018 (edited) @MasterModeley а вообще, из этих файлов можно выделить модель или только данные по коллизиям? Edited September 6, 2018 by Pavel3333 @ Quote Link to comment Short link Share on other sites More sharing options...
MasterModeley Posted September 6, 2018 Share Posted September 6, 2018 56 минут назад, Pavel3333 сказал: @MasterModeley а вообще, из этих файлов можно выделить модель или только данные по коллизиям? Модели бронирования, которые у меня на сайте, как раз выделены из этого файла. Это, по сути, обычная 3D модель с вершинами и поверхностями, в которой вместо цвета и текстур прописаны их физические параметры. @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 6, 2018 Share Posted September 6, 2018 @MasterModeley глянул репозиторий, а откуда ноги растут у импортов типа <Common/Base/Config/hkProductFeatures.cxx>? Это части самого Havok'а? Где их можно найти? :) @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted October 24, 2018 Share Posted October 24, 2018 Раскурил эти TagTools.py Забавная штука. Блок TSTR == type strings, походу описывает названия типов(классов) Блок TNA1 совпадает по структуре с описанным в в TNAM из TagTools (ну почти совпадает, одна из записей генерит номер строки очень большой, видимо надо какую-то маску применять, а всё остальное, похоже, что вычитывает правильно) Блок TDBY - связан с FSTR (field strings), описывает структуру класса записанного в TNA1, но явно не совпадает с тем, что описано в TagTools.py. Вообще если интерпретировать в лоб, берём запись из ITEM блока, читаем нужное количество данных (в которых ещё куча выравниваний) получается странная ерунда, из-за того, что элементы не всегда одного размера (выравнивания?) И эта упаковка бесит, когда не понятно сколько байт отводится под каждый элемент. А если собирать модели, на примере ИС7, у него ~589 записей, которые описывают вершины, и только 191 запись которые укладывают эти вершины в полигоны. Кстати, кто-то осилел этот блок TBDY? Хотя, если присмотрется к этому TagTools - в принципе, оно норм читает данные, по крайней мере, похоже, что всё ОК, и только в одном моменте (надеюсь только в одном) правится добавлением маски. Только надо большая моральная стойкость, чтобы это осилить 1 @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted October 26, 2018 Share Posted October 26, 2018 Да что там за жесть в этом файле творится packedVertices, километр хрен знает чего в открытом виде хранить это норма. А как вершины - так сразу на, "упакованные" @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted November 5, 2018 Share Posted November 5, 2018 @MasterModeley привет, не подскажешь, это хоть правильное направление с хавоком? из packedVertices - выдрать 3 или 4 флоата, которые вершины описывают? 1 @ Quote Link to comment Short link Share on other sites More sharing options...
MasterModeley Posted November 5, 2018 Share Posted November 5, 2018 (edited) Я не знаю, как и что там на самом деле, но делаю так: для packedVertices по 32 бита данных на вершину = 10 + 11 + 11 $tx = ( ( $packed & 0xFFC00000 ) >> 22 ) / 0x3FF; // $ty = ( ( $packed & 0x3FF800 ) >> 11 ) / 0x7FF; $tz = ( $packed & 0x7FF ) / 0x7FF; для sharedVertices по 64 бита данных на вершину = 22 + 21 + 21 $tx = ( ( $packed >> 42 ) & 0x3FFFFF ) / 0x3FFFFF; $ty = ( ( $packed >> 21 ) & 0x1FFFFF ) / 0x1FFFFF; $tz = ( $packed & 0x1FFFFF ) / 0x1FFFFF; Получаются нормированные координаты. Масштаб и смещение подбирается из параметров 'codecParams' и/или 'domain'. Найди меня в соцсетях или по почте [email protected]. Здесь я бываю редко и не всегда смогу ответить быстро. Edited November 5, 2018 by MasterModeley 1 @ Quote Link to comment Short link Share on other sites More sharing options...
crazy_F0X Posted January 3, 2019 Share Posted January 3, 2019 (edited) нужно открыть hkx файл. Я со скайрима, если что. Особо в кодинге не разбираюсь, но в цэлом всё написанное понял Edited January 3, 2019 by crazy_F0X @ Quote Link to comment Short link Share on other sites More sharing options...
MasterModeley Posted January 3, 2019 Share Posted January 3, 2019 (edited) 1 час назад, crazy_F0X сказал: нужно открыть hkx файл. Я со скайрима, если что. Особо в кодинге не разбираюсь, но в цэлом всё написанное понял Возможно, вам подойдёт вот это https://github.com/figment/hkxcmd Edited January 3, 2019 by MasterModeley @ Quote Link to comment Short link Share on other sites More sharing options...
crazy_F0X Posted January 4, 2019 Share Posted January 4, 2019 Вроде как установил всё, кроме sdk. И только из-за того, что надо обновить opencl, но пишет что он неправильный. (с бубном танцевал, не помогло а как вообще открыть этот hkxcmd? Отдельная прога? У меня sin открывает только visual studio, а запустить не может. Причина в отсутствии sdk как я понял. Так бы и visual открыл. Sdk не могу установить, потому что нужен новый драйвер opencl, драйвер не могу поставить потому что win не принемает. Скорее всего проблема в regsvr32. Или просто под драйвером opencl имеется виду нечто другое, а не opencl.dll. (при копировании в папки замена не предлагалась) @ Quote Link to comment Short link Share on other sites More sharing options...
crazy_F0X Posted January 4, 2019 Share Posted January 4, 2019 (edited) после обновы win появились в поиске новые сайты с sdk. Скачал, установил, изменил целевую платформу под sdk для visual 2017, сначало было 400+ ошибок. Потом 22. Качать exe отсюда не буду https://www.nexusmods.com/skyrim/mods/1797 когда разархивировал в С, то после сборки вообще 1 ошибка. Ошибка C1083 Не удается открыть файл включение: Common/Base/hkBase.h: No such file or directory, Edited January 4, 2019 by crazy_F0X @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted June 22, 2022 Share Posted June 22, 2022 Немного некропостинга. Давно не открывал коллижены, и теперь коллижены не парсятся. Раньше для парсинга использовал скрипт на пхп, который радостно выдавал геометрию. Недавно, судя по всему, версия хавока изменилась. Появились новые блоки на замену старым (TSTR -> TST1, FSTR -> FST1), и судя по всему в них чутка уехал формат данных. Кто-то что-то может подсказать по этому поводу? 1 @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted June 24, 2022 Share Posted June 24, 2022 Проблема решена. Спасибо @MasterModeley @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted July 31, 2022 Share Posted July 31, 2022 (edited) @MoD а для чего парсишь, что ты с этими моделями потом делаешь? Edited July 31, 2022 by StranikS_Scan @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted July 31, 2022 Share Posted July 31, 2022 4 hours ago, StranikS_Scan said: @MoD а для чего парсишь, что ты с этими моделями потом делаешь? В мобильной приложухе база знаний для wot использую. @ Quote Link to comment Short link Share on other sites More sharing options...
yinx2002 Posted November 15, 2023 Share Posted November 15, 2023 On 6/6/2018 at 2:20 PM, MasterModeley said: It turned out to be too difficult to solve the problem head-on. I had to get serious about googling. As a result, I found something useful. Here https://github.com/blueskythlikesclouds/TagTools perfectly described what and how is stored in the havok file. With minor fixes, it can digest WoT files. Moreover, in the new version of WoT, the havok format has been cleared of excess. Can you kindly teach me how to do that ? I want primitives_processed as in older version of client. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.