|
|
|
|
|
#1 |
|
Пытающийся полететь
|
|
|
|
|
|
|
#2 | |
|
Местный
Регистрация: 12.04.2009
Сообщений: 5,104
|
Цитата:
__________________
ищется идейный Программер ) |
|
|
|
|
|
|
#3 |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
В аттаче версии с загрузкой полных моделей. Можно загружать him, sim, так-же и отдельные меши (msh). Меши могут быть как бинарные, так и текстовые.
Вжные моменты: 1) Текстуры могут быть как TGA, так и IMF 2) Текстуры грузятся из текущей директории 3) Если при загрузке путь содержит "\3do\plane\", то при загрузке эта директория сканируется и собирается список всех доступных для модели скинов (которые лежат в директориях summer, winter и т.д.). Можно создавать свои директории с любым именем и кидать туда свои скины. Главное, чтобы они были: a) TGA/IMF b) содержали три версии для лодов (skin1o, skin1p, skin1q) Если кроме этого для нулевого лода в директории есть и tgb, то для него будет использован он. Скины можно переключать. Также можно переключать различные уровни повреждения (ели оно доступно для модели). Немного о текстурировании. Оно всё ещё не полное. Во-первых, не устанавливаю для материала его хар-ки (отражающую способность, яркость и т.д.). Во-вторых, не использую мультитекстурирование, соответственно декали (эмблемы, места под знаки и номера дефолтные, обычно чёрные фрагменты текстур). Третий момент - из-за того, что помимо описания в him правила сборки ещё задаются и в классе модели, иногда при отображении возникают некоторые артефакты. Например, щиток не выдвинут, но модель отрисовывается как будто с выдвинутым щитком, но без него. С этим ничего не сделать, придётся терпеть так, автоматически разбирать классы и строить полную модель я не буду, иначе придётся писать всю игру. Ну, почти всю. ![]() Ещё один момент, который является следствием того, что все правила сборки сразу недоступны, это z-fighting (дрожание текстур с некоторых частях модели). Кратко, что это такое и почему возникает: Предствте, что у вас есть два полигона, которые находятся на одинаковом расстоянии от вас. Пусть один красный, а другой - синий. Какой мы увидим? Если они перпендикулярны оси взгляда, то тот, который нарисовали последним. Но если мы начнём их поворачивать, то из-за конечной глубины z-буффера и конечной точности вычислений на определённых углах у нас одна текстура будет пробиваться через другую. Это очень на пальцах, чтоб не заграмождать. Из-за того, что в моделях встречаются фрагменты находящиеся на одинаковых позициях, но с разными текстурами и мы не знаем, какой их них должен быть чейчас показан этот эффект присутствует при отображении. С этим тож, без разбора класса, ничего особенно не сделать. Может позже сделаю возможность отключать отображение отдельных мешей. Но пока так. Ну и при отображении возможны некоторые артефакты связанные с блендингом. Во-первых - при отрисовке я не сортирую полигоны, а во-вторых - мне непонятен физ. смысл одного параметра в материале (tfBlendAdd). Во общем, где-то что-то может просвечивать когда не надо, или на оборот, не просвечивать. ![]() Ещё добавил пару опций. Во-первых, отрисовку нормалей. А во-вторых - возможность закраски полигонов цветными треугольниками. Это, как раз, для выявления в модели мест, где возможно возникнавение z-fighting'а и нахождения кривоватых мешей. Такие действительно есть, например, дублирующиеся полигоны, когда они в абсолютно одинаковой позиции. Если оключить текстурирование, включить цветные полигоны и отображение только каркаса, то при вращении модели хорошо видно мерцающие рёбра там, гду высока вероятность возникнавения z-fighting'а. Ещё сделал сохранение положения и размера окра, а также опцый отображения. По записи. Запись сразу всей модели в текстовые меши и в obj (каждый меш пишется в отдельный файл). В obj пока только в раздельные файлы (также, каждому obj свой mtl). Запись всей модели в один файл сделаю познее, сейчас, как уже говорил, свободного времени практически нет. Текстуры и mat-ы не пишу, может потом и сделаю, но там надо копировать игровую структуру директорий, а это чревато перезаписыванием того, что не надо. Пока так, там посмотрим. Ещё включил анизатропную фильтрацию текстур и сглаживание (если карта расширение поддерживает). Вроде всё, но может чего забыл. Проверяйте и раппортуйте здесь битьём в бубен.
|
|
|
|
|
|
#4 | |
|
Пытающийся полететь
|
Цитата:
Пребольшое спасибочки! Загрузил и перегнал пару моделей. Все наглядно смотрится. Уже получился прекрасный !! Нужный инструмент!! ![]()
|
|
|
|
|
|
|
#5 |
|
Местный
Регистрация: 09.05.2009
Адрес: Хабаровск
Сообщений: 1,960
|
Ни фига себе!! Ничего не понял(своими железными мозгами) из начертанного в посте от NB79,
но!!! Чутьё подсказывает что сделано нечто(впрочем, как я ранее и полагал) грандиозное и значимое! Спасибо огромное за работу!
__________________
...каждый болен ИЛ-2 по разному, но похоже что навсегда! |
|
|
|
|
|
#6 |
|
нужно больше чамфера!
|
|
|
|
|
|
|
#7 |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
В аттаче новая версия.
1) Переделал текстурирование. Оно всё равно отличается от игры, но более на неё похоже. 2) Убрал возможность крутить модель по оси Y. Ввиду отсутствия необходимости это делать, только мешало. 3) Добавил возможность при показе хуков выбирать конкретные. 4) Добавил возможность показа оверлеев. 5) Добавил возможность залазить в кокпиты. В общем, если у модели есть камеры, то можно по ним переключаться. При переключении камер взгляд в центр не ставлю. Может потом сделаю.Вроде всё. Теперь по поводу записи всей модели в один obj файл. Подумав на эту тему пришел к выводу, что делать это нельзя. Причина этого кроется в том, как модель из отдельных мешей собирается. Проблема в том, что меши соединяются между собой через матрицы трансформации. И, соответственно, если собирать модель в один файл, то придётся пересчитывать все вершины в единую систему координат. Это не сложно, но при этой операции теряется исходная ориентация мешей, что приводит к том, что меши, которые могут двигаться в игре (например пропеллер, или педали, или РУС и т.д.) могут терять ось относительно которой они должны вращаться. Ситуация в чем-то на хуки похожа, но в хуках я крашу грани, что даёт возможность оси нужным образом в Максе развернуть. С мешами так не получится. В общем, сделать запись в один obj не проблема, но бессмысленно. По этому делать это не буду. Надо всё-же пробовать какой ни будь другой формат для экспорта найти, который от этих проблем избавлен и позволяет сохранять в себе нормали и матрицы трансформации. Может попробую восстановить по нормалям, полигонам и вершинам группы сглаживания и писать всё в 3ds. Но не знаю, как уже говорил, что из этого может получится. Пока так. Стучите о багах и косяках сюда. |
|
|
|
|
|
#8 | |
|
Пытающийся полететь
|
Спасибо за обновление.
![]() ![]() Цитата:
Но мне кажется даже сейчас очень было бы неплохо иметь всю модель в OBJ собранную и текстурированную. Нужно это на тот случай ,если опытный человек захочет переработать всю модель или МНОГИЕ ее детали. Для опытного человека расставить пивоты у движущихся мешей заново не очень большая проблемы. Тем более не сотни мешей двигающихся. Вы можете сказать, что если считать и лоды у движущихся мешей, то наберется куча работы. Конечно Вы будете правы. Но ... Если честно сказать, то лоетает куча самолетов в 1 лод всего и игры спокойно переваривает все. Больше того скажу, у меня летает ПО-2(У-2) на 250 000 поликов высокодетализированный(так для экспериментов экспортировал частично в игру). К чему я это ? А вот к чему: Считаю лоды сейчас на нынешнем железе и в нашей игре для новых самолетов можно и не делать , от слова СОВСЕМ. ![]() А вот самостоятельно складывать и двигать меши по миллиметрам для получения целостной модели гемморой большой. Мое имхо: OBJ весь объект нужен !! Последний раз редактировалось carsmaster; 16.10.2015 в 19:54. |
|
|
|
|
|
|
#9 |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
Ну, тогда наверное сделаю возможность экспортить раздельными и одним файлом, на выбор. Тока времени свободного маловато.
|
|
|
|
|
|
#10 |
|
Модератор
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,892
|
Несколько предложений по программе - вдруг реализуемо
![]() 1. добавить возможность двигать движок "Дистанция" не только мышкой но и с кнопок на одно деление. Мышкой получатся довольно резко, а иногда надо плавно приблизить-отдалить чтобы лучше рассмотреть. 2. после открытия через hier him всей модели сделать возможность отключать произвольные меши. А вообще программа очень полезная и удобная! Спасибо! |
|
|
|
|
|
#11 |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
Кнопками можно двигать.
![]() Выбираем ползунок (либо табом, либо ткнув в него мышкой) и стрелками можно сдвигать на нужную позицию. PgUp/PgDown аналогично, только шаг сдвига больший. Home/End сдвигают сразу в начало/конец диапазона. ![]() Это и для дистанции, и для поворотов модели. На счёт отключения/включения мешей по выбору. Мысли у меня есть, как я хотел бы это сделать. Но сейчас жуткий дефицит свободного времени, это раз. И два, затеял переделку текстурирования с целью максимально приблизить отображение моделей к игровому. Чем в свободные от работы окна и занимаюсь. Кроме того, недоделано запись всей модели в obj и сохранение мешей в бинарном формате. Потом можно будет и с отрисовкой отдельных мешей что-то сделать. Пока идея для этого такая. Дерево со структурой модели. Если встали на корневую ноду, то рисуем всю модель. Если пошли в дереве по нодам, то модель в виде лёгкой сетки, в выбранный меш рисуем нормально. Либо вместо сетки блендить. Но пока не решил до конца как удобнее будет и это не в первой очереди в планах. |
|
|
|
|
|
#12 | |
|
Модератор
Регистрация: 28.02.2007
Адрес: Тула, Россия
Сообщений: 1,892
|
Цитата:
|
|
|
|
|
|
|
#13 |
|
Местный
|
Доброго времени суток!
Попробовал только что вашу утилитку... в целом она очень хорошая и информативная, но вот что касается экспорта в .obj есть один "недочет". Импортил я, например, меш в формате 3ds, созданный мешконвертером 1.18, в макс. И все, что мне осталось сделать для его правильного обратного экспорта в иловский меш - это восстановить хиерархию (привязки лодов, коллизий и объектов теней к нулевому или другим лодам) и поменять их названия для корректного экспорта. Ну и сглаживание восстановить.А ваш экспортер воспринимает тень как один из материалов лода (хотя "по-иловски" это отдельный объект), соответственно, это нужно бы исправить... Конечно, в максе совсем несложно разделить объект по материалам, но тем не менее... На заметку вам) В любом случае, за утилиту - спасибо) Последний раз редактировалось The Radge; 09.11.2015 в 04:32. |
|
|
|
|
|
#14 | |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
Цитата:
![]() PS: Завис я с освещением. Блин, не понимаю, как в Иле значения из MAT файлов, связанные с освещением, используются и интерпретируются. В материале явно какие-то коэффициенты, из которых по определённому алгоритму высчитывается хар-ки материала, отражающая способность, амбиентное и диффузное освещение, самосветимость материала. Значения могут быть от 0.0 до 2.0, для SpecularPow - от 0.0 до 128.0 (и с ним, как раз всё понятно). Голову сломал. Может кто знает формулу расчёта света для иловского материала? Был бы благодарен. А то сейчас, то что сделано у меня, сделано от балды и не правильно показывает. |
|
|
|
|
|
|
#15 | |
|
Местный
|
Цитата:
![]() Внесу я, пожалуй, свои пять копеек. Мне кажется, что не стОит принимать сейчас эту "фичу" как приоритетно важную, а стОило бы прикрутить возможность экспорта в формат .3ds
|
|
|
|
|
|
|
#16 |
|
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
Ну, как я уже говорил, в этой тулзе я удовлетворяю своё любопытство в области 3Д.
![]() В 3дс, скорее всего не будет. Вроде ase для экспорта подходит, буду в него пробовать. В нём, вроде, есть всё необходимое. |
|
|
|
|
|
#17 |
|
Местный
|
Очень хотелось бы человеческого экспорта из Макса в Ил объектов целиком, в автоматическом режиме, а не по одному мешу с ручной сборкой как приходится делать.
__________________
Чем меньше техник в технику суётся- тем меньше техника создаст ему проблем.... |
|
|
|
|
|
#18 |
|
Местный
Регистрация: 12.04.2009
Сообщений: 5,104
|
ох ты ж ё .... какие люди))))
__________________
ищется идейный Программер ) |
|
|
|
|
|
#19 | |
|
Местный
|
Здравствуйте))
Цитата:
Ждём-с с нетерпением.
__________________
Чем меньше техник в технику суётся- тем меньше техника создаст ему проблем.... Последний раз редактировалось Blitz; 12.11.2015 в 08:12. |
|
|
|
|
|
|
#20 |
|
нужно больше чамфера!
|
|
|
|
|
![]() |
| Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|