Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Модификации (https://mafia-game.ru/forum/forumdisplay.php?f=9)
-   -   Конвертер мешей в окклюдеры для 4ds (https://mafia-game.ru/forum/showthread.php?t=679)

admpos 20.08.2019 06:26

Конвертер мешей в окклюдеры для 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: новая версия

Firefox3860 20.08.2019 15:09

Вот это дело, спасибо :)
а размер окклюдеров не изменяет программа при конвертировании? вершины берёт какие есть в объекте, без смешения? я вот сделал одинаковые кубы, и один из них сконвертировал. как будто сам окклюдер стал меньше, а верхняя граница - почему-то выше. или игра так отрисовывает?..

https://mafia-game.ru/forum/imgcache...teukyeksjs.jpg https://mafia-game.ru/forum/imgcache...egzpjeret3.jpg https://mafia-game.ru/forum/imgcache...vxytqfxmup.jpg

Конвертер квата тоже пригодится, жаль что только онлайновый правильный. помню, один раз мне вообще пришлось вручную кват считать :D (хорошо одна ось была). а в оснвном я мве использую для этих целей :)

admpos 21.08.2019 05:45

перепроверил. вроде всё норм, вершины копируются как есть. побайтово сравнил исходник и конверт - совпадает. так что я склонен валить всё на игру :D
а так да, тоже с этим столкнулся. рабочая зона окклюдера явно не совпадает с размерами :( чтоб не заслонялся оак хилл на видео, я соответствующий окклюдер опускал с -6 до -15

Melhior 21.08.2019 09:04

Можно на другой файлообменник загрузить? У меня с мэйл.ру не хочет скачиваться, почему то.

admpos 21.08.2019 16:41

Цитата:

Сообщение от Melhior (Сообщение 6681)
Можно на другой файлообменник загрузить?

можно :) добавил на яндекс

admpos 10.05.2023 14:47

не прошло и 5 лет, и подъехала новая версия :) теперь это не узкоспециализированный конвертер, а еще один редактор 4ds (ведь это именно то, чего не хватало в 2023?)

mail.ru yandex.ru
архив защищен мегапаролем 1234, потому что mail.ru находит там вирус и не дает расшарить. вирусов там нет (ну, я не добавлял), верьте мне! :D антивирусы от мс не находят ничего, других антивирей под рукой нет

https://mafia-game.ru/forum/imgcache...ywcugcdytw.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...&postcount=110

C# и winforms. Недавно как раз только сохранение в ней дописал.

Я пока ещё не все функции твоей проги просмотрел, но как понял, типы объектв она должна все читать, включая части тел людей и животных, их кости и target-объекты. Пока увидел, что открывает не все файлы нормально. Некоторые локации с лайтсекторами, например, - объекты прочитать не может. Модель Тома не открывает - на каком-то из объектов сбивается. На морфинге в одной из локаций тоже сбилась. Не знаю, это из-за тех шаблонов ли, сам их ещё не рассматривал подробно.
Ещё, кстати, последний байт (один или несколько) в модели не обязателен, его может и не быть.

____
А, морфинг вроде и не разобран, ну понятно, тогда на будущее.

grandshot 11.05.2023 00:29

Цитата:

Сообщение от Firefox3860 (Сообщение 19933)
Питон это ругательство (ну, по крайней мере, для меня, уж извините )

Ну всё. Такого нахальства я так просто оставить не могу.
Теперь я тоже напишу свой 4ds менеджер на Питоне :D

Firefox3860 11.05.2023 03:04

Цитата:

Сообщение от grandshot (Сообщение 19934)
Ну всё. Такого нахальства я так просто оставить не могу.
Теперь я тоже напишу свой 4ds менеджер на Питоне :D

Во, круто, чем больше конкуренция, тем чаще и я буду своей прогой заниматься, так что давай скорее! :D

admpos 11.05.2023 11:47

вот слов нет, одни эмоции. и где вы все были раньше? у меня есть пачка пожеланий к будущим редакторам! :D

питон, конечно, лучше, когда его знаешь. а вот еще sql хорош, и его я даже знаю, а толку. кстати, структура 4дс вообще отлично легла бы в базу данных, но я не смог sqlite прикрутить

Цитата:

Сообщение от Firefox3860 (Сообщение 19933)
А, морфинг вроде и не разобран, ну понятно, тогда на будущее.

некоторые типы пока не поддерживаются, не помню точно какие. но у меня записано :)
если в файле нет последнего байта - считается, что там 0. при записи после последнего байта дописывается еще один 0.

о, вот еще что забыл. если выбираешь "сохранить как" - в timestamp принудительно проставляется 0xFFFFFFFFFFFFFFFF, аналогично 4ds_unlocker'у, иначе заноза отказывается открывать файл

Kardini 11.05.2023 12:15

Цитата:

Сообщение от grandshot (Сообщение 19934)
Ну всё. Такого нахальства я так просто оставить не могу.
Теперь я тоже напишу свой 4ds менеджер на Питоне :D

Лучше допишите boz'овскую читалку .4ds внутрь блендера. Она афигенная, но скелетки и морфинга там очень не хватает. Просто буквально порвёте мир моддинга :D :beer:
Там как раз питон

grandshot 11.05.2023 14:21

Kardini, Я лучше с нуля свою версию сделаю, чтобы разобраться как писать плагины для блендера :)

Firefox3860 11.05.2023 17:12

Цитата:

Сообщение от admpos (Сообщение 19936)
вот слов нет, одни эмоции. и где вы все были раньше? у меня есть пачка пожеланий к будущим редакторам! :D

Так здесь и были... А кое-кто другой, наверное, где-то пропадал :D
Пожелания всегда готов выслушать ;)

Цитата:

Сообщение от admpos (Сообщение 19936)
если в файле нет последнего байта - считается, что там 0. при записи после последнего байта дописывается еще один 0.

Странно, я если что имею в виду тот байт, который идёт сразу после номера материала последней фейсгруппы последнего лода последнего объекта. И отвечает он вроде как за то, проигрывает ли модель анимацию. У меня твоя прога бунтует при чтении файла без него, что она ну никак не ожидала такого скорого завершения файла... А после добавления этого байта бунт сразу же прекращается :)

Цитата:

Сообщение от admpos (Сообщение 19936)
о, вот еще что забыл. если выбираешь "сохранить как" - в timestamp принудительно проставляется 0xFFFFFFFFFFFFFFFF, аналогично 4ds_unlocker'у, иначе заноза отказывается открывать файл

Кстати, как раз эта временная метка интересовала. В каком формате она пишется, как её можно расшифровать?

grandshot 11.05.2023 21:08

Цитата:

Сообщение от Firefox3860 (Сообщение 19941)
В каком формате она пишется, как её можно расшифровать?

Это 64-х битный FILETIME. Вся информация в доке. 010 Editor понимает и отображает этот тип данных.

grandshot 12.05.2023 00:25

Вложений: 1
Парсер моделей готов :)

https://mafia-game.ru/forum/attachme...1&d=1683840323

Firefox3860 12.05.2023 00:39

Цитата:

Сообщение от grandshot (Сообщение 19943)
Парсер моделей готов :)

Ох ё, я, конечно, не имел в виду настолько скорее :D Круто! А что, уже полностью - все типы объектов (и морфинг, и части тел, и кости, и target-ы)? Только чтение или запись уже тоже? :D

А у тебя есть информация по всем битовым флагам материала, за что конкретно они отвечают?

grandshot 12.05.2023 00:57

Да, читает все. Теперь буду писать экспорт.

Цитата:

Сообщение от Firefox3860 (Сообщение 19944)
А у тебя есть информация по всем битовым флагам материала, за что конкретно они отвечают?

Я инфу по материалам уже давно в моддинг вики постил. Остальную спецификацию формата обновить так никогда руки и не доходили :D

GOLOD55 13.05.2023 08:32

хы движуха какая-то движится:)

grandshot 13.05.2023 13:20

Вложений: 3
Цитата:

Сообщение от GOLOD55 (Сообщение 19951)
хы движуха какая-то движится:)

Вот если бы кто нибудь LS3DF.dll среверсил - была бы настоящая движуха)

Там много всего интересного. К примеру, фрейм объект Landscape, представляющий собой интерпретацию террейна из первого H&D () (Принимает четыре текстуры и одну текстуру детализации).

Или другой объект Particle element, представляющий собой аналог партикла из scene2.

Либо объект тени(I3D_VISUAL_SHADOW), который может быть как аналогом 6ds файла, так и лайтмапом.

А еще интересно, что при определенном типе сектора в нем мог идти настоящий снег, использующий текстуру Snow.tga, а не имитация из дождя.

4ds моделей с этими объектами в играх на двиге не встречается, поэтому единственный вариант остается получить структуры реверсом. Псевдокод в этом деле не помощник, придется дизассемблировать. Кто умеет? :)

GOLOD55 14.05.2023 06:44

LS3DF.dll занимается лишь рендерингом, сами объекты-то(фреймы) подсовывает екзе.
Landscape вроде только и неизвестен как фрейм ога, но вряд ли там че тересное.

grandshot 14.05.2023 23:27

Вложений: 1
GOLOD55, судя по названиям функций, которые мне удалось восстановить из дебаг принтов, лоадеры структур находятся в LS3DF'е.

И раз фреймов нет в шаблонах hdmaster'a\RoadTrain'a, значит они считаются не разобранными. Другой инфой-то никто публично не делился, если она и есть.

grandshot 16.05.2023 21:17

Вложений: 1
Интересную штуку обнаружил: файл tvoda01.4ds совершенно иной версии 58 (в Мафии 29), использует текстуры tvoda и tvoda1, и был создан 15 марта 2000-го. Движок игры его не воспринимает, так как структура другая. Вероятно, представляет из себя блок воды, возможно даже с морф анимацией как в порту.

Firefox3860 16.05.2023 21:33

Вложений: 1
Цитата:

Сообщение от grandshot (Сообщение 19974)
Интересную штуку обнаружил: файл tvoda01.4ds совершенно иной версии 59 (в Мафии 29), использует текстуры tvoda и tvoda1, и был создан 15 марта 2000-го. Движок игры его не воспринимает, так как структура другая. Вероятно, представляет из себя блок воды, возможно даже с морф анимацией как в порту.

Ага, я тоже этот файл заметил, только его версия 58, а не 59 :) Кстати, ещё у какого-то файла тоже из мафии нашёл версию 27. Формат был тот же, что у 29. Жаль, не записал, какой именно файл. А есть полный список всех известных версий формата в том числе не только из мафии?

Сделал ещё у себя отображение временной метки :) А ты знаешь, как точно в ней указывается, заблокирован файл или нет? Вроде для разблокировки необязательно все 8 байт 0xFF, unlocker там всего какой-то один бит меняет...

grandshot 16.05.2023 22:02

Цитата:

Сообщение от Firefox3860 (Сообщение 19975)
А есть полный список всех известных версий формата в том числе не только из мафии?

Пока известно лишь то что было в шаблонах, и то что обнаружил: i3d_versions = {27:'Mafia', 29:'Mafia', 41:'HD2', 42:'Chameleon', 58:'MafiaDeprecated'}
Скоро скачаю все игры на двиге и проверю. Из мафии дампнул все модели. Вот, например, таблица с названиями моделей и текстурами: https://docs.google.com/spreadsheets...it?usp=sharing

Поздновато, вероятно, так как ретекстуры уже давно сделаны. Но пусть будет )


Цитата:

Сообщение от Firefox3860 (Сообщение 19975)
А ты знаешь, как точно в ней указывается, заблокирован файл или нет? Вроде для разблокировки необязательно все 8 байт 0xFF, unlocker там всего какой-то один бит меняет

Увы, не знаю. Нужно занозой файл тестить, подменяя по очереди каждый из байтов на 0xFF и проверять импортирует ли.

grandshot 17.05.2023 03:05

Дампы из Hidden & Dangerous 2: https://docs.google.com/spreadsheets...it?usp=sharing

Дампы из Хамелеона: https://docs.google.com/spreadsheets...it?usp=sharing

Подтвердилось, что неизвестных типов фреймов в играх не встречается. Обнаружил лишь сломанную модельку jd_mother.4ds в Хамелеоне, и на этом все (побит фрейм VisualSingleMorph в конце). Wings of War пока не закачалась, но не думаю что в ней чего нового найдется.

Chicago1920 17.05.2023 13:31

Ребят, вы меня простите, а про что вы тут говорите? Ничего не понял, но очень интересно))). Если не сложно, правда, скажите о чем разговор идет?

grandshot 17.05.2023 16:42

Chicago1920, об игровых 3д моделях в специальном формате *.4ds :)

GOLOD55 17.05.2023 21:44

А какой там тип фрейма в 4дс кто-то запихал не так давно, не помню?

Firefox3860 17.05.2023 23:00

Цитата:

Сообщение от GOLOD55 (Сообщение 19983)
А какой там тип фрейма в 4дс кто-то запихал не так давно, не помню?

Окклюдер (флаг 0x0C). В шапке темы, собственно, об этом написано и программа конвертирующая там. admpos и запихал.

Добавлено через 54 секунды
grandshot, значит, в итоге неизвестных версий в тех играх тоже не нашлось?

GOLOD55 17.05.2023 23:58

А, О! хех. А структурка окклюдера в 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

Вложений: 1
Цитата:

Сообщение от GOLOD55 (Сообщение 19986)
А, О! хех. А структурка окклюдера в 4дс где-то описана?

Хех :) Да, вот тут описана - https://mafia-game.ru/forum/showpost...&postcount=113
Или вот во вложении класс из моей проги на c# (если так удобнее) (в языке тип uint/int - 4 байта, а ulong/long - 8 байт).

Цитата:

Сообщение от GOLOD55 (Сообщение 19986)
Инфа из моих записок_натуралиста: ...

Это фрагмент на ассемблере прямо из кода игры, флаги оттуда же взяты?
Получается, можно вообще любой из этих типов запихать в 4ds, если поставить однобайтовый флаг и попасть в структуру? Даже model_obj - будет одна модель вызывать другую :D?

sector (5) - это я так понимаю, запись о звуковых параметрах при нахождении в одноимённом секторе 4ds. Можно было бы их встраивать прямо в модели своих локаций, а не в scene2 :)

shadow (0F) - прямо в модели машин, чтоб 6ds не класть отдельно :) В невизуалах, наверное, потому, что свою геометрию также не отображает, а только эффект даёт, как и окклюдер.

А scene (0D) - это что? Car_particle (11) и Frame_volume (0B) - не одно и тоже?)

GOLOD55 18.05.2023 01:06

Фрагмент - резалт анализа программы генерации невизуалов(из лс3дф судя по всему).

sector (5) дак енто лайт_сектор и есть. в 4дс у него ж флаг 05.

Тень машины, пожалуй, удобно перенести в саму ее. Думаю, схема примерно та же: в самом теле объекта сперва 2 чексуммы(вертексов и фейсов) пишем, затем оба блока. ли как-то так. попробуй.

По scene (0D) коммент есть, прокомментировать доп-но уже не могу, не помню. скорее всего выискивал в памяти и смотрел че там в кешированной форме напихано(примсекторы описаны как-то).
Frame_volume не найдено в игре. хз че. может думми-вертикальный цилиндр?

grandshot 18.05.2023 01:34

Цитата:

Сообщение от Firefox3860 (Сообщение 19987)
Хех Да, вот тут описана - https://mafia-game.ru/forum/showpost...&postcount=113

Да вот же нормально читаемый C-код из шаблонов к 010 Editor'у https://github.com/RoadTrain/mafia-f.../master/4ds.bt

Scene2.bin энтити описаны в HD2 Wiki: https://hd2.fandom.com/wiki/Entities


Цитата:

Сообщение от Firefox3860 (Сообщение 19987)
Получается, можно вообще любой из этих типов запихать в 4ds, если поставить однобайтовый флаг и попасть в структуру? Даже model_obj - будет одна модель вызывать другую ?

Нужно знать точную структуру чтобы заработало. В Scene2.bin структура Энтити другая. Там все разделено на блоки и подблоки. Перед каждым блоком указывается размер в байтах (На жаргоне Голода - чексумма). Просто удалить эти размеры и сформировать из энтити 4ds фреймы не получится, так как может отличаться и количество значений-данных, и их порядок. Я когда то пытался угадать структуру Frame Model, добавляя строку с именем стороннего 4ds как "дату" нода. Но так и не получилось, игра такой нод не воспринимала.

Добавлено через 1 минуту
Цитата:

Сообщение от GOLOD55 (Сообщение 19988)
Frame_volume не найдено в игре. хз че. может думми-вертикальный цилиндр?

У меня предположение, что это репрезентаций примитивов коллизии из klz.

Добавлено через 3 минуты
Цитата:

Сообщение от Firefox3860 (Сообщение 19984)
grandshot, значит, в итоге неизвестных версий в тех играх тоже не нашлось?

Да, никаких неизвестных фреймов. Ни Landpatch, ни Area, ни Shadow, ни Projector'a.

GOLOD55 18.05.2023 01:39

Цитата:

Сообщение от grandshot (Сообщение 19990)
репрезентаций примитивов коллизии из klz

Ну да, можно попробовать также указать точку, да радиус в качестве тела объекта.
Сложно только определить, поняла ли оное игра, ведь енто невизуал :)
Ну если мафа прочитает объект, следующий за ним в 4дс, и скрипт-компас в игре волумю тоже увидит(в ненулевых коордах), то норм.

Firefox3860 18.05.2023 01:40

Цитата:

Сообщение от GOLOD55 (Сообщение 19988)
sector (5) дак енто лайт_сектор и есть. в 4дс у него ж флаг 05.

А, он же тоже невизуал, ну да :D

Цитата:

Сообщение от GOLOD55 (Сообщение 19988)
Тень машины, пожалуй, удобно перенести в саму ее. Думаю, схема примерно та же: в самом теле объекта сперва 2 чексуммы(вертексов и фейсов) пишем, затем оба блока. ли как-то так. попробуй.

Ладно, надо будет попробовать. Правда, если в машины класть, то, новерное, будет с carindex-ом конфликтовать...

Цитата:

Сообщение от grandshot (Сообщение 19990)
Да вот же нормально читаемый C-код из шаблонов к 010 Editor'у https://github.com/RoadTrain/mafia-f.../master/4ds.bt

Ну да, они у меня есть, но ссылки не было под рукой.

Цитата:

Сообщение от grandshot (Сообщение 19990)
Нужно знать точную структуру чтобы заработало. В Scene2.bin структура Энтити другая. Там все разделено на блоки и подблоки. Перед каждым блоком указывается размер в байтах (На жаргоне Голода - чексумма). Просто удалить эти размеры и сформировать из энтити 4ds фреймы не получится, так как может отличаться и количество значений-данных, и их порядок.

Ага, ну я и говорю, что надо попасть в структуру, со Scene2 тоже знаком.

А я ещё знаете, что хотел спросить, геометрия city_music может быть невыпуклой? И могут ли в одном таком фрейме быть фактически 2 области? Я как-то пробовал так сделать (не в 4ds, а только в scene2). Есть 2 области (оаквуд в городе и около мотеля за городом), где одна и та же музыка звучит. Вот хотел их объединить, чтоб дополнительно музыкальный файл в мод не класть. Но почему-то не работало нормально. Вот и думаю, может, она работает только когда геометрия выпуклая (когда нету как-бы углублений). Но может и ошибок наделал при соединении, не знаю.

И у лайт-сектора требуется ли определённый жёсткий порядок перечисления вершин/фейсов? Если, допустим, просто перенести их блоки из стандартного визуала (исключив из вершин нормали), то будет сектор работать? Или придётся переделывать?

GOLOD55 18.05.2023 01:44

Цитата:

Сообщение от Firefox3860 (Сообщение 19994)
будет с carindex-ом конфликтовать

надо тестить, ставя машину через сцену2 с нерегенным именем модели. для этого и удобна мб такая тень будет, иначе ж тени у таких машин нету.
Цитата:

Сообщение от Firefox3860 (Сообщение 19994)
у лайт-сектора требуется ли определённый жёсткий порядок перечисления вершин/фейсов?

да.

grandshot 18.05.2023 01:47

Firefox3860, вероятно, структура frame_area точно такая же как у окклюдеров. Потому что их энтити в 4ds схожи.

Firefox3860 18.05.2023 01:55

Цитата:

Сообщение от grandshot (Сообщение 19996)
Firefox3860, вероятно, структура frame_area точно такая же как у окклюдеров. Потому что их энтити в 4ds схожи.

Я тогда даже её понял, сделал в занозе свою область по нужной форме и перенёс в scene2 по его структуре. Но работало очень криво. Посмотрел на форму, многоугольник в её проекции на x-z был невыпуклый. Тогда раздедил на несколько выпуклых - и всё стало отлично. Поэтому, наверное, и объединение не сработало...

Цитата:

Сообщение от GOLOD55 (Сообщение 19995)
да.

Круто :D А какой этот порядок, известно?

GOLOD55 18.05.2023 02:05

Цитата:

Сообщение от Firefox3860 (Сообщение 19997)
А какой этот порядок, известно?

а хрен знат. я када делал в гексе то копировал с оригинала порядки.
Но может самому мешу пофиг как(можно с занозы взять его), но с лайт_окнами сложнее.


Текущее время: 23:36. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot