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)

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дс для макса => открой в максе ...


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

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