Разработка импорта-экспорта статичных .bin-моделей для Blender-а

Автор nemyax, 22 августа 2013 23:30:35

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

nemyax

Пишу дополнение к блендеру, позволяющее напрямую импортировать и экспортировать файлы статичных моделей Dark Engine-а (.bin). Для работы не требуется ничего, кроме блендера последней версии (http://www.blender.org/download/get-blender/).
В эту тему прошу постить вопросы об использовании и отчёты о багах.
На данном этапе (отредактировано 11 мая 2016) читается-пишется следующее:
Импорт:

  • геометрия без острых рёбер
  • иерархия
  • имена текстур; PNG-файлы прописанных текстур автоматически загружаются, если присутствуют по стандартным путям
  • прозрачность и светимость материалов
  • точки крепления внешних объектов (соответстсвие в блендере — дочерние empty-объекты)
  • лимиты вращения и скольжения (в блендере — параметры констрейнтов limit location и limit rotation)
  • габариты модели, прописанные в файле (отдельным объектом)
Экспорт:

  • геометрия, в том числе острые рёбра
  • иерархия
  • имена текстур
  • прозрачность и светимость материалов
  • точки крепления внешних объектов
  • лимиты вращения и скольжения
  • при необходимости — кастомные габариты модели (заданные отдельным объектом)
Присутствует опциональная сортировка полигонов двумя способами при экспорте:

  • на основе BSP-дерева (шинкует примерно как bsp.exe);
  • на основе именованных групп вершин.
Где взять?
В проекте на SourceForge, в разделе Files. Файл зовут io_scene_dark_bin-*.*.*.zip.

Как установить?
Как любое дополнение блендера:

  • Откройте редактор User Preferences и переключитесь на вкладку Addons.
  • Нажмите Install from File и укажите архив, который вы скачали, или файл, который оттуда извлекли.
  • Включите дополнение Dark Engine Static Model.
  • Сохраните изменения, нажав Save User Settings.

Где мануал?
http://sourceforge.net/p/blenderbitsbobs/wiki/Dark%20Engine%20model%20importer-exporter/

Кто-нибудь вообще этим пользуется?
На данном форуме — Soul_Tear. Ещё кое-кто на http://systemshock.org для создания детализирующего пака. Возможно, есть и другие пользователи.

Благодарю Soul_Tear-а, Maxim-а, Zontik-а, Чужого и elvis-а за консультации и тестирование, и надеюсь на дальнейшее сотрудничество.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

StaticZ

вов, это круто... Даже очень круто!!! Я конечно в 3д полный нуб, но честно говоря блендеру больше всего симпатизирую (всякие 3д максы слишком уж монстроубразны), так что рад что именно блендер был выбран жертвой.

Извиняюсь за возможно глупый вопрос, но что с текстурками? Я загрузил модельку, но отображается лишь голая геометрия без текстур...
  Game isn't a dream, it is the reality, reality which is coming while we dream...

nemyax

Цитата: StaticZ от 17 сентября 2013 05:40:29
что с текстурками?
Текстуры скрипт не подключает. Он обрабатывает только данные, содержащиеся в самом .bin-файле (в данном случае имя файла текстуры). Чтобы посмотреть, как объект будет выглядеть с текстурой, надо её добавить в материал рукой. Скрипт просто не в курсе, где лежит этот файл.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Вкоммитил экспорт острых рёбер. Если он вам нужен, обновитесь.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

StaticZ

Цитата: nemyax от 17 сентября 2013 09:12:23Чтобы посмотреть, как объект будет выглядеть с текстурой, надо её добавить в материал рукой.
А не могли бы Вы подсказать, как это делается? Я че-то не соображу - сверху справа в иерархии объекта вижу Scene->World->Texture.001 и другие, но не могу с ними ничего сделать.


Цитата: nemyax от 17 сентября 2013 09:12:23Скрипт просто не в курсе, где лежит этот файл.
Там же в bin файле в начале прописаны имена текстур, с вероятностью 90% они лежат в папке tx16 рядом с моделью. Может стоит сделать, чтобы он хотя бы пытался оттуда загрузить текстуру, ну а если ее нет - то уже самому.


Цитата: nemyax от 17 сентября 2013 09:36:32Вкоммитил экспорт острых рёбер. Если он вам нужен, обновитесь.
Обновления я люблю  :yay: , спасибо за апдейт!
  Game isn't a dream, it is the reality, reality which is coming while we dream...

nemyax

Цитата: StaticZ от 17 сентября 2013 13:37:51
как это делается?
В контексте Material выбрать материал. В контексте Textures выбрать слот текстуры и нажать New. Или выбрать существующую текстуру выпадалкой слева от New.



Созданной текстуре задать тип Image or Movie. Нажать Open и указать файл.




Цитата: StaticZ от 17 сентября 2013 13:37:51
Может стоит сделать, чтобы он хотя бы пытался оттуда загрузить текстуру, ну а если ее нет - то уже самому.
Можно. Но до этого ещё ой как далеко.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

StaticZ

Что-то у меня немного не так, материалов вообще нет:


PS А что разве блендер не умеет читать *.dds?

Цитата: nemyax от 17 сентября 2013 13:59:15Можно. Но до этого ещё ой как далеко.
Будем ждать и надеяться дождаться....
  Game isn't a dream, it is the reality, reality which is coming while we dream...

nemyax

#7
StaticZ
Меш-то выдели, ёмаё.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

StaticZ

#8
Виноват, ступил. Повесил на все материалы текстуру как вы и говорили, но в редакторе модель по прежнему серая, где я опять накосячил?:



PS У вас случаем нет ничего на примете, что можно бы порекомендовать почитать для изучение блендера? =) Мне особо много и не нужно, хочу научиться делать простенькие квадратные модельки типа той, что у меня на скрине, думаю для этого достаточно самых азов...
  Game isn't a dream, it is the reality, reality which is coming while we dream...

nemyax

#9
Цитата: StaticZ от 17 сентября 2013 15:45:44
в редакторе модель по прежнему серая


Цитата: StaticZ от 17 сентября 2013 15:45:44почитать для изучение блендера
Так как мануал блендера — говно, лучше всего раскошелиться на книжку. Не могу сказать какую (не читал никаких), но логично брать те, что анонсируются на официальном сайте (http://www.blender.org/news-archive/, http://www.blender3d.org/e-shop/default_books.php), желательно в оригинале.
Наиболее вменяемые части документации блендера — релиз-логи. Их действительно стоит читать. Но, понятное дело, организация информации при таком ознакомлении отсутствует напрочь.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

StaticZ

Выставил ViewPort и Mapping Cpprdinates, как вы и показали - в результате моделька почернела, а вот менюшку с "Shading" найти не могу....


Цитата: nemyax от 17 сентября 2013 16:09:12Так как мануал блендера — говно, лучше всего раскошелиться на книжку. Не могу сказать какую (не читал никаких), но логично брать те, что анонсируются на официальном сайте (http://www.blender.org/news-archive/, http://www.blender3d.org/e-shop/default_books.php), желательно в оригинале.
Наиболее вменяемые части документации блендера — релиз-логи. Их действительно стоит читать. Но, понятное дело, организация информации при таком ознакомлении отсутствует напрочь.
Ну релиз логи мне наверное читать еще рановато - надо сначала хотябы азы освоить, что бы хоть как-то понимать о чем речь, а за ссылки на книжки спасибо - постараюсь достать.
  Game isn't a dream, it is the reality, reality which is coming while we dream...

nemyax

Цитата: StaticZ от 17 сентября 2013 18:07:04моделька почернела
Пмуша нет источников света. Надо добавить.

Цитата: StaticZ от 17 сентября 2013 18:07:04менюшку с "Shading" найти не могу
N во вьюпорте.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Играю тут в угадайку, пытаясь понять, как устроены иерархии в .bin-файлах. Перепробовал уже всё, на что хватило воображения, но редактор либо грузит один меш из имеющихся в файле, либо вовсе рушится.
Ощим готового инструмента ждите нескоро =(
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

StaticZ

  Game isn't a dream, it is the reality, reality which is coming while we dream...

nemyax

А надо, чтобы ещё и записывались с дочерними мешами, блэкджеком и прочим. Сейчас, кстати, они и загружаются неправильно. Например, глянь на pumps.bin: один из поршней взял себе не ту маму.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!