![]() |
Цитата:
ну это вообще идеальный конечно был бы вариант ... но обычно между идеалом и реальностью обычно небольшой люфт - зазор бывает ... ) |
Любые подобные вещи, это компромисс интересов. :)
|
Цитата:
Существует вполне насущная необходимость пакетного преобразования ( или не пакетного, а хотя бы группового или можно банально поддержку командной строки, а батничек то составим к нему ). В твоей проге самый корректный перевод бинарных в текстовые. Необходимость вызвана тем что уже к примеру имеется некоторое количество наработанного материала, который увы в ручном режиме конвертить бинарники в текст это та ещё нудная работёнка не застрахованная от ошибок. Плюс периодически нужны просто корректные текстовые меши, без их импорта в макс. в смысле что то было выдрано из ила ... переработано дополнено исправлено... но что б всё это закомпилить корректно в общую сборку без обработки бинарников в текстовики не представляется возможным .. а в ручную ковырять это ад ... и позволю себе процитировать человека который с этим постоянно сталкивается -- Цитата:
NB79 tool шикарный и давно желанный инструмент... особенно если и правда ты сможешь его сделать таким как планируешь .. это будет просто праздник ... но у нас есть насущные проблемки которые можно было бы избежать не дожидаясь полного функционала так сказать .. вот) ... |
1)текстовые меши - основной формат мешей до их упаковки при сборке патча
2)бинарные меши не принимаются к упаковке 3)текстовые меши можно проверять на ошибки экспорта обычным блокнотом или скриптом: смотреть число лодов, имена коллизий, число коллизий, выставленную дистанцию лодов, список используемых материалов по лодам. Т.е. если я хочу подготовить He111H11 к вставке в патч, мне надо все выдернутые из игры меши (исходников которых у меня нет) перевести в текстовый формат. При этом сохранив тоже имя файла что и у бинарника. В самолёте около 100 составных мешей, если не больше. А если самолётов штук 10? Вот и нужна консольная прога для автоматизации перевода группы бинарных мешей в их текстовые аналоги. |
Ребят, вы не понимаете похоже.
Я занимаюсь этим в свободное от основной работы время. Хобби, это и есть хобби. Это первое. Второе - мой личный интерес. А он, как я уже говорил, заключается в следующем - мне интересно изучить, как 3Д программируется. Вот это и есть "компромисс интересов". То, что вы хотите, получается как производная от того, что хочу я. Ваши интересы мне понятны, но они находятся немного в другой плоскости, чем мои. Написание консольной тулзы для меня превращается в обычную скучную работу, которая мне совершенно не интересна и ненужна, ибо у меня и без этого хватает работы, пусть и творческой, но достаточно рутинной, не содержащей в себе ничего нового. Консольный конвертер для меня ничего нового не содержит, но потребует от меня найти дополнительное кол-во времени на его написание, отлаживание и т.д. Это потребует дополнительное кол-во времени к моей основной работе и хобби. Кроме того, без возможности проверить результаты написание консольного конвертера, а главное - его отладка, займёт на порядок больше времени. Мне же надо где-то смотреть, что получается? А ставить для этого Макс и изучать его - увольте. :) Мне понятны ваши желания, но, уж простите, есть и мои желания и возможности. :) Консольный тул появится только тогда, когда я закончу то, что задумал для себя, уж простите. :) |
ну хотя бы так) ... для нас это точно такое же хобби как и для тебя ... на работе сижу в фотошопе .. хобби тоже с фотошопом ну и 3д максом связано) ...
а так ты прав ... этоименно производная от твоего инструмента .. плагин) |
Так сейчас то, всю модель можно в текстовые меши выгнать за пару кликов. Открыть him и нажать "сохранить как текст". Экспорт из Макса - тоже есть в текстовые меши. Дублировать это всё - смысл от меня ускальзает.
|
это да.... но фишка то в том что уже года два как назад был скажем сделан большой пак самолётов ... которые что б довести до разумного состояния надо переформатировать из бинарников в текстовики ..
ну т.е. если это делать сейчас по новой это двойная работа получается к сожалению ... Мы твою точку зрения поняли)) будем ждать и надеяться) ... |
Цитата:
Попробовал вроде что-то сохранилось в отдельную папку. А ничего что хиер может содержать вперемешку ссылки на текстовые и бинарные меши, или часть мешей указанных в хиере может отсутствовать? Это не повлияет на корректость перевода бинарников в текст? |
Цитата:
При сохранении все меши будут записаны в выбранную директорию в текстовом виде для всего дерева модели. По поводу отсутствия чего-то. Внизу окно лога. Все ошибки и варнинги при открытии сыпятся туда. Если меша нет, то ругнусь туда на отсутствие. Аналогично с материалами. Также туда пишу ошибки и предупреждения об всяких обнаруженных косяках в мешах/химе. |
Поюзал с целью пересохранения в текстовые меши.
1) При чтении хиерхима отсутствующие в исходной папке меши (но указанные в хиерхиме) при сохранении всё же появляются в папке назначения, но они пустые. 2)Диалог сохранения подвисает. Само сохранение выполняется, но окно так и висит 3)Размер главного окна программы не влезает в экран высотой 768пикселей с нижним расположением панели инструментов, становятся недоступными кнопки с крестиком, сворачиванием. 4)Жаль что тулза не открывает некоторые текстовые меши. Например открывает вот такие (это Мараз экспортер) [FaceGroups] 1618 1221 0 0 35 0 28 0 1 35 76 28 72 0 2 111 709 100 441 0 3 820 496 541 394 0 4 1316 147 935 142 0 5 1463 69 1077 64 0 6 1532 86 1141 80 0 а вот на такие ругается (хз чем производился экспорт) в этих мешах почему-то нулей в конце нет. [FaceGroups] 737 360 0 0 702 0 344 1 702 35 344 16 |
Нужен пример файла (текстового меша) на который ругаюсь.
Ограничение по высоте и ширине сделаю поменьше. Диалог сохранения после записи не убирается? Странно. А что за ось? Ну и пустые меши, в принципе, можно не писать. Там немного геморройно проверять, но сделать можно. Если это принципиально важно. Но главное, мне нужен меш, который не открывается/на который ругаюсь. |
Ось XP 32bit. Баги не сильно принципиальные.
Ссылку пришлю ч/з л/с. |
Спасибо! Буду разбираться.
|
Апшипку исправил. :)
Да, всё дело было в том, что в текстовых мешах я ожидал ещё один ноль в конце описания фейсов для материала. Кстати, не понятно, для чего это значение. Может знает кто, для чего оно, а то у меня нет времени с этим разбираться. Новую версию выложу наверное завтра. Сегодня нет времени её собирать. |
Юра Спасибо ещё раз за твой бесценный труд! :good:
|
Цитата:
|
Я сейчас сделал, что читает и с нулём, и без. А записываю всегда с нулём. Непонятное значение, в бинарных мешах оно есть, но для чего - непонятно.
Ну да ладно. Если чего ещё выловите, то кидайте вместе с примером, так быстрее разбираться. |
а правильно я понимаю что NB79 Tool импортит модели меши в масштабе 1 к 1 ? или я путаю? ...
|
Да, всё один к одному. Никаких изменений в модель не вношу.
А вот по поводу диалога при записи, когда он не скрывается. Посмотрел внимательно. Вообще не понятно, должен скрываться. По этому у меня вопрос. - Он всегда не скрывается? Или это происходит иногда? - Если это происходит иногда, то в каких случаях? Связано ли это с каким ни будь конкретным химом/мешем? Если да, то мне бы эту модель для опытов. Просто у меня после записи диалог всегда скрывается и мне не удаётся воспроизвести эту багу. Нужно воспроизвести условия при которых она возникает. PS: Ближе к ночи закину релиз в котором зафиксена ошибка с текстовыми мешами (где нет завершающего нуля в секции фейсов). Попытаюсь ещё поковыряться с диалогом сохранения. Но если ничего не найду, то всё равно выложу. |
я снова извиняюсь... а есть возможность модель в масштабе 20 к 1 импортить? ... как опция хотя бы ... не могу не спросить ...
|
Ну, конечно, возможно. Только для этого надо знать, что под масштабом понимается. :)
Всё дело в том, что изменить масштаб в 3Д можно разными способами. Двумя, как минимум. 1) Через матрицы скалирования. В этом случае сама модель (вершины) остаются не изменёнными, но при выводе на экран модель выводится в соответствии с заданной в матрице величине скалирования по всем осям. Тут есть сложность в перерасчёте матриц трансформации мешей. И не понятно, как, например, Ил будет на эти изменённые матрицы реагировать. 2) Пересчитывать меши (координаты вершин и наверное текстурные координаты). В этом случае модель меняется полностью. Матрицы трансформации, из-за изменения физических размеров модели, тоже надо пересчитывать. В связи с тем, что структура модели Ила не простая, написать процедуру масштабирования не просто. Вернее, в обоиз случаях трудозатратно. Потом можно на эту тему конечно подумать, но пока я это делать не хочу, итак много недоделанного из-за недостатка свободного времени. :( |
я собственно почему спросил то .... моделим для Ила обычно в 20 к 1 ... потому что это удобнее... в 1 к 1 дюже мелко выходит во вьюпорте .. неудобно... ну ладно... до будущего функционала отложим)
|
Вложений: 2
В аттаче новые версии.
- Исправлено чтение текстовых мешей - Сделал по меньше минимально возможные размеры окна - Пишу в лог ошибки при записи файлов. - Не должен записывать пустые меши. - В пред. версиях не правильно грузились скины, если они были. Только один из них (первый) читался высокого разрешения (tgb, если есть в директории). - Исправил биндинг текстур. В некоторых случаях текстуры грузились в память видяхи по несколько раз. Вроде фсьё пока. :) Проверяйте и телеграфируйте сюда. |
Вложений: 1
С диалогом сохранения.
Вот открываю модельку хиерхим, жму сохранить в текст, указываю путь, ОК. Визуально ничего не происходит. Диалог висит. Спустя несколько секунд из папки назначения уже можно забирать меши. А после этого диалог пропадает(!) если свернуть и развернуть главное окно программы, типа рефреш. Версия проги которую я пользовал датирована 7 сентября 2015г. XP32, пользователь не админские права. На скрине в нижней части видно, что прога ругается на некоторые текстовые меши, которые я вероятно ранее перегонял в текст программой MshConverter. --- Новая версия с разблокированным размером окон гуд. Умещается и на небольших экранах. Тот кокпит, что не открывался - теперь открывается. Диалог при сохранении - также пропадает только после свернуть-развернуть операции. |
С диалогом что ни будь придумаю. Непонятно пока. Просто уже нет под рукой 32-х битной ХР. С админскими правами это не связано, я ничего криминального, что требовало бы админских прав, не использую. Что-то не даёт окну убиццо после операции записи (я его не прячу, а дестрою).
|
Уважаемый разработчик.
Есть ли ограничения по количество полигонов и на размер используемых тестур, которые поймет и увидит ваша программа? 1. Откроет ли теоритически ваша программа единичный меш размером в 75 000 полигонов ? 2. Сможет ли ваша программа увидеть и одет на открытый меш текстуру 2048х2048? Спрашиваю потому что есть у меня самопальный меш стационарного самолета в виде одного меша стационарного объекта загружаемого в игру через Live.sim . Сам меш 75 000 полигонов и в текстуре 2048 пикселей. http://i1167.photobucket.com/albums/...psxwy6tkkh.jpg О трудностях использования этого меша в игре пока не будем рассуждать, вроде есть перспективы снятия этого ограничения в игре. Дело в том ,что ваша программа не видит этот меш (открываю и через MSH и через SIM) Программа гудит, пыхтит и выдает в итоге пустой экран без ошибок в выводе внизу. Меш конвертер видит меш и его открывает и показывает в окне просмотра. Вот в связи с этим и интересуюсь про заложенные в вашей программе ограничения или нет. С уважением Сергей. |
Ограничение на кол-во полигонов - 65536.
Я то могу хоть миллиард их выводить, была бы тока память свободная. Но в Иле на один меш вроде только 64К полигонов. Единственное, не пишу в лог, если их больше предельного значения. Могу у себя поменять индексы на unsigned_int, это два в тридцать второй. Мне не жалко :) , но совместимость с игрой при этом уходит. Текстуры сам ни как не ограничиваю. По идее - 2048 должны работать. А ещё на багу налетел. У Пе-8 (у обоих) в CF_D0 дублируются все лоды. Причём дубли пустые (без вершин, материалов и фейсов). При открытии Пехи выпадаю с ошибкой. Эту багу я уже починил. ХЗ как игра реагирует на это, возможно этот меш из-за дублирования лодов грузится и выводится каждый раз дважды. Завтра увеличу кол-во выводимых фейсов, сегодня отдыхал и слегка пьян. :) |
Цитата:
Насколько мне известно, в игре 3000 полигонов лимит на 1 меш. Возможно вы получили информацию по ограничению ОБЩЕГО количества полигонов на объект ? Если можно поясните, в том числе и источник информации. |
Информация из двух источников. :)
Во-первых, размер индекса для вершины может принимать три значения: байт, слово и двойное слово (8, 16 и 32 бита). Это для того, чтоб впустую память не расходовать. Во-вторых, я смотрел, как игра грузит модели, мои знания о структурах и форматах игры оттуда. :) Точно не помню цифр, но у меня почему то отложилось, что проверяется ограничение на 64К на меш. И даже не на меш, а на лод. Ограничение чисто программное, в самой структуре меша смещения и счётчики 32-х битные. Но смотрел я довольно давно и вполне вероятно, что я что-то попутал. В любом случае, я могу грузить модели с любым кол-вом полигонов. Если это надо. :) Либо ругаццо в лог, если их кол-во превышает какое-то заданное кол-во. |
Просьба, если возможно, сделайте пожалуйста сохранение отдельных мешей в формате .3DS для ОС Win7X64bit. Наткнулся на меши, которые не по зубам мешконвертеру(вернее, он то сохраняет меш в 3DS, а макс его не может переварить).
В то же время Ваша программа видит этот меш отлично и сохраняет в obj и в текст. С obj у меня затруднения с материалами. |
Сохранение в 3ds делать не буду по причинам, описанным выше. Нет смысла на него тратить время. Сейчас пишу сохранение в ASE. Это, фактически, 3ds, но в текстовом виде. Плюс, в нём нормально экспортируются нормали. Но там много работы. Не могу сейчас сказать, когда закончу.
|
Цитата:
Если конечно и показ модели и одновременная "ругня" в лог на превышение установленного количества полигонов для вас не будет сильно великим напрягом. С уважением. |
Да нет напряга, уже сделал. :)
Вопрос только в задании порога для ругани в лог. Какой верхний предел числа фейсов для единичного лода в меше ставить? Не для всей модели, а именно для лода в единичном меше. |
Цитата:
Пусть будет порог в 3000 полигонов или 10 000 вертексов, как в дефолтном ИЛ-2 и есть НА ОДИН МЕШ. Причем в игре это не важно, меш лода это, меш тени это. Общее количество полигонов в модели в виде ограничения мне неизвестны. Можно поставить хоть ваши 64К , тоесть тоже пусть ругнется, но продолжит работать !!!!Ё Пусть ругается, но выводит все на экран и соответственно пусть программа все функции выполняет. Тоесть : 1.Ругнулась, предупредила на ЧТО ругнулась 2. При настойчивости дальнейшей пользователя продолжила работать без проблем. В настоящий момент, когда есть свободная минутка, работаю над поднятием ограничения на 1 меш до 100 000 поликов. |
Вообще-то, для Ила большое кол-во полигонов для модели очень плохо. Ограничения на их кол-во не от балды существует. Если будет одна тяжелая модель на всю сцену, то конечно, пофиг. Но если их будет несколько, то двиг игры ляжет от адовых тормозов. И не спасут ни мощный процессор, ни самая распоследняя видяха. :) Двиг игры очень старый, и технологии, в нём используемые - соответственно.
Я не в плане того, что "а!!! что вы делаете!!!". :) Нет, просто предупреждаю. Поставлю ограничение на лод в 3000 полигонов. Сейчас поторкал в разные модели и, вроде, в том, что открывал лодов с превышением этой цифирки не встретил. Ещё раз, чтоб понятнее. Есть меш. В нём, допустим, 3 лода. Ругаюсь на кол-во фейсов именно ДЛЯ ЛОДА. Без теней и коллизий. Только для лода в конкретном меше. Чуть позже выложу новый билд. |
Цитата:
А еще я могу сказать, что когда я начинал продвигать свои 2048 текстуры, КТО только меня не пугал УЖАСТНЫМИ тормозами, ступором игры, предавали меня АНАФЕМЕ(почти на уровне разрабов):lol: и так далее.....:lol: И на главный мой аргумент : "Все старое работает без проблем в 1024 пикселях, вы можете всегда сами(игрок) в зависимости от железа выбирать пользовать 2048 и сколько 2048 пользовать " несли какую-то ПУРГУ в ответ., продолжали твердить свою идиотскую мантру:" стандарта, стандарты, стандарта ради стандартов, наследие ОМ, ОМ так сказал...." Совсем решив как Боги, что пользовать игроку , а что нет. Мир не меняется. подобное все уже было с разрешением HD 1980-1080 для видеостандартов. Сейчас правда ни одна СУКА не говорит как плохо HD video Сейчас такое-же творится для 4К видео и текстур.:lol: Правда что-то сейчас уже никто что-то не воняет уже так сильно, про то как страшны текстуры 2048 в игре ИЛ-2.:lol: |
Вложений: 2
В аттаче новые билды.
- Добавил проверку на пустые лоды (лоды, в которых нет фейсов и вершин). Раньше в такой ситуации падал с закрытием приложения. Пустые лоды обнаружил в как минимум Пе-8, Пе-8_M40F (меш CF_D0). Теперь, при обнаружении пустых лодов, ругаюсь и удаляю их. Чем чревато наличие таких лодов в игре не знаю. Предполагаю, что такие лоды (а это дубли уже имеющихся) грузятся и отрисовываются по два раза. Что не есть гуд. - Добавил проверку кол-ва фейсов в лоде. Сейчас ограничение в 3000 фейсов. Если их больше, то ругаюсь в лог, но модельку рисую. - Переделал расчёт BoundingBox-а для модели. Это прямоугольник, в который модель вписана с учётом всех трансформаций. Фактически, это геометрический центр модели. При выводе на экран центрирую модель по геометрическому центру бокса. Раньше считал центр не правильно и модельки ингда крутились вокруг некоректно расчитанного центра, как бы описывая круг вокруг точки вне модели. BoundingBox считается для нулевого лода и нулевого фрейма для многофреймовых моделей (например: парашютист, парашют, человечки бегающие и т.п.). - Ну и мелкие косяки поправил. Ещё надо посмотреть, скрывается ли диалог сохранения (было на XP32). Надеюсь, что сейчас скрывается. Вороде всё. Телеграфируйте о багах. |
Цитата:
Более того, старый движок может работать на новых картах МЕДЛЕННЕЕ. Причина в том, что большенство того API, которым пользуется Ил, в новых спецификациях deprecated, т.е., не рекомендован к использованию и оставлен ТОЛЬКО для совместимости. И производители железа НЕ ОПТИМИЗИРУЮТ работу с этим API в железе, а некоторые вещи вообще переводят в СОФТОВЫЙ РЕЖИМ. ;) С соотвтствующими последствиями. Не знает двиг Ила о новых фичах и новом API. И не может их использовать, увы. Старичок есть Старичок... Но я не запрещаю вам делать то, что вы хотите. :) Считайте, что это мысли вслух. :) |
Цитата:
MeshWarning: FaceCount > 3000 (FaceCount = 75701); MeshName = "AN-2_75K-poly\Body_D0.msh"; LodID = 0 В атаче меш на 75000 поликов, который меш конвертер видит и открывает. Это АН-2, что на скрине выше, в игре он как стационарный объект по ОБХОДНОЙ ТЕХНОЛОГИИ грузится, но сама технология я думаю прямой связи к отображению меша в вашей проге не имеет. https://cloud.mail.ru/public/C2x5/yG1fA5piu |
Текущее время: 07:32. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot