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)

jabo 06.05.2016 17:53

Цитата:

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

Иловские меши информацию о группах сглаживания в себе не содержат от слова вообще. Увы.

Где могла бы хранится эта информация ?

NB79 06.05.2016 18:56

Цитата:

Сообщение от jabo (Сообщение 152300)
Где могла бы хранится эта информация ?

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

Итак. В Максовской/Блендеровской модели информация о группах сохраняется в файле (в 3ds, obj и т.д.). Соответственно, когда мы загружаем модельку, то имеем эту информацию в наличии и у нас нет проблем.

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

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

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

Pumping_Noise 06.05.2016 19:00

3ds не сохраняет группы сглаживания.

NB79 06.05.2016 19:50

Цитата:

Сообщение от Pumping_Noise (Сообщение 152302)
3ds не сохраняет группы сглаживания.

Сохраняет. У меня описание этого формата есть, в нём группы сглаживания есть.

Pumping_Noise 06.05.2016 21:45

Цитата:

Сообщение от NB79 (Сообщение 152304)
Сохраняет. У меня описание этого формата есть, в нём группы сглаживания есть.

В теории может быть. На практике — нет.

NB79 06.05.2016 21:55

Цитата:

Сообщение от Pumping_Noise (Сообщение 152313)
В теории может быть. На практике — нет.

Возьмите в Максе простую модель, сохраните её в 3ds, и сохранённую опять откройте в Максе. Группы будут на месте.

Если вы о том, что Иловские меши при записи в 3ds не содержат групп, так об этом я несколько раз говорил, и даже на этой странице есть объяснение почему это именно так.

3ds поддерживает родные фичи Макса, он родной для него.

LeaderAI 06.05.2016 22:15

Цитата:

Сообщение от NB79 (Сообщение 152285)
Пока ни как. Без понятия, как фреймы перегоняются в Макс/Блендер. Фактически у нас в меше может быть N кадров. Как их сохранять, чтоб редактор увидел их как единый объект с множеством кадров я не знаю. Предполагаю, что для сохранения подобных моделей выбранный формат должен поддерживать соответствующую возможность. Obj точно это дело напрямую не поддерживает. Собственно по этому и сохраняю только первый фрейм.

В иловском меше это выглядит:
[Vertices_Frame0]
-0.308715 -0.308715 0.0 0.0 0.0 -1.0
-0.308715 0.308715 0.0 0.0 0.0 -1.0
0.308715 0.308715 0.0 0.0 0.0 -1.0
0.308715 -0.308715 0.0 0.0 0.0 -1.0
-0.308715 -0.308715 0.617431 0.0 0.0 1.0
0.308715 -0.308715 0.617431 0.0 0.0 1.0
0.308715 0.308715 0.617431 0.0 0.0 1.0
0.308715 0.308715 0.617431 0.0 0.0 1.0
-0.308715 0.308715 0.617431 0.0 0.0 1.0
-0.308715 -0.308715 0.617431 0.0 0.0 1.0
-0.308715 -0.308715 0.0 0.0 0.0 -1.0
0.308715 -0.308715 0.0 0.0 0.0 -1.0
0.308715 -0.308715 0.617431 0.0 0.0 1.0
0.308715 -0.308715 0.617431 0.0 0.0 1.0
-0.308715 -0.308715 0.617431 0.0 0.0 1.0
-0.308715 -0.308715 0.0 0.0 0.0 -1.0
0.308715 0.308715 0.0 0.0 0.0 -1.0
0.308715 0.308715 0.617431 0.0 0.0 1.0
0.308715 0.308715 0.617431 0.0 0.0 1.0
0.308715 -0.308715 0.617431 0.0 0.0 1.0
0.308715 0.308715 0.0 0.0 0.0 -1.0
-0.308715 0.308715 0.0 0.0 0.0 -1.0
-0.308715 0.308715 0.617431 0.0 0.0 1.0
-0.308715 0.308715 0.617431 0.0 0.0 1.0
0.308715 0.308715 0.617431 0.0 0.0 1.0
0.308715 0.308715 0.0 0.0 0.0 -1.0
-0.308715 0.308715 0.0 0.0 0.0 -1.0
-0.308715 -0.308715 0.617431 0.0 0.0 1.0
-0.308715 -0.308715 0.617431 0.0 0.0 1.0
-0.308715 0.308715 0.617431 0.0 0.0 1.0
-0.308715 0.308715 0.0 0.0 0.0 -1.0
//31 verts
Это для 1 меша для 2 их будет 2 со своими координатами.
Только имя будет
Vertices_Frame0 Vertices_Frame1 и т.д но это без лодов и т.д
Я так пробывал делать анимацию пехоте только у меня там 3 кадра было.

Vertices_Frame0 Vertices_Frame1 Vertices_Frame2 соответсвенно.
Надо как то сделать чтобы программа могла разбить их на отдельные меши и сохранить пусть даже по отдельности как 1 кадр.

LeaderAI 06.05.2016 22:22

Frame134 у пилота количество можпо текстовиком в бинарнике посмотреть.

Pumping_Noise 06.05.2016 22:29

Цитата:

Сообщение от NB79 (Сообщение 152315)
Возьмите в Максе простую модель, сохраните её в 3ds, и сохранённую опять откройте в Максе. Группы будут на месте.

Если вы о том, что Иловские меши при записи в 3ds не содержат групп, так об этом я несколько раз говорил, и даже на этой странице есть объяснение почему это именно так.

3ds поддерживает родные фичи Макса, он родной для него.

Повторюсь, что в теории должен работать. В примере простой цилиндр. Но и на нём косяк при сглаживании. На объектах с сложной геометрией это просто минус сглаживание модели. Глючный формат в общем. https://youtu.be/2KL0sYHSUkM

Molva 06.05.2016 23:06

Цитата:

Сообщение от Pumping_Noise (Сообщение 152319)
В примере простой цилиндр. Но и на нём косяк при сглаживании.

В примере группы сглаживания не показаны ни перед экспортом, ни после импорта. А то что развалились вершины, так при чем тут группы сглаживания.
Цитата:

Глючный формат в общем.
Очень даже хороший формат.

Pumping_Noise 07.05.2016 00:53

Цитата:

Сообщение от Molva (Сообщение 152323)
В примере группы сглаживания не показаны ни перед экспортом, ни после импорта. А то что развалились вершины, так при чем тут группы сглаживания.

Очень даже хороший формат.

У меня он никогда не работал должным образом. Самый стабильный для экспорта .fbx.

NB79 07.05.2016 01:56

Цитата:

Сообщение от LeaderAI (Сообщение 152317)
В иловском меше это выглядит:

Дружище, я отлично знаю, как это в Иловском меше устроено! Я ж гружу и показываю многофреймовые меши. :) Проблема в том, что в obj-е нет такого понятия, как фрейм, он вообще очень бедный формат. А сохранять отдельными фреймами хоть и можно, но это не выход. По причине того, что это не универсально и неудобно. Я очень не люблю по сто раз переделывать одно и то же. Тут надо на другой формат переходить. А "толстые" форматы сложные и на их написание и отладку надо уйму времени свободного, чтоб всё качественно сделать. Вот с этим и беда, свободного времени - ноль практически. Урывками приходится к теме возвращаться, и это сильно сказывается на общем прогрессе. Лепить костыли в виде отдельных файлов на каждый фрейм мне сильно не хочется, ибо это мартышкин труд, всё равно же придётся переделывать.

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

Вот так дела обстоят с этим делом.

NB79 07.05.2016 02:16

Цитата:

Сообщение от Pumping_Noise (Сообщение 152319)
Глючный формат в общем.

3ds не может быть глючным по причине того, что это родной для Макса формат. До перехода на .max это был основной формат для 3D Studio Max и Autodesk является автором этого формата! В своё время он было отраслевым стандартом. Очень богатый формат, позволяет сохранять в себе практически все "навороты" доступные вам в Максе. И до сих пор проф. игроделы используют его для экспорта моделей в свои движки, ибо написано куча софта под это дело и всё это хорошо отлажено, удовлетворяя практически все мыслимые потребности. Не знаю откуда у вас отрицательный опыт по работе с ним. Но назвать его "глючным" значит назвать глючным сам Макс.

LeaderAI 07.05.2016 19:47

Цитата:

Сообщение от NB79 (Сообщение 152331)
Дружище, я отлично знаю, как это в Иловском меше устроено! Я ж гружу и показываю многофреймовые меши. :) Проблема в том, что в obj-е нет такого понятия, как фрейм, он вообще очень бедный формат. А сохранять отдельными фреймами хоть и можно, но это не выход. По причине того, что это не универсально и неудобно. Я очень не люблю по сто раз переделывать одно и то же. Тут надо на другой формат переходить. А "толстые" форматы сложные и на их написание и отладку надо уйму времени свободного, чтоб всё качественно сделать. Вот с этим и беда, свободного времени - ноль практически. Урывками приходится к теме возвращаться, и это сильно сказывается на общем прогрессе. Лепить костыли в виде отдельных файлов на каждый фрейм мне сильно не хочется, ибо это мартышкин труд, всё равно же придётся переделывать.

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

Вот так дела обстоят с этим делом.

Ага. Мне бы это пригодилсь пехоту сделать нормальную. Ну дак и в дефлоте по сути куча фреймов в 1 меше и нои просто закодированы.
Я могу понять еще ява скрипт в игре, но как модели писать я не знаю.

LeaderAI 07.05.2016 19:49

Цитата:

Сообщение от NB79 (Сообщение 152332)
3ds не может быть глючным по причине того, что это родной для Макса формат. До перехода на .max это был основной формат для 3D Studio Max и Autodesk является автором этого формата! В своё время он было отраслевым стандартом. Очень богатый формат, позволяет сохранять в себе практически все "навороты" доступные вам в Максе. И до сих пор проф. игроделы используют его для экспорта моделей в свои движки, ибо написано куча софта под это дело и всё это хорошо отлажено, удовлетворяя практически все мыслимые потребности. Не знаю откуда у вас отрицательный опыт по работе с ним. Но назвать его "глючным" значит назвать глючным сам Макс.

По мне 1 не удобно 3дс режет имена моделей и текстур.
Я так из нового макса в 5 перегоняю карты для игры , пробывал obj но он криво модель передает, а fbx 5 не читает нормально.

NB79 08.05.2016 01:04

Цитата:

Сообщение от LeaderAI (Сообщение 152381)
3дс режет имена моделей и текстур.

В каком месте режет? Если сделать модель в Максе и дать длинное имя, потом сохранить в 3ds, потом этот 3ds опять загрузить в Макс, то имя будет порезано? Такого вроде быть не должно. Не помню сейчас, конечно, а документации по формату под рукой нет, но там, ЕМНИП, имя может быть очень длинным.

В 3ds есть один очевидный минус, именно в нашем случае. Он не сохраняет предвычисленные нормали, только группы сглаживания. Из-за этого я у себя и не могу в нём сохранение организовать. Хотя изначально именно на него и ориентировался. А так-бы проблем не было, в нём и с текстурными матрицами всё хорошо, и многофреймовые меши можно было бы сохранять, и масштабирование и т.д., всё, что у ила есть в меше можно было бы аккуратно завернуть. Но, увы. Групп у нас нет, а нормали в него не завернуть.

yt2 24.09.2016 22:25

Будет длинный пост с хотелками и пожеланиями по программе.

Использую данную программу как замечательный вьюер моделей при подготовке и отладке к вживлению в игру моделек из макса.
1)Прошу увеличить максимальную дистанцию отъезда камеры с 1000м до очень большого числа. Возможно это число как-то прописывать в конфиг. Предел нужен очень большой. Для обычных танчиков-корабликов 1000м уже не хватает, им нужно не меньше 2км а то и 5км. А если делать объекты для карт типа гор, терриконов, дамб и прочего большого то им на дальние лоды нужны дистанции от 10км аж до 50км. Те очень желательно этот верхний предел задавать через конфиг.
2)Нужен счётчик полигонов теней в лодах, по аналогии с имеющимся счётчиком треугольников мешей. Мешконвертер выдаёт такую информацию. Тени считать и оптимизировать тоже приходится. Так что тоже нужная фишка.
3)Переключалка FOV камеры. Я так понимаю сейчас на камере используется FOV=90 градусов. Но в игре есть возможность зума до 30. Хотелось бы посмотреть на лоды с больших дистанций в режиме игрового зума для точного подбора дистанции переключения лодов.
4)Переключалка автоматической смены лодов по дистанции. Нужен чекбокс при включении которого, при увеличении дистанции камеры происходило бы автоматическое переключение лодов в соответствии с дистанциями видимости лодов прописанных в мешах. Такая фишка присутствует в просмотрщике мешей от 1С. Но во-первых эта программа не доступна массам, во-вторых этот режим нужен не всегда, только при проверке корректности дистанции переключения лодов, и в обычной работе его использовать нет необходимости. Вот поэтому и нужно реализовать через чекбокс, а не на постоянной основе.
5)Сделать кнопку "Пауза" для рендера. А то, при запущенном 3DMax и работающей программе, 3DMax сильно подтормаживает во вьюпорте, и программу NB79 приходится закрывать.
6)Ещё можно при клике на меш в списке лодов выводить в белое окошко с текстом (типа консоли которое, куда выводится информация о мат-файлах и текстурах при загрузке hier.hima) информацию о материалах конкретного лода. Нужно для проверки правильности назначения лодам материалов. А то иногда случаются ситуации, что на дальние лоды попадает материал от первых лодов. И вместо одного материала допустим Skin1p лод использует сразу два материала Skin1o и Skin1p. Альтернативная реализация как-то подсветить материалы каждый своим цветом, чтобы чужеродный материал сразу выделялся на фоне остального. Для кабин данная фишка бессмысленна, а вод для моделек танков, самолётов, кораблей пригодится.
7)Насчёт конвертации моделек в максо-понимаемый формат...
Если будете такую тему делать, то ориентируйтесь в первую очередь на формат FBX. И во-вторую на формат MD5Mesh.
Формат FBX не имеет проблем при импорте в макс, кроме масштабирования. Там нет возможности промасштабировать модель кроме как выбрать из списка предложенные варианты. Поэтому коэффициент масштабирования при экспорте в формат FBX желательно предусмотреть.
Запасной вариант это формат MD5Mesh. Его можно напрямую через плагин загнать в макс, но обычно (вернее совсем) я так не поступаю, а конвертирую его в FBX и уже FBX загоняю в макс. Т.к. формат md5mesh имеет ряд подводных камней его использование менее предпочтительно.
Ещё пожелания по этому вопросу. Не заморачивайтесь с группами сглаживания, не тратьте на это время. Для корректного импорта моделек из макса группы сглаживания приходится вручную расставлять, ни один известный мне конвертер из ила в макс не восстанавливает эти группы со 100% точностью. И их всё равно приходится переделывать. Про группы забудте. Тем более при экспорте через формат FBX есть возможность вообще не использовать информацию о сглаживании.
Про мапинг. Не трогайте мапинг. Не зеркальте, не флипайте, не поворачивайте, не сдвигайте его. Все операции с мапингом можно и нужно проводить только через инструменты 3DMax.

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

NB79 25.09.2016 12:30

К сожалению у меня опять начались проблемы с глазами. Катаракта. Операцию по замене хрусталиков уже делал, но опять помутнения. :( Сейчас работать практически не могу. Не знаю сейчас когда смогу вернуться к теме. Простите!

yt2 25.09.2016 15:14

Цитата:

К сожалению у меня опять начались проблемы с глазами. Катаракта. Операцию по замене хрусталиков уже делал, но опять помутнения. Сейчас работать практически не могу. Не знаю сейчас когда смогу вернуться к теме. Простите!
Грустно и печально. Здоровья вам! И огромное спасибо за ваш труд. Будем пользоваться тем, что уже есть.

NB79 25.09.2016 15:24

Спасибо!


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

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