Показать сообщение отдельно
Старый 22.09.2015, 23:32   #3
NB79
Местный
 
Регистрация: 12.07.2015
Сообщений: 417
По умолчанию

Ладно, с этой проблемой в obj похоже не совладать. Тратить на неё время сейчас не будем. Пока, видимо, надо просто переворачивать текстуру. Увы. Может подбиру чуть позже другой формат для экспорта, который и эту проблему позволит решить, и нормали будет сохранять.

В аттаче версии, которые пишут библиотеку материалов. Проверяем.

Важно:

- Библиотеку материалов пишу туда-же, куда и obj

- Непосредственно текстуры (tga) не копирую. Во-первых, есть нюансы с иерархией (об этом чуть ниже), и во-вторых - при копировании можно перезаписать по верх чего-то, что перезаписывать не надо было. В принципе, можно и экспорт текстур сделать, но пока не буду, потом посмотрим.

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

- Путь к текстуре для материала пишу так, как он задаётся в игре, т.е. - относительный. Если вы будете использовать структуру каталогов как в игре, то текстуры будут подхватываться как надо. Пример для понимания того, что такое относительный путь:

Допустим, что у нас есть общий каталог для текстур и есть мешь, который лежит в другом каталоге:

3do\textures\tex1.tga
3do\planes\textures\tex2.tga
3do\planes\bf-109_f4\mesh.obj
3do\planes\bf-109_f4\tex3.tga

Для меша прописано три материала, мат1, мат2 и мат3.
В мат1 путь к текстуре задан "..\..\textures\tex1.tga".
В мат2 - "..\textures\tex2.tga"
В мат3 - "tex3.tga"

Когда вы открываете mesh, то путь к текстуре из относительного преобразовывается в абсолютный. И, соответственно, по полученным путям и берутся нужные текстуры. Это традиционный способ задания путей. Его огромный плюс в том, что вы можете скопировать данные в любое место (сохраняя структуру каталога), переносить на другие компы и при этом у вас всегда нужные данные будут доступны.

- В библиотеку материалов также добавлены некоторые служебные материалы. В первый слот - материал NULL (цвет красный, что ещё для него надо установить - ХЗ). После всех материалов меша также добавлены материалы для кубов, которые на хуках у нас сидят. Потом материал для теней (зелёный) и материал для коллизий (фиолетовый). Грани кубов для хуков крашу так, как мне указали парой страниц выше. Яркий цвет - ось в плюс, тёмный - в минус.

Ну и чуть перерулил отображение модели во вьювере. Учитываю некоторые параметры из материалов. По лучше рисуется. Нет сортировки для полупрозрачных полигонов, по этому некоторые модели (похоже те, что ещё с СПШ) немного не правильно рисуются, за стёклами иногда не видно внутренностей. Но это чисто на отрисовке, модель я не трогаю.

Вроде ничего не забыл. Смотрите, что получилось и докладывайте.
Если всё гуд, то след. пунктом пойдёт запись в бинарный меш.
Вложения
Тип файла: rar mesh_dump32.rar (882.2 Кб, 220 просмотров)
Тип файла: rar mesh_dump64.rar (1.04 Мб, 245 просмотров)

Последний раз редактировалось NB79; 22.09.2015 в 23:35.
NB79 вне форума   Ответить с цитированием