![]() |
Цитата:
|
Цитата:
|
Не всякую текстуру.
В 3Д по умолчанию 0:0 для текстур может быть: - Левый верхний угол для DX - Левый нижний угол для OGL В самой текстуре (для TGA) есть флаг, который указывает где координата 0:0 находится в самом изображении. Кроме этого, у нас ещё есть IMF, который представляет из себя специально обработанный для лучшего сжатия буфер с информацией о пикселах. В нём 0:0 всегда слева снизу. Поскольку в obj нельзя передать информацию о том, где 0:0 для текстуры находится, а сам Макс за флагами в TGA не следит, то нужно руками переворачивать текстуры в тех случаях, когда они в Максе ложатся не правильно. Кстати, текстура в Максе может не отображаться ещё и потому, что IMF имеет то же расширение, что и TGA (.tga), но внутренний формат IMF не совпадает с форматом TGA. Соответственно Макс не может её прочитать и не грузит. Для работы в Максе IMF надо конвертировать в TGA ручками. Примерно так. |
с конвертированием и вращением TGA это понятно. Что еще заметил, модель в OBJ прямо в Мах сглаживание не переносит, приходится редактировать, хотя бы даже в авторежиме
|
Я уже много раз здесь об этом писал. :)
В obj сглаживающие нормали для вершин пишутся без группировки. Ибо групп сглаживания в msh нет. И восстановить группы сглаживания можно только в некоторых простых частных случаях. В модели при сохранении в obj сглаживающие нормали есть, нет Максовских групп сглаживания. Группировку надо делать руками в Максе самостоятельно. |
Цитата:
Спасибо автору за архи полезный инструмент. |
Вопрос автору утилиты.
Отредактировал в максе меш и он перестал открываться утилитой. Сообщение: " Scrollbar property out of range". Хотя в игре меш виден с внесёнными изменениями. Что-то можно сделать? Система Win7 X 64bit |
Выше в ветке говорилось уже про правленные блокнотом меши. Из опыта утилита позволяет только правленные ручками хуки, дистанции лодов, и материалы. Любое касание координат вот тут приехали прога слепнет. По ходу блокнот что то оставляет в виде скрытого мусора. Может кто посоветует простой и не гадящий редактор.
Пока писал вспомнил что в особо капризных случаях редактировал не в блокноте а старым родным Фар менеджером. Вот тут как раз буду пробовать. |
Цитата:
|
Меш с проблемой
Вложений: 1
Вот этот меш виден в игре но после ручного редактирования перестал отображаться вьюером. СКНИЛ его по прежнему видит.
|
Вложений: 1
Цитата:
|
Цитата:
|
Дык без тени я его вижу Тут бы с этой жабой разобраться которая возникает после вставки тени в ручную через блокнот. Или это не лечится?
|
Цитата:
Добавлю игнор нормалей для теней. Но это всё равно неправильно. Лишние неиспользуемые данные только раздувают объём и увеличивают время загрузки моделей в игре. |
Кстати, у меня тоже было дело в тенях.
|
Цитата:
Тут сложнее. Игра может игнорировать те данные, которые она не ожидает. У меня так не получится, поскольку я не знаю, что в меня в настоящий момент загружают. Соответственно, я не могу правильно ругнуццо в такой ситуации, и просто вываливаю общее исключение. Вам надо руками удалить последнюю секцию в вашем файле (ту, которая [ShFaces]). Непонятно, как она в ваш файл попала. Если вы руками не правили этот файл, то это вероятно глюк плагина. Если правили руками, то просто не всё убрали. Вообще, я бы не рекомендовал ручную правку файлов мешей. Легко ошибиться в огромном объёме данных и трудно глазами найти причину глюков. |
Чуть позже кину версии, в которых игнорируются нормали для теней если они есть в соответствующих данных. Предупреждение о наличии таких данных наверное кидать не буду. Но если это очень надо, то подумаю как его формировать. Всё дело в том, что теоретически в секции могут присутствовать и 3 вершины, и 3 вершины + 3 нормали, и просто ошибочный мусор. Ругаться на каждую строку - весь лог будет заспамен однотипными сообщениями (а строк теоретически может быть несколько тысяч).
Наверное сделаю однократное предупреждение о том, что помимо вершин есть ещё и нормали, которые игнорируются. Подумаю ещё. |
Вопрос покажется глупым как можно вычленить сглаживающие нормали из тени, вручную не прибегая к экспорту в МАКС. Есть ли у них какой нибудь признак в текстовом редакторе? Крайний ЛОД тоже с нормалями или упрощен настолько что их там может не оказаться?
|
И еще вопрос может ли оказаться полезным данный меш редактор?(работает прямо с мешами без экспорта импорта LODka 3D Заранее благодарен за ответ.
Вот собственно сама программа http://www.mediafire.com/download/e7...ka3d_v1_53.zip |
Признаков нет.
Базово если: - Есть вершина - Из вершин можно сложить полигон. У нас это треугольник. - Для полигона можно: - а) Иметь одну нормаль - б) Иметь нормаль для каждой вершины Вариант "а" для игры в модели не зашивается. Если для фейса должна быть задана одна нормаль, то она рассчитывается при загрузке модели. Потому что сглаживающие нормали определяют то, каким образом мы соединяем соседние вершины, а одиночная нормаль просто является перпендикуляром к поверхности и указывает только на то, как эта поверхность развёрнута к наблюдателю (лицом/задом :) ). Отличить значение нормали от других данных в общем случае нельзя. Это просто число с плавающей точкой, такое-же, как и координаты вершин, маппинга и т.п. Нормали могут быть нормированы и в этом случае их значение будет в диапазоне -1 .. 1. Если не нормированы, то любое значение в пределах выбранной разрядности. Обычно нормали всегда зашиваются в модели нормированными, по традиции, чтоб при загрузке лишнее не считать. Но в шейдерах один чёрт, после умножения на матрицу, либо при вычислении отражений/направлений, значение нормализуется. В Иловских мешах нормали от вершин отделяются директивно - первые три значения в описании вершин задают координаты вершины, три следующих - нормаль для вершины. Таким образом: - Если строка содержит 3 значения, значит эта строка содержит только координаты вершины - Если 6 значений, то координаты вершины и нормаль для неё Для лодов используем 6 значений (вершины и нормали). Для теней - 3, только вершины. Фейсы для лодов и теней в игре прописываются одинаково. Три значения, которые являются тремя индексами для массива вершин/вершин+нормалей. Эти три значения и образуют один минимальный замкнутый полигон-треугольник. Для коллизий фейсы задаются только для возможности нарисовать её на экране во время дизайна, в самой игре они нафиг не нужны и теоритически их из меша можно выкинуть, эта часть игрой в процессе работы не используется, нужны только донные о том, какие полигоны с какими граничат. Но лучше это всё руками не трогать, ХЗ какой результат может получиться. :) Вроде всё, на сколько мог упростил для понимания. |
Текущее время: 11:01. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot