AcuteNC 32 #306284 Posted December 20, 2015 ну: sizeof(float)*3==12; sizeof(uint32)==4;В игровых ресурсах так запаковано крч. Это запаковка карты нормалей? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306288 Posted December 20, 2015 (edited) На самом деле это бред) @AcuteNC, ну что?Есть в этом смысл? Edited December 22, 2015 by ShadowHunterRUS 1 Quote Share this post Link to post Short link Share on other sites
AcuteNC 32 #306297 Posted December 20, 2015 ну ты меня понял. Крч нужно найти алгоритм. shot_012.jpg shot_013.jpg На самом деле это бред) @AcuteNC, ну что? Есть в этом смысл? конечно есть. Нужная вещь. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306298 Posted December 20, 2015 конечно есть. Нужная вещь.Ну тогда алгоритмик отреверсить нужно) Quote Share this post Link to post Short link Share on other sites
Degit22 42 #306315 Posted December 21, 2015 (edited) кто может отреверсить этот код? from ctypes import c_uint32 def unpackNormal_tag3(packed): pkz=(c_uint32(packed).value>>16)&0xFF^0xFF pky=(c_uint32(packed).value>>8)&0xFF^0xFF pkx=(c_uint32(packed).value)&0xFF^0xFF if pkx>0x7f: x=-float(pkx&0x7f)/0x7f else: x=float(pkx^0x7f)/0x7f if pky>0x7f: y=-float(pky&0x7f)/0x7f else: y=float(pky^0x7f)/0x7f if pkz>0x7f: z=-float(pkz&0x7f)/0x7f else: z=float(pkz^0x7f)/0x7f return (x,y,z)Т.е. на вход функции подаем (x,y,z), а получаем packed Как-то так. Надо посмотреть что там на входе когда данные теряются, и правильно ли что они теряются. И ещё интересно хранится ли что-то в 4 байте? def packNormal_tag3(x, y, z): if x < 0: pkx = (~0x7f)^round(-x*0x7f) else: pkx = 0x00 #Данные утеряны без возвратно if y < 0: pky = (~0x7f)^round(-y*0x7f) else: pky = 0x00 #Данные утеряны без возвратно if z < 0: pkz = (~0x7f)^round(-z*0x7f) else: pkz = 0x00 #Данные утеряны без возвратно packed = pkz<<16 + pky<<8 + pkx return packedМожет код должен быть таким? def unpackNormal_tag3(packed): pkz=(c_uint32(packed).value>>16)&0xFF^0xFF pky=(c_uint32(packed).value>>8)&0xFF^0xFF pkx=(c_uint32(packed).value)&0xFF^0xFF if pkx>0x7f: x=-float(pkx&0x7f)/0x7f else: x=float(pkx)/0x7f if pky>0x7f: y=-float(pky&0x7f)/0x7f else: y=float(pky)/0x7f if pkz>0x7f: z=-float(pkz&0x7f)/0x7f else: z=float(pkz)/0x7f return (x,y,z) Тогда обратный вот такой: def packNormal_tag3(x, y, z): if x < 0: pkx = (~0x7f)^round(-x*0x7f) else: pkx = round(x*0x7f) if y < 0: pky = (~0x7f)^round(-y*0x7f) else: pky = round(y*0x7f) if z < 0: pkz = (~0x7f)^round(-z*0x7f) else: pkz = round(z*0x7f) packed = pkz<<16 + pky<<8 + pkx return packed Суть в том что в 4 байтовом целом, хранятся 3 знаковых дробных, но с 7 битовой точностью и 8-ой бит под знак. Ещё интересно спросить у автора, если входной всё равно 4 байтовое, почему бы не запихать дробные с 8 битовой точностью и 9 бит под знак? P.S. Вспоминается 31 декабря 8 вечера, а мы сдаём лабы по ассемблеру, весело было. Edited December 21, 2015 by Degit22 2 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306466 Posted December 22, 2015 (edited) Вспоминается 31 декабря 8 вечера, а мы сдаём лабы по ассемблеру, весело было. у меня примерно тоже самое Короче я немного разобрался в проблеме. Вся беда была из-за порядка треугольников. картохе нужно отдавать их в порядке 2 1 0, а я отдавал как 0 1 2 Это решило проблему с флипом нормали, но не решило проблему с самими нормалями... v78: uv карта вроде норм легла уже можно делать ремоделинг статичных объектов) пока только с одной uv-картой и одним материалом, но потом... Всё таки проблема с орудиями осталась. Исправил в v79 с помощью выбора башен. Довольно странно, но логично) Edited December 22, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
tricsi 1,144 #306484 Posted December 22, 2015 перебирал технику, потихоньку...обратил внимание на гусельки блендер клиент разную технику смотрел, одинакового отображения пока не нашёл, в клиенте "кто в лес, кто по дрова", естественно в блендере с точностью до наоборот, относительно клиента Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306485 Posted December 22, 2015 обратил внимание на гусельки А я давно уже написал, что Blender не может в прозрачность. Quote Share this post Link to post Short link Share on other sites
tricsi 1,144 #306486 Posted December 22, 2015 А я давно уже написал, что Blender не может в прозрачность. то есть, если клиент отдаёт "монолит", то в бендере прорези будут ? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306487 Posted December 22, 2015 (edited) то есть, если клиент отдаёт "монолит", то в бендере прорези будут ?Клиент сейчас это что-то неоднородное. На многих диффуз текстурах в танках до сих пор есть обычный альфаканал, а на HD текстурах он вообще в красном канале карты нормалей. Ну невозможно в таких условиях работать( "монолит"? Edited December 22, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
tricsi 1,144 #306489 Posted December 22, 2015 Клиент сейчас это что-то неоднородное. На многих диффуз текстурах в танках до сих пор есть обычный альфаканал, а на HD текстурах он вообще в красном канале карты нормалей. Ну невозможно в таких условиях работать( Я еще не говорю про карту блеска... ? про монолит, это я так...образно я говорил...что это чудо, таких клиентов поискать .................... но всё же я нашёл, что корректно отображает....ИС 6 , я думаю он не один Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306490 Posted December 22, 2015 (edited) я думаю он не одинэто ненадолго) Скоро и у него альфу отнимут) таких клиентов поискатьэто да, поддерживать и старые и новые технологии дело такое... Edited December 22, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #306492 Posted December 22, 2015 Это наверно устаревший конвертер https://github.com/atacms/wot-model-converterведь в патче 0.9.12 изменили формат примитивов. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306493 Posted December 22, 2015 изменили формат примитивов.да ничего там не изменили) Quote Share this post Link to post Short link Share on other sites
AcuteNC 32 #306494 Posted December 22, 2015 перебирал технику, потихоньку...обратил внимание на гусельки блендер клиент Сохраненное изображение 2015-12-22_7-49-53.930.jpg Сохраненное изображение 2015-12-22_7-50-58.291.jpg Сохраненное изображение 2015-12-22_7-52-26.80.jpg Сохраненное изображение 2015-12-22_7-53-34.913.jpg разную технику смотрел, одинакового отображения пока не нашёл, в клиенте "кто в лес, кто по дрова", естественно в блендере с точностью до наоборот, относительно клиента в блендере у хд танков гусеница представлена одним объектом, а в клиенте каждое звено отдельный объект Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #306495 Posted December 22, 2015 (edited) каждое звено отдельный объект Edited December 22, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
Degit22 42 #306505 Posted December 22, 2015 Кстати про гусеницы. В блендере же есть физическая эмуляция, есть идеи как гусеницам задать свойства чтобы они провисли, а не как струна были натянутые? Quote Share this post Link to post Short link Share on other sites
tricsi 1,144 #306506 Posted December 22, 2015 .. а в клиенте каждое звено отдельный объект да там такое наверчено, язык не поворачивается отдельным звеном назвать посмотри ис6 и FV215...на англичанах отдельные звенья в клиенте ? и это на старом формате..."ключница водку варила" мрак Quote Share this post Link to post Short link Share on other sites
AcuteNC 32 #306509 Posted December 22, 2015 Кстати про гусеницы. В блендере же есть физическая эмуляция, есть идеи как гусеницам задать свойства чтобы они провисли, а не как струна были натянутые? Да. Можно хоть анимацию с управлением и физикой сделать). Я же просил как-то отдельно траки))) да там такое наверчено, язык не поворачивается отдельным звеном назвать посмотри ис6 и FV215...на англичанах отдельные звенья в клиенте ? и это на старом формате..."ключница водку варила" мрак За всех не скажу. Чем-то смотрел. Для некоторых танков были отдельно звенья. Я ж не виноват, что у них нет единого формата. Quote Share this post Link to post Short link Share on other sites
tricsi 1,144 #306510 Posted December 22, 2015 (edited) это ненадолго) Скоро и у него альфу отнимут) ещё один патч откатает, должны были поменять, но пока оставили... у кв II, тоже пока нормально, траки с альфой Да. Можно хоть анимацию с управлением и физикой сделать). Я же просил как-то отдельно траки))) За всех не скажу. Чем-то смотрел. Для некоторых танков были отдельно звенья. Я ж не виноват, что у них нет единого формата. пальцем ткни какие...от какой техники единый формат...да не известно когда будет, если будет вааще =================================================== ну вот, нашёл что ломает блендер, или падает, или теряет интерфейс новая техника, америка Т29, Т 32...открываю, материалы, редактор UV , пару кликов и безмолвно валяемся новенькие траки, в клиенте красивые такие.... Edited December 22, 2015 by tricsi Quote Share this post Link to post Short link Share on other sites