AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Ил-2 Штурмовик: Забытые Сражения (http://forum.aviaskins.com/forumdisplay.php?f=15)
-   -   NB79 Tool - разработка) (http://forum.aviaskins.com/showthread.php?t=4152)

ГРОХОТ 03.09.2015 15:27

NB79 Tool - разработка)
 
Цитата:

Сообщение от NB79 (Сообщение 144801)
Однако, "Перспективы". :)

Вот такое хреновое лет

NB79 03.09.2015 16:24

NB79 Tool - разработка)
 
Старые дела меня мало заботят. Чё это "курить" то без конца. :)

У меня вопрос: Нужен ли апчественности конвертер мешей из текстового иловского формата в бинарный? И стОит ли мне этим заморачиваться? :)

Sita. 03.09.2015 16:53

Цитата:

Сообщение от NB79 (Сообщение 144812)
Старые дела меня мало заботят. Чё это "курить" то без конца. :)

У меня вопрос: Нужен ли апчественности конвертер мешей из текстового иловского формата в бинарный? И стОит ли мне этим заморачиваться? :)

Нужен. с этим постоянно траблы, с коллегой поговорю. может скажет что именно надо.

NB79 03.09.2015 17:22

Цитата:

Сообщение от Sita. (Сообщение 144813)
Нужен. с этим постоянно траблы, с коллегой поговорю. может скажет что именно надо.

Значит, готовься тестировать. :) Сейчас свободного времени мало, думаю, что через недельку буду готов выдать.

Sita. 03.09.2015 18:25

ну ты не спеши,я человека спросил, может он подскажет на что внимание обратить. ибо я с этим процессом сам лично не сталкивался, надеюсь коллеги подскажут
Спасибо за готовность)

Sita. 03.09.2015 21:21

Слушай ... переговорил с товарищами ... и на самом деле я прочёл твой пост так как хотел его видеть а не как ты написал увы ... сам себе недопонимание создал ...

в общем нам бы какую нибудь хреновину для конвертирования бинарников во вменяемые текстовые файлы .... вот это было бы пользительно...

NB79 03.09.2015 22:56

Цитата:

Сообщение от Sita. (Сообщение 144818)
в общем нам бы какую нибудь хреновину для конвертирования бинарников во вменяемые текстовые файлы .... вот это было бы пользительно...

Ну, по сути, что из бин в текст, что на оборот - разницы нет. Алгоритмы то, обратимые. :)

Я так понимаю, что вам надо именно иловские ".msh" конвертить в текстовый вид? Если да, то осталось понять, что ты имеешь ввиду под "вменяемые"? :) Потому что то, о чём ты говоришь, похоже уже сделано. :)

NB79 03.09.2015 23:15

Вложений: 1
Посмотри, так ли всё, как надо. Если всё нормально, то добавлю кнопку записи.

NB: Важно. Материалы и текстуры должны лежать так, как они лежат в игре. Т.е., иерархия каталогов должна совпадать с игровой. Имена файлов должны быть не хешированные (это связано с тем, что открывать файлы можно по любому не фиксированному пути).

Ну и открываются отдельные меши, him/sim пока не делал.

Sita. 03.09.2015 23:22

ого какая штуковина ... по интерфейсу мне показаллась приятнее меш конвертора ...

Sita. 03.09.2015 23:26

а под 32-х битную ось можно?

нам то да .. нужна штука в основном для корректного выдёргивания мешей... и их трансплантации в макс для вменяемой работы ... а то сорсов у нас раз два и обчёлся ... а при обратном импорте оно не позволяет работать с бинарными мешами

Sita. 03.09.2015 23:27

афигеть.. вот что значит люди смыслящие в коде ...

yt2 03.09.2015 23:31

program must be run under Win64
На 32битных не идёт.

Смысл программы? Цель? Для чего она? Какая задумка?
Я пока не очень понимаю.

Есть схожие проги Мешконвертер, Sknill и вроде ТоталМоддер.
самый главный косяк мешконвертора, он некорректно извлекает дистанции лодов, забывая последний, и иногда лепит вместо корректных значений чепуху. Но в принципе с задачей распаковки бинарных мешей справляется.
Вьюер у него голимый, но можно по-быстрому посмотреть нужный элемент. Из плюсов может читать целиком hier'ы.
Sknill больше заточена под нужды скинеров, но можно подсунуть ей и танк вместо самолёта при желании. Сам вьюер весьма адекватный. Хотя прога никакими преобразованиями мешей не занимается.
Тоталмоддер или что-то похожее живёт на САС и там тож задумки похожие.

Sita. 03.09.2015 23:34

вот уже более квалифицированное мнение ... я то так ... глаза таращу от восторга и не понимания происходящего.. .чую что то полезное зарождается ..но что и куда направить пока не знаю .. ибо с кодами не дружу ...

NB79 03.09.2015 23:35

Цитата:

Сообщение от Sita. (Сообщение 144823)
а под 32-х битную ось можно?

Завтра компильну - посмотрю. :) Я, честно говоря, на 32 бита уже забил давно. Как-то смысла в этом уже не вижу. Но, по моему, ничего специфичного 64-х битного тут у меня нет.

Так ты скажи, так пойдёт? Если да, то завтра добавлю кнопку записи.

Sita. 03.09.2015 23:43

Цитата:

Сообщение от NB79 (Сообщение 144827)
Завтра компильну - посмотрю. :) Я, честно говоря, на 32 бита уже забил давно. Как-то смысла в этом уже не вижу. Но, по моему, ничего специфичного 64-х битного тут у меня нет.

Так ты скажи, так пойдёт? Если да, то завтра добавлю кнопку записи.

как я выше написал ... я с кодом .. .с выдёргиванием из ила мешей сталкиваюсь мало ..точнее как .. в связи с тем что я модить не умел никогда ... я этого избегаю просто . .и делаю за частую что то своё и с нуля ....

конкретно пойдёт не пойдёт я сказать не могу ... Ут2 в этом разбирается куда лучше ... в этом вопросе лучше на него ориентироваться ...


опять же как сказал выше ... чую есть какая то польза в этом движении ... может получиться что то полезное и хорошее... но у меня это чисто на эмпирическом уровне ... конкретные инструкции и чёткую оценку может дать Ут2 ...

за труды и неравнодушие Спасибо Огромное ... тем более такое квалифицированное неравнодушие)

NB79 03.09.2015 23:43

Цитата:

Сообщение от yt2 (Сообщение 144825)
самый главный косяк мешконвертора, он некорректно извлекает дистанции лодов, забывая последний, и иногда лепит вместо корректных значений чепуху.

Он не только дистанции лодов теряет.

Сделать открытие him/sim можно, меня сейчас больше интересовало сделать правильное открытии именно msh, чтоб всё читалось правильно. Формат бинарных мешей не шибко сложный, но геморройный в плане нишпигованности всякими трюками. :) В нём есть специфичные места, которые MeshConverter обрабатывает неверно.

NB79 03.09.2015 23:59

Вложений: 1
Не стал ждать до завтра. :) В аттаче 32-х битная версия.

Sita. 04.09.2015 00:07

оперативно))

carsmaster 04.09.2015 16:43

to NB79

Я думаю надо добавлять кнопку записывания в текстовый меш.
Чтобы посмотреть как записывает все.
Если все получится и писать корректно будет, то ваша работа окажется весьма полезной.

NB79 04.09.2015 22:00

Кнопку добавлю.
Хотел сегодня, но не получилось, простудился похоже. :(

Sita. 04.09.2015 22:33

эт да .. береги себя)

NB79 04.09.2015 23:42

Спасибо за заботу. :)

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

У меня по записи два варианта в голове:

Первый: Просто записываем меш в текстовом виде, туда, куда выбрали в диалоге.
Записывается только он, материалы и текстуры не копируются. Это уже сделано, тока кнопку добавить.

Второй: Выбрали путь для записи и по этому пути записывается вся связанная с мешем структура файлов и каталогов. Типа, экспорт.

Что, на самом деле нужно? Не очень мне понятно, что вы под "записью" подразумеваете. :)

carsmaster 04.09.2015 23:53

Цитата:

Сообщение от NB79 (Сообщение 144849)
У меня непонятка в голове. Как эту конвертацию предполагается использовать?

Выскажу только свое мнение.
1. Уже имеющийся меш конвертер в публичном доступе лажает в чтении некоторых мешей бинарных в плане дистанций лодов и маппинга.

2. учитывая пункт 1 меш конвертер лажает при сохранении в форматы 3ds или obj для последующих правок и изменений.

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

Все описанное нужно для правки, изменений стандартных мешей в игре и последующего возврата меша в игру в улучшенном виде.

ПЫ СЫ

Имхо заморачиваться с сохранением материалов, текстур лишнее.

Главное корректный текстовик меша, а из него все вытягивается по названию материала и далее текстуры.

NB79 05.09.2015 00:12

Ага, понял. Ну, так ещё и проще получается. Если завтра выйду из коматоза, то выложу с версию записью.

Теоретически, можно будет и сразу в Waveform или 3ds писать. Но там, как я понимаю, и параметры материалов сохранять надо. А я пока из материалов только имена текстур беру.

carsmaster 05.09.2015 00:29

Цитата:

Сообщение от NB79 (Сообщение 144851)
Теоретически, можно будет и сразу в Waveform или 3ds писать. Но там, как я понимаю, и параметры материалов сохранять надо. А я пока из материалов только имена текстур беру.

1.Ну насколько мне известно материалы в ИЛ-2 строго свои и все параметры и так указваются для игры в самом файле .mat( откуда ты и берещь текстуру)

2. Ну насколько мне известно (и мой опыт это подтверждает) в самом меше нифига нет ничего про материалы(настройки). Ибо движок игры все равно будет искать все настройки в файле . mat название которого да есть в меше, но не более.

3. Если в 3ds переводить прогой вашей, то пусть это будет как ДОПОЛНИТЕЛЬНАЯ функция по выбору. Да материал хоть стандартный максовский пусть указан там будет. Все равно при последующей работе в МАКСЕ с этим 3ds пофиг все равно желающие сами назначат и присвоят мешу в максе нужный материал

Гуру 3Д налетай, подсказывай, поправляй меня для общего блага.

NB79 05.09.2015 01:25

Цитата:

Сообщение от carsmaster (Сообщение 144854)
2. Ну насколько мне известно (и мой опыт это подтверждает) в самом меше нифига нет ничего про материалы(настройки). Ибо движок игры все равно будет искать все настройки в файле . mat название которого да есть в меше, но не более.

В меше только имя материала, это так. Но зато в максовском формате для материала есть, как минимум, параметры для света, которые присутствуют в mat (всякие ambient, diffese, specular и прочее). В Waveform .obj тоже, вроде есть. Я, конечно, не знаю, на сколько это всё важно, моделингом я никогда не занимался и смотрю на это исключительно со стороны формата файлов, как программист. Не надо - мне проще. :)

Sita. 05.09.2015 03:19

Цитата:

Сообщение от NB79 (Сообщение 144851)

Теоретически, можно будет и сразу в Waveform или 3ds писать.

а обдж? (obj)

NB79 05.09.2015 14:54

Цитата:

Сообщение от Sita. (Сообщение 144856)
а обдж? (obj)

Это и есть Waveform. Он попроще максовского, наверное его добавлю в первую очередь. Но не сейчас. Сейчас мне надо разобраться с параметрами материалов. Их, параметров, довольно много и среди них есть не очень мне понятные. А от них, как раз, сильно зависит то, как моделька будет отрисовываться.

Сейчас выложу версии с записью текстовых мешей. Плюс, добавил вычитывание некоторых параметров из материалов. С альфатестом вроде разобрался. А вот с блендингом есть непонятки. Ключ, который его включает/отключает ясен. Но какие параметры для glBlendFunc задавать не ясно. Из-за этой неопределённости пока задаю обычно используемые. Но эффект явно не тот, что в игре. Надо разбираться.

NB79 05.09.2015 15:02

Вложений: 2
В аттаче версии с записью текстовых мешей.

NB: Важно! Текстовые меши я пока не открываю. Надо будет добавить их открытие.
Поскольку бакап при перезаписи (если в каталоге есть файл с таким именем) я не делаю, то будьте внимательны при сохранении, не перезаписывайте бинарный меш текстовым. А лучше всего - всегда работайте с копиями оригинальных файлов.

Sita. 05.09.2015 15:14

у меня одного вращение по оси X и Z происходит по одной и той же оси?

и такой глупый вопрос... при открытии бинарного меша меш должен стоять в центре координат и направлен по нужным осям?

NB79 05.09.2015 16:06

Вращение по разным осям.

На самом деле я при отрисовке модели её сдвигаю относительно её оригинальных координат, чтобы он попадала в центр экрана. В противном случае, очень часто модель оказывается за границами области видимости. Например, Ласточкино Гнездо поднято сильно наверх, какие-то другие - на оборот, вниз. Это от того, что матрица трансформации, описывающая положение и направление вектора поворота модели, задаётся не в модели, а him/sim файле.

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

Sita. 05.09.2015 17:49

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

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

Sita. 05.09.2015 17:54

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

NB79 05.09.2015 18:35

Цитата:

Сообщение от Sita. (Сообщение 144884)
т.е. в идеале как я себе это ( возможно не очень правильно ) вижу.... можно ли сделать из этого, на основе этого, или прям в нём, утилиту позволяющую мне скажем выдернув из ила бинарники, корректно их перегнать в обдж .... без потери материалов ( хотя бы айди ) и избежав сброса мапинга, уже после всего этого, открыт максом, сделать то что мне необходимо, сохранить в максе в обдж обратно и вернуть видимо через эту же утилиту в бинарник и воткнуть редактированный меш уже в игру тем самым ... такое возможно?

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

А вообще, это всё родилось из любопытства. :) Опыт программирования у меня большой, но 3Д графикой раньше никогда не занимался. Интересная тема, удовлетворяю своё любопытство и много интересного узнаю. :)

carsmaster 05.09.2015 19:05

Ни сколь не претендую на право называться специалистом 3Д,но..

1. Мне кажется записывать в текстовой форме стоит вот так :

[Common]
NumBones 0
FramesType Single
NumFrames 1

[LOD]
0

[Materials]
Baklan

[FaceGroups]
746 815
0 0 746 0 815 0

[Vertices_Frame0]
0.481806 -0.213426 0.239417 -0.982922 0.184012 -0.001711


тоесть сами данные начинать писать без смещения строки от края на один символ У ВСЕХ строк, так как я показал в примере.
У Вас сами данные(цифры) записываются со смещением на один символ


2. Стоит дописывать в самый конец-текста(внизу) в конец всего текста ; eof

вот так :
.
.

[LOD3_Faces]
2 3 0
1 2 0

[LOD3_ShVertices_Frame0]

[LOD3_ShFaces]
2 3 0
1 2 0


; eof



3. Обязательно сохраните возможность записывать меш в текстовом формате ! Даже если начнете расширять возможности программы до экспорта-импорта.

а) по желанию записать меш в текстовик

б) по желанию записать меш в бинарник

Спасибо за желание сотворить полезную программку.

Sita. 05.09.2015 19:45

Цитата:

Сообщение от NB79 (Сообщение 144886)
Я, в принципе, примерно этого и хочу добиться. Модель я сохраняю вообще без изменений, такой, какая он в бинарнике. То, что её можно покрутить, это чисто отрисовка не влияющая на её содержимое. Как конечную цель - хочу добиться открытия полной модели (him/sim) и возможность её экспорта/импорта. в разные форматы. Но поскольку раньше я 3Д не занимался, то это всё не быстро происходит. Очень много новой информации и мало собственных наработок по этой теме. Очень объёмная тема и достаточно сложная.

А вообще, это всё родилось из любопытства. :) Опыт программирования у меня большой, но 3Д графикой раньше никогда не занимался. Интересная тема, удовлетворяю своё любопытство и много интересного узнаю. :)

Достойно и в крайней степени уважительно :good:

вот у меня ни в кодинге ни в среднем звене (имею в виду импорт\экспорт) знаний нет .... фотошоп и макс это ко мне...
тут чем смогу подскажу.... касательно того что может происходить и как это работает ...

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

NB79 05.09.2015 20:00

Цитата:

Сообщение от carsmaster (Сообщение 144888)
Ни сколь не претендую на право называться специалистом 3Д,но..

Отступы уберу. Это осталось от более читабельного форматирования. eof в конце закомментирован, он не читается ни где и, похоже, просто рудимент от каких-то экспериментов. Но если надо, то добавлю, хоть это и бессмысленно. ;)

Меня сейчас больше интересует, правильно ли всё перегоняется. Максов/Блендеров у меня нет и я в них всё равно ничерта не понимаю. Семафорте, всё ли правильно записывается.

yt2 05.09.2015 21:36

Думаю целесообразно все посты про прогу N79 переместить в отдельную тему. Это тема всё же непрофильная.

carsmaster 05.09.2015 22:34

Вложений: 1
to NB79
1. Попробовали сохранять вашей программой в текстовые меши, сохраняет даже те меши, которые имеющийся меш конвертер сохранял коряво оставляя секцию
[Vertices_Frame0]
.
пустую без цифр, только заголовок сохранялся меш конвертером и все

ваша программы все увидела в бинарнике и записало все правильно в виде

[Vertices_Frame0]
-40 0 0 0 0 1
-40 -40 0 0 0 1
0 -40 0 0 0 1
0 0 0 0 0 1


2. Игра ИЛ-2 считает все в метрах с точностью до 6 знака после запятой
Соответственно учитывая наверное это вот секция сохраненная имеющимся меш конвертером

[MaterialMapping]
1 0
0.4999847 0
0.4999847 0.4999847
1 0.4999847

вот тот же самый меш сохраненный вашей программой

[MaterialMapping]
1.00002 0
0.5 0
0.5 0.5
1.00002 0.5

Может стоит последовать примеру создателей имеющегося меш конвертера в плане точности ?

3. Стоит попробовать добавить функции в вашу программу:

а) сохранить как 3ds

б) сохранить как obj

Причем из настроек материалов пусть будет записано в эти форматы только названия материалов,что в самом меше указанны(меш конвертер при слхранении в 3ds тупо просто указывает и присваивает те материалы что были для меща изначально)

Если обязательно указывать параметры настроек материалов при записи в форматы 3 ds или obj, то пусть тупо записываются какие нибудь , хоть основные из того же файла . mat.

4. Ну вообще было бы "песня лебединая" ,если бы можно было бы в программе:

4.1 скормить программе файл 3ds или obj

4.2 выбрать вариант сохранения или в бинарный меш или в текстовый

Пока по первичным тестам ваша программа маппинг не ломает , может еще люди подключатся и протестируют на примере сложных мешей.

Вот запакованный скриншот , как меш конвертер сохраняет в 3ds ,он тупо сохраняет все материалы, как СТАНДАРТНЫЕ для 3д макса

Это скринщот из 3Д макса, тоесть мне кажется пусть ваша прога сохраняет запись о материалах в форматах 3ds и obj как СТАНДАРТНЫЕ для 3д макса.

Sita. 05.09.2015 22:56

Цитата:

Сообщение от yt2 (Сообщение 144892)
Думаю целесообразно все посты про прогу N79 переместить в отдельную тему. Это тема всё же непрофильная.


Поддерживаю. но тут же в разделе оставить. глубоко не убирая.

Цитата:

Сообщение от carsmaster (Сообщение 144893)
to NB79
1. Попробовали сохранять вашей программой в текстовые меши, сохраняет даже те меши, которые имеющийся меш конвертер сохранял коряво оставляя секцию
[Vertices_Frame0]
.
пустую без цифр, только заголовок сохранялся меш конвертером и все

2. Игра ИЛ-2 считает все в метрах с точностью до 6 знака после запятой
Соответственно учитывая наверное это вот секция сохраненная меш конвертером

[MaterialMapping]
1 0
0.4999847 0
0.4999847 0.4999847
1 0.4999847

вот тот же самый меш сохраненный вашей программой
[MaterialMapping]
1.00002 0
0.5 0
0.5 0.5
1.00002 0.5

Может стоит последовать примеру создателей имеющегося меш конвертера в плане точности ?

3. Стоит попробовать добавить функции в вашу программу:

а) сохранить как 3ds

б) сохранить как obj

Причем из настроек материалов пусть будет записано в эти форматы только названия материалов,что в самом меше указанны

Если обязательно указывать параметры настроек материалов при записи в форматы 3 ds или obj, то пусть тупо записываются какие нибудь , хоть основные из того же файла . mat.

4. Ну вообще было бы "песня лебединая" ,если бы можно было бы в программе:

а) скормить программе файл 3ds или obj

б) выбрать вариант сохранения или в бинарный меш или в текстовый

Да поковыряли с Серёгой .... штука занимательная ... в данный момент как фильтр -стабилизатор межу бинарником и меш конвертером получается ...

функцию сохранения в 3дс или обдж было бы классно иметь.... совсем идеал это если в какой нибудь макс 9 серии сохранялось бы .. но это уже конечно утопия ...

в идеале было бы пользительно избежать звена мешконверетера совсем ...


ибо на данный момент получается что выдерни из ила=>прогони через NB79 Tool в текст => открой мешконвертером => пересохрани в 3дс для макса => открой в максе ...


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

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot