Просмотр полной версии : Конвертер мешей в окклюдеры для 4ds
Собственно сабж скачать без регистрации и смс https://cloud.mail.ru/public/2g9Y/5E9EhRSPN или https://yadi.sk/d/O6504YbbvxOhYQ
попробовал я таки поиграться с окклюдерами в 4ds и понял, что конвертирование ручками - вот вообще не моё :D вспомнил, что когда-то писал что то для 4ds и забросил, когда осознал, что структура значительно сложнее, чем описано на вики (был там раньше раздел, посвященный мафии, не знаю как щас). открыл, пришел в ужос, переписал, благо сейчас у меня есть шаблоны hdmaster'a c разжеванной структурой :) ну и вот результат. открывает медленно (особенно заметно на больших файлах - scene.4ds фрирайда или тестаросса Staghound'a), сохраняет быстрее :)
по поводу поиграться с окклюдерами. имхо, эксперимент прошел успешно! :D видео с результатами: https://cloud.mail.ru/public/5Jmy/2Um4fJd8t
за качество видюхи прошу не бить, у меня отказалась грузиться оригинальная запись на 1.1 гб, у которой качество тоже было не ахти :D пришлось еще пережимать
на видео видно, что дым состоит из кусочков, которые по очереди прячутся за окклюдером. окклюдеры стоят по периметру двора в больших зданиях, и размером чуть меньше самих домов. и по горизонтали проблем не возникает, но вот по крышам... по дыму видно, что граница действия окклюдера явно выше крыши. или по горизонтали его распирает - хз.
и еще - окклюдер работает, пока он между камерой и объектом. если камера попадает внутрь окклюдера - он отключается
ну и самое главное - окклюдер работает, только если моделька с ним вставлена в scene2.bin. в кэше не работает. зато скорее всего заработает в scene.4ds. понимаю что это очевидно, но я вечер потратил чтобы добыть это знание :D
Добавлено через 10 минут
и мне лень делать новую тему, поэтому тут
https://cloud.mail.ru/public/2fFG/KWDgCR6eX или https://yadi.sk/d/Tuob9ghecmDtdw
это Rotation Calculator - конвертер человеческих ротаций (которые в градусах по трем осям) в квантернион - 4 флоат-значения, как оно есть в 4ds. автор не я, нашел на каком то сайте по гта. пара моментов:
1. писался явно для гта, так что выдает xyzw вместо wxyz, нужных мафии, но это мелочи
2. хуже то, что при повороте по всем трем осям выдает неправильный результат (хз, мож в гта оно и правда иначе считается). в таких случаях помогают онлайн конвертеры. я вот этим пользуюсь: https://quat.zachbennett.com/
он во первых выдает как надо wxyz, а во вторых умеет не только градусы в wxyz, но и обратно
-------------
upd от 10.05.2023: новая версия (https://mafia-game.ru/forum/showpost.php?p=19931&postcount=6)
Firefox3860
20.08.2019, 15:09
Вот это дело, спасибо :)
а размер окклюдеров не изменяет программа при конвертировании? вершины берёт какие есть в объекте, без смешения? я вот сделал одинаковые кубы, и один из них сконвертировал. как будто сам окклюдер стал меньше, а верхняя граница - почему-то выше. или игра так отрисовывает?..
https://mafia-game.ru/forum/imgcache/2019/08/20/f1apkfneqcnkhteukyeksjs.jpg https://mafia-game.ru/forum/imgcache/2019/08/20/mvrzduegzpjeret3.jpg https://mafia-game.ru/forum/imgcache/2019/08/20/trarc5mcfdvxytqfxmup.jpg
Конвертер квата тоже пригодится, жаль что только онлайновый правильный. помню, один раз мне вообще пришлось вручную кват считать :D (хорошо одна ось была). а в оснвном я мве использую для этих целей :)
перепроверил. вроде всё норм, вершины копируются как есть. побайтово сравнил исходник и конверт - совпадает. так что я склонен валить всё на игру :D
а так да, тоже с этим столкнулся. рабочая зона окклюдера явно не совпадает с размерами :( чтоб не заслонялся оак хилл на видео, я соответствующий окклюдер опускал с -6 до -15
Можно на другой файлообменник загрузить? У меня с мэйл.ру не хочет скачиваться, почему то.
Можно на другой файлообменник загрузить?
можно :) добавил на яндекс
не прошло и 5 лет, и подъехала новая версия :) теперь это не узкоспециализированный конвертер, а еще один редактор 4ds (ведь это именно то, чего не хватало в 2023?)
mail.ru (https://cloud.mail.ru/public/9Yj7/i9ph2B32F) yandex.ru (https://disk.yandex.ru/d/KCyRvb0aAwVxZw)
архив защищен мегапаролем 1234, потому что mail.ru находит там вирус и не дает расшарить. вирусов там нет (ну, я не добавлял), верьте мне! :D антивирусы от мс не находят ничего, других антивирей под рукой нет
https://mafia-game.ru/forum/imgcache/2023/05/10/umt9ckywcugcdytw.jpg
из умений программы:
- прочитать и сохранить 4ds файл :)
- скопировать/удалить объект(ы)
- поправить position объекта(ов)
- поменять properties объекта(ов)
- сконвертировать первый лод visual object'a в окклюдер
- посмотреть/поменять флаги материала
- посмотреть/поменять текстуры материала (нужна папка с текстурами)
- удалить материал (с обязательной заменой на другой)
тут будет немного лирики, читать необязательно.
некоторые особенности ("не баг, а фича"):
- на вкладке с объектами разрешено множественное выделение (в т.ч. с шифтом или контролом), на вкладке с материалами - только одиночное (так надо. возможно, потом поправлю)
- при длительном использовании отъедает память
- дочерние окна меньше определенного размера увеличиваются до этого самого размера при перетаскивании
- изменение флагов материалов напрямую не влияет на сами материалы. но некоторые флаги влияют на структуру файла, это всплывет при сохранении
- снизилась скорость чтения/записи по сравнению с occl_converter'ом. взамен функция чтения/записи стала одним целым (раньше было 2 разных, с соответствующим количеством ошибок), часть параметров вынесена в отдельный массив (мне стало проще править код :D)
- кнопка рефреш не дает ничего полезного, просто пересчитывает отображаемые массивы материалов/объектов (да, отображается не совсем то, что прочиталось с файла) и перерисовывает гуи
- наверное, есть еще что то, но сейчас не помню
насчет "прочитать и сохранить 4ds файл" - на самом деле, именно это главная фича. серьезно. не было бы ее - не было бы и всего остального. и именно она заняла больше всего времени и сил. за структуру 4DS спасибо RoadTrain'у и его шаблонам для 010EDITOR, без них я бы не справился.
вообще, еще когда начал ковырять мафию (году в 2015-2016), захотел редактор, которого тогда не было - с блэкджеком редактируемой табличкой-списком материалов/объектов. и вот именно редактируемой таблички пока не получилось, так что, наверное, будут новые версии.
TODO:
- editable listview
- кнопки undo/redo
- в чтение/запись добавить оставшиеся типы объектов
- конвертер в другие типы объектов
- пофиксить проблемы с памятью (обнулять локальные массивы в конце функций?)
написано на autoit v3.3.14.5. почему на нем? потому что я могу :D
если вдруг кому интересно - могу выложить исходник, для запуска нужен сам autoit v3.3.14.5
grandshot
10.05.2023, 17:02
Autoit это ругательство :D
Полезнее будет изучить Python и переписать прожку на модуле TKinter :)
Firefox3860
10.05.2023, 18:20
Питон это ругательство :D (ну, по крайней мере, для меня, уж извините :D)
admpos, круто. Кажется, программы с функций удаления и копирования объектов ещё не было. Будет полезно :)
Ты тут даже меня опередил - я тоже делаю программу для 4ds, вот тут показывал - https://mafia-game.ru/forum/showpost.php?p=18822&postcount=110
C# и winforms. Недавно как раз только сохранение в ней дописал.
Я пока ещё не все функции твоей проги просмотрел, но как понял, типы объектв она должна все читать, включая части тел людей и животных, их кости и target-объекты. Пока увидел, что открывает не все файлы нормально. Некоторые локации с лайтсекторами, например, - объекты прочитать не может. Модель Тома не открывает - на каком-то из объектов сбивается. На морфинге в одной из локаций тоже сбилась. Не знаю, это из-за тех шаблонов ли, сам их ещё не рассматривал подробно.
Ещё, кстати, последний байт (один или несколько) в модели не обязателен, его может и не быть.
____
А, морфинг вроде и не разобран, ну понятно, тогда на будущее.
grandshot
11.05.2023, 00:29
Питон это ругательство (ну, по крайней мере, для меня, уж извините )
Ну всё. Такого нахальства я так просто оставить не могу.
Теперь я тоже напишу свой 4ds менеджер на Питоне :D
Firefox3860
11.05.2023, 03:04
Ну всё. Такого нахальства я так просто оставить не могу.
Теперь я тоже напишу свой 4ds менеджер на Питоне :DВо, круто, чем больше конкуренция, тем чаще и я буду своей прогой заниматься, так что давай скорее! :D
вот слов нет, одни эмоции. и где вы все были раньше? у меня есть пачка пожеланий к будущим редакторам! :D
питон, конечно, лучше, когда его знаешь. а вот еще sql хорош, и его я даже знаю, а толку. кстати, структура 4дс вообще отлично легла бы в базу данных, но я не смог sqlite прикрутить
А, морфинг вроде и не разобран, ну понятно, тогда на будущее.
некоторые типы пока не поддерживаются, не помню точно какие. но у меня записано :)
если в файле нет последнего байта - считается, что там 0. при записи после последнего байта дописывается еще один 0.
о, вот еще что забыл. если выбираешь "сохранить как" - в timestamp принудительно проставляется 0xFFFFFFFFFFFFFFFF, аналогично 4ds_unlocker'у, иначе заноза отказывается открывать файл
Ну всё. Такого нахальства я так просто оставить не могу.
Теперь я тоже напишу свой 4ds менеджер на Питоне :D
Лучше допишите boz'овскую читалку .4ds внутрь блендера. Она афигенная, но скелетки и морфинга там очень не хватает. Просто буквально порвёте мир моддинга :D :beer:
Там как раз питон
grandshot
11.05.2023, 14:21
Kardini, Я лучше с нуля свою версию сделаю, чтобы разобраться как писать плагины для блендера :)
Firefox3860
11.05.2023, 17:12
вот слов нет, одни эмоции. и где вы все были раньше? у меня есть пачка пожеланий к будущим редакторам! :DТак здесь и были... А кое-кто другой, наверное, где-то пропадал :D
Пожелания всегда готов выслушать ;)
если в файле нет последнего байта - считается, что там 0. при записи после последнего байта дописывается еще один 0.Странно, я если что имею в виду тот байт, который идёт сразу после номера материала последней фейсгруппы последнего лода последнего объекта. И отвечает он вроде как за то, проигрывает ли модель анимацию. У меня твоя прога бунтует при чтении файла без него, что она ну никак не ожидала такого скорого завершения файла... А после добавления этого байта бунт сразу же прекращается :)
о, вот еще что забыл. если выбираешь "сохранить как" - в timestamp принудительно проставляется 0xFFFFFFFFFFFFFFFF, аналогично 4ds_unlocker'у, иначе заноза отказывается открывать файлКстати, как раз эта временная метка интересовала. В каком формате она пишется, как её можно расшифровать?
grandshot
11.05.2023, 21:08
В каком формате она пишется, как её можно расшифровать?
Это 64-х битный FILETIME (https://learn.microsoft.com/ru-ru/windows/win32/api/minwinbase/ns-minwinbase-filetime). Вся информация в доке. 010 Editor понимает и отображает этот тип данных.
grandshot
12.05.2023, 00:25
Парсер моделей готов :)
https://mafia-game.ru/forum/attachment.php?attachmentid=2444&stc=1&d=1683840323
Firefox3860
12.05.2023, 00:39
Парсер моделей готов :)Ох ё, я, конечно, не имел в виду настолько скорее :D Круто! А что, уже полностью - все типы объектов (и морфинг, и части тел, и кости, и target-ы)? Только чтение или запись уже тоже? :D
А у тебя есть информация по всем битовым флагам материала, за что конкретно они отвечают?
grandshot
12.05.2023, 00:57
Да, читает все. Теперь буду писать экспорт.
А у тебя есть информация по всем битовым флагам материала, за что конкретно они отвечают?
Я инфу по материалам уже давно в моддинг вики постил (https://lhm.fandom.com/ru/wiki/4ds). Остальную спецификацию формата обновить так никогда руки и не доходили :D
хы движуха какая-то движится:)
grandshot
13.05.2023, 13:20
хы движуха какая-то движится:)
Вот если бы кто нибудь LS3DF.dll среверсил - была бы настоящая движуха)
Там много всего интересного. К примеру, фрейм объект Landscape, представляющий собой интерпретацию террейна из первого H&D () (Принимает четыре текстуры и одну текстуру детализации).
Или другой объект Particle element, представляющий собой аналог партикла из scene2.
Либо объект тени(I3D_VISUAL_SHADOW), который может быть как аналогом 6ds файла, так и лайтмапом.
А еще интересно, что при определенном типе сектора в нем мог идти настоящий снег, использующий текстуру Snow.tga, а не имитация из дождя.
4ds моделей с этими объектами в играх на двиге не встречается, поэтому единственный вариант остается получить структуры реверсом. Псевдокод в этом деле не помощник, придется дизассемблировать. Кто умеет? :)
LS3DF.dll занимается лишь рендерингом, сами объекты-то(фреймы) подсовывает екзе.
Landscape вроде только и неизвестен как фрейм ога, но вряд ли там че тересное.
grandshot
14.05.2023, 23:27
GOLOD55, судя по названиям функций, которые мне удалось восстановить из дебаг принтов, лоадеры структур находятся в LS3DF'е.
И раз фреймов нет в шаблонах hdmaster'a\RoadTrain'a, значит они считаются не разобранными. Другой инфой-то никто публично не делился, если она и есть.
grandshot
16.05.2023, 21:17
Интересную штуку обнаружил: файл tvoda01.4ds совершенно иной версии 58 (в Мафии 29), использует текстуры tvoda и tvoda1, и был создан 15 марта 2000-го. Движок игры его не воспринимает, так как структура другая. Вероятно, представляет из себя блок воды, возможно даже с морф анимацией как в порту.
Firefox3860
16.05.2023, 21:33
Интересную штуку обнаружил: файл tvoda01.4ds совершенно иной версии 59 (в Мафии 29), использует текстуры tvoda и tvoda1, и был создан 15 марта 2000-го. Движок игры его не воспринимает, так как структура другая. Вероятно, представляет из себя блок воды, возможно даже с морф анимацией как в порту.Ага, я тоже этот файл заметил, только его версия 58, а не 59 :) Кстати, ещё у какого-то файла тоже из мафии нашёл версию 27. Формат был тот же, что у 29. Жаль, не записал, какой именно файл. А есть полный список всех известных версий формата в том числе не только из мафии?
Сделал ещё у себя отображение временной метки :) А ты знаешь, как точно в ней указывается, заблокирован файл или нет? Вроде для разблокировки необязательно все 8 байт 0xFF, unlocker там всего какой-то один бит меняет...
grandshot
16.05.2023, 22:02
А есть полный список всех известных версий формата в том числе не только из мафии?
Пока известно лишь то что было в шаблонах, и то что обнаружил: i3d_versions = {27:'Mafia', 29:'Mafia', 41:'HD2', 42:'Chameleon', 58:'MafiaDeprecated'}
Скоро скачаю все игры на двиге и проверю. Из мафии дампнул все модели. Вот, например, таблица с названиями моделей и текстурами: https://docs.google.com/spreadsheets/d/1MtsmmrHy6WL0I1DmSzvi5JcOaDvwwrfJblH_Ww-VlpE/edit?usp=sharing
Поздновато, вероятно, так как ретекстуры уже давно сделаны. Но пусть будет )
А ты знаешь, как точно в ней указывается, заблокирован файл или нет? Вроде для разблокировки необязательно все 8 байт 0xFF, unlocker там всего какой-то один бит меняет
Увы, не знаю. Нужно занозой файл тестить, подменяя по очереди каждый из байтов на 0xFF и проверять импортирует ли.
grandshot
17.05.2023, 03:05
Дампы из Hidden & Dangerous 2: https://docs.google.com/spreadsheets/d/12Xcsa-E6iSkQhO0kWreu49kz3dAAbGwThl4_o01gCes/edit?usp=sharing
Дампы из Хамелеона: https://docs.google.com/spreadsheets/d/1_kNGcgLabNwZZlU-HT2jWdyljPIqkySxoBPir29K8Aw/edit?usp=sharing
Подтвердилось, что неизвестных типов фреймов в играх не встречается. Обнаружил лишь сломанную модельку jd_mother.4ds в Хамелеоне, и на этом все (побит фрейм VisualSingleMorph в конце). Wings of War пока не закачалась, но не думаю что в ней чего нового найдется.
Chicago1920
17.05.2023, 13:31
Ребят, вы меня простите, а про что вы тут говорите? Ничего не понял, но очень интересно))). Если не сложно, правда, скажите о чем разговор идет?
grandshot
17.05.2023, 16:42
Chicago1920, об игровых 3д моделях в специальном формате *.4ds :)
А какой там тип фрейма в 4дс кто-то запихал не так давно, не помню?
Firefox3860
17.05.2023, 23:00
А какой там тип фрейма в 4дс кто-то запихал не так давно, не помню?Окклюдер (флаг 0x0C). В шапке темы, собственно, об этом написано и программа конвертирующая там. admpos и запихал.
Добавлено через 54 секунды
grandshot, значит, в итоге неизвестных версий в тех играх тоже не нашлось?
А, О! хех. А структурка окклюдера в 4дс где-то описана?
Флаг 0x0C, все верно, должен быть.
Инфа из моих записок_натуралиста:
sub_10019210 вторая программа генерации(невизуалы)
...
lea eax, [ecx-2] ; ecx=лонг на входе
cmp eax, 0Fh ; switch 16 cases
case obj class метка
case0 = light 10097C28 (id=2, size=1F0); +154=3(тип лайта, 5=фог)
case1 = camera\GameCamera 10097690 (id=3, size=4F4); хмм
case2 = sound? 10098E10 (id=4, size=1EC)
case3 = sector 10098A28 (id=5, size=234)
case4 = dummy 100978C0 (id=6, size=19C)
case5 = target 10098EF0 (id=7, size=154)
case6 = 10098F90 (id=8, size=144); user(?) не найдено в игре
case7 = model_obj 10098100 (id=9, size=158)
case8 = bone(?) 10097A48 (id=0A,size=20C)
case9 = 100990F0 (id=0B,size=174); Frame_volume(?) не найдено в игре
case10= occluder 100983B8 (id=0C,size=5EC)
case11= scene 10098898 (id=0D,size=33C); Frame_scene. примсектора описаны. один объект.
case12= city_music 10097420 (id=0E,size=17C)
case13= shadow 10098AE0 (id=0F,size=214); +1D4=метка SHD. почему в невизуалах??
case14= 10097B88 (id=10,size=62144); Frame_landscap(?) не найдено в игре
case15= Car_particle 100984D0 (id=11,size=1F0)
Прим: строка 1140 в сцене2 имеет парам типа_объекта(0C000000 у окклюдеров) – его в виде байта переносим в 4дс.
Объект 0E тогда в 4дс должен быть музик_ареей и т.п.
Firefox3860
18.05.2023, 00:43
А, О! хех. А структурка окклюдера в 4дс где-то описана?Хех :) Да, вот тут описана - https://mafia-game.ru/forum/showpost.php?p=5609&postcount=113
Или вот во вложении класс из моей проги на c# (если так удобнее) (в языке тип uint/int - 4 байта, а ulong/long - 8 байт).
Инфа из моих записок_натуралиста: ...Это фрагмент на ассемблере прямо из кода игры, флаги оттуда же взяты?
Получается, можно вообще любой из этих типов запихать в 4ds, если поставить однобайтовый флаг и попасть в структуру? Даже model_obj - будет одна модель вызывать другую :D?
sector (5) - это я так понимаю, запись о звуковых параметрах при нахождении в одноимённом секторе 4ds. Можно было бы их встраивать прямо в модели своих локаций, а не в scene2 :)
shadow (0F) - прямо в модели машин, чтоб 6ds не класть отдельно :) В невизуалах, наверное, потому, что свою геометрию также не отображает, а только эффект даёт, как и окклюдер.
А scene (0D) - это что? Car_particle (11) и Frame_volume (0B) - не одно и тоже?)
Фрагмент - резалт анализа программы генерации невизуалов(из лс3дф судя по всему).
sector (5) дак енто лайт_сектор и есть. в 4дс у него ж флаг 05.
Тень машины, пожалуй, удобно перенести в саму ее. Думаю, схема примерно та же: в самом теле объекта сперва 2 чексуммы(вертексов и фейсов) пишем, затем оба блока. ли как-то так. попробуй.
По scene (0D) коммент есть, прокомментировать доп-но уже не могу, не помню. скорее всего выискивал в памяти и смотрел че там в кешированной форме напихано(примсекторы описаны как-то).
Frame_volume не найдено в игре. хз че. может думми-вертикальный цилиндр?
grandshot
18.05.2023, 01:34
Хех Да, вот тут описана - https://mafia-game.ru/forum/showpost...&postcount=113
Да вот же нормально читаемый C-код из шаблонов к 010 Editor'у https://github.com/RoadTrain/mafia-formats/blob/master/4ds.bt
Scene2.bin энтити описаны в HD2 Wiki: https://hd2.fandom.com/wiki/Entities
Получается, можно вообще любой из этих типов запихать в 4ds, если поставить однобайтовый флаг и попасть в структуру? Даже model_obj - будет одна модель вызывать другую ?
Нужно знать точную структуру чтобы заработало. В Scene2.bin структура Энтити другая. Там все разделено на блоки и подблоки. Перед каждым блоком указывается размер в байтах (На жаргоне Голода - чексумма). Просто удалить эти размеры и сформировать из энтити 4ds фреймы не получится, так как может отличаться и количество значений-данных, и их порядок. Я когда то пытался угадать структуру Frame Model, добавляя строку с именем стороннего 4ds как "дату" нода. Но так и не получилось, игра такой нод не воспринимала.
Добавлено через 1 минуту
Frame_volume не найдено в игре. хз че. может думми-вертикальный цилиндр?
У меня предположение, что это репрезентаций примитивов коллизии из klz.
Добавлено через 3 минуты
grandshot, значит, в итоге неизвестных версий в тех играх тоже не нашлось?
Да, никаких неизвестных фреймов. Ни Landpatch, ни Area, ни Shadow, ни Projector'a.
репрезентаций примитивов коллизии из klz
Ну да, можно попробовать также указать точку, да радиус в качестве тела объекта.
Сложно только определить, поняла ли оное игра, ведь енто невизуал :)
Ну если мафа прочитает объект, следующий за ним в 4дс, и скрипт-компас в игре волумю тоже увидит(в ненулевых коордах), то норм.
Firefox3860
18.05.2023, 01:40
sector (5) дак енто лайт_сектор и есть. в 4дс у него ж флаг 05.А, он же тоже невизуал, ну да :D
Тень машины, пожалуй, удобно перенести в саму ее. Думаю, схема примерно та же: в самом теле объекта сперва 2 чексуммы(вертексов и фейсов) пишем, затем оба блока. ли как-то так. попробуй.Ладно, надо будет попробовать. Правда, если в машины класть, то, новерное, будет с carindex-ом конфликтовать...
Да вот же нормально читаемый C-код из шаблонов к 010 Editor'у https://github.com/RoadTrain/mafia-formats/blob/master/4ds.btНу да, они у меня есть, но ссылки не было под рукой.
Нужно знать точную структуру чтобы заработало. В Scene2.bin структура Энтити другая. Там все разделено на блоки и подблоки. Перед каждым блоком указывается размер в байтах (На жаргоне Голода - чексумма). Просто удалить эти размеры и сформировать из энтити 4ds фреймы не получится, так как может отличаться и количество значений-данных, и их порядок.Ага, ну я и говорю, что надо попасть в структуру, со Scene2 тоже знаком.
А я ещё знаете, что хотел спросить, геометрия city_music может быть невыпуклой? И могут ли в одном таком фрейме быть фактически 2 области? Я как-то пробовал так сделать (не в 4ds, а только в scene2). Есть 2 области (оаквуд в городе и около мотеля за городом), где одна и та же музыка звучит. Вот хотел их объединить, чтоб дополнительно музыкальный файл в мод не класть. Но почему-то не работало нормально. Вот и думаю, может, она работает только когда геометрия выпуклая (когда нету как-бы углублений). Но может и ошибок наделал при соединении, не знаю.
И у лайт-сектора требуется ли определённый жёсткий порядок перечисления вершин/фейсов? Если, допустим, просто перенести их блоки из стандартного визуала (исключив из вершин нормали), то будет сектор работать? Или придётся переделывать?
будет с carindex-ом конфликтовать
надо тестить, ставя машину через сцену2 с нерегенным именем модели. для этого и удобна мб такая тень будет, иначе ж тени у таких машин нету.
у лайт-сектора требуется ли определённый жёсткий порядок перечисления вершин/фейсов?
да.
grandshot
18.05.2023, 01:47
Firefox3860, вероятно, структура frame_area точно такая же как у окклюдеров. Потому что их энтити в 4ds схожи.
Firefox3860
18.05.2023, 01:55
Firefox3860, вероятно, структура frame_area точно такая же как у окклюдеров. Потому что их энтити в 4ds схожи.Я тогда даже её понял, сделал в занозе свою область по нужной форме и перенёс в scene2 по его структуре. Но работало очень криво. Посмотрел на форму, многоугольник в её проекции на x-z был невыпуклый. Тогда раздедил на несколько выпуклых - и всё стало отлично. Поэтому, наверное, и объединение не сработало...
да.Круто :D А какой этот порядок, известно?
А какой этот порядок, известно?
а хрен знат. я када делал в гексе то копировал с оригинала порядки.
Но может самому мешу пофиг как(можно с занозы взять его), но с лайт_окнами сложнее.
grandshot
18.05.2023, 15:45
Ну да, можно попробовать также указать точку, да радиус в качестве тела объекта.
Дополнил свою ida базу по твоим "Запискам натуралиста". Но это конструкторы которые задают структуры для экземпляров объектов (может классы), и размерами не соответствуют Фреймам из 4ds. Попытался воссоздать структуры Frame_Volume и Frame_Model - успеха нет.
Не помнишь каким способом ты прочитанные модели из памяти дампил? Можно было бы забить неизвестные структуры определенными байтами, а затем с их помощью размеры структур и некоторых значений определить по тому что будет в дампе.
Ммм поясняю: объект(фрейм) в памяти - ето уже его кешированная(загруженная) форма.
Там своя структура, подстановкой значений можно лишь выяснить, что данная ячейка хранит за инфу, но енто все не даст структур файлов упаковки данных(4дс, бин и пр.).
Для структур надо искать программы чтения файлов, в теории.
С другой стороны, при генерации фрейма\актора отуда-то инфу надо брать. либо из файлов, либо из некого прекешированного массива.
grandshot
22.05.2023, 22:04
Зарубежные товарищи тоже активизировались.
Asa-sk выложил видеотуториал про создание секторов:
iQu6ge8XENQ
BOZ-прога ж умеет тож делать сектора, где-то есть туториал. я как-то тестил, работало. там лайт_окна ложатся как лоды в объект, и прога конверит.
grandshot
22.05.2023, 23:26
GOLOD55, все же это костыльно реализовано. Лучше из 3д редактора напрямую экспортировать.
Firefox3860
23.05.2023, 04:42
GOLOD55, если ты про ls3d sandbox, то я тоже тестил, работало, но у неё прикол в том, что она похоже, берёт вершины для сектора не прямо из созданной заготовки, а измеряет её по min/max-координатам. То есть создать в ней сектор со стенами, не параллельными осям координат, невозможно. Ну у меня не получилось.
А насчёт этого способа из видео не знаю, ещё сам его не пробовал.
GOLOD55, если ты про ls3d sandbox, то я тоже тестил, работало, но у неё прикол в том, что она похоже, берёт вершины для сектора не прямо из созданной заготовки, а измеряет её по min/max-координатам. То есть создать в ней сектор со стенами, не параллельными осям координат, невозможно. Ну у меня не получилось.
А насчёт этого способа из видео не знаю, ещё сам его не пробовал.
способ на видео уже старый, он максимально простой и рабочий
vBulletin® v3.8.11 Release Candidate 2, Copyright ©2000-2025, vBulletin Solutions Inc. Перевод: zCarot