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

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

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

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

Maxim

Потащит :)
Лично я плетёнку даже не рассматриваю. Это само собой разумеющееся, что её можно/нужно сделать текстурой, которую обработать так, чтоб объём чувствовался.
Я собираюсь сделать так, как было бы и в то время — простые "перила" из досок. Даже на концепт-арты из реальных фото ориентироваться не буду. И так понятно как должно быть и как было в случае тележек, когда не использовалась "корзиночная" структура.
Но я не удивлюсь, если Soul_Tear собирается использовать подобное вместе с этими всеми отдельными четырёхугольными элементами плетёнки. Сами то они действительно low poly, но в сумме полигонов наверное дофигища.
Жесть ))) Новая доктрина миссий, что уж.
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Soul_Tear

Цитата: Maxim от 23 октября 2015 05:12:16
Классная модель!
Сам такую тоже сделать теперь хочу. Пожалуй, сделаю :) Спасибо за ненароком подкинутую идею. А ведь и правда... тележки же нужны эти! Это не только было в оригинальной игре (особенно в Deadly Shadows), но и одна из повсеместных вещей того времени. Да и в сюжете куча мест её применения. Мне даже кажется, что вспомнил бы о ней точно не скоро.
Спасибо SoulTear :)

P.S. Количество граней у цилиндров колёс великовато, должен заметить, для Thief II. Как бы потом игроки не ловили слайд-шоу от таких объектов, хе хе. Я стараюсь 16 делать в особых случаях. А тут наверное все 24. Хотя... это сходится с твоей новой доктриной для авторских миссий.

Эта телега скачана с фри базы. Скорее всего граней тут больше 24, поэтому и плагин не берет.

Я попробую модернизировать телегу Кристины. Она даже со связкой сена, только колеса квадратные, Зонтик был бы в восторге. Колеса можно удалить и заменить колесами Элвиса.

Soul_Tear

Цитата: Maxim от 23 октября 2015 20:24:11
Лично я плетёнку даже не рассматриваю. Это само собой разумеющееся, что её можно/нужно сделать текстурой, которую обработать так, чтоб объём чувствовался.
Я собираюсь сделать так, как было бы и в то время — простые "перила" из досок. Даже на концепт-арты из реальных фото ориентироваться не буду. И так понятно как должно быть и как было в случае тележек, когда не использовалась "корзиночная" структура.
Но я не удивлюсь, если Soul_Tear собирается использовать подобное вместе с этими всеми отдельными четырёхугольными элементами плетёнки. Сами то они действительно low poly, но в сумме полигонов наверное дофигища.
Жесть ))) Новая доктрина миссий, что уж.

Я за 16-гранные колеса. Углы конечно будут видны, но такую фигуру вполне можно называть кругом. 8 граней - это квадрат со срезанными углами. Мне это бросалось в глаза еще в конце 90-х, когда играл в PS1.
Что касается плетенки, здесь нужно соблюдать тонкий баланс между рациональностью и реалистичностью.
В "Скайриме" довольно примитиная плетенка, но грамотно реализована:


Верхние веточки сделаны полигонами, а все, что под ними, нарисовано на прозрачном фоне. Если же сделать и верхние веточки нарисованными, то станет убого.


nemyax

Цитата: Soul_Tear от 24 октября 2015 15:36:33плагин не берет
Тут дело не в плагине, а в чудо-формате. Плагину в общем-то без разницы, сколько в модели полигонов, а вот формату — нет. Однако мне следовало бы сделать человеческое сообщение об ошибке. Пожалуй, в следующей версии добавлю.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Maxim

nemyax Извини за быдло-вопрос, но я ведь не разбираюсь на таком уровне. Поэтому просто спрошу:
Ты можешь посидеть какие-то дни и доделать нормальные плагины для Wings & Blender без всяких багов? Например те баги, что я присылал - была приватная починка, да. А для всех залить, обновить ссылки на исходных ресурсах?
Сделай уже чтоб мы нормально творчеством занимались, а не спотыкались о разные неведомые камни :)
Please.
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

nemyax

Update 0.3.20160511

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

Скачать: https://sourceforge.net/projects/blenderbitsbobs/files/

Про BSP, сортировку, овощи рожь вот это всё
Да, это именно то, о чём было столько флуда. Исполосованные меши, тысячи покалеченных фейсов, корректная прозрачность, все дела. Однако в данном обновлении алгоритм пока ещё экспериментальный. Чем проще геометрия, тем надёжнее результат.
Я ещё планирую дотошнить этот BSP-резак до условно приличного состояния, но добиваться его совершенства считаю бессмысленным. Во-первых, не рекомендую пользоваться BSP-сортировкой вовсе, если можно сделать другим способом. Во-вторых, даже самая корректная прозрачность локализована одним объектом. Если идеально-корректно-прозрачных объектов два и более, в определённых ракурсах во мрак-моторе всё равно всё насмарку, и задние будут совершенно не видны за передними. В-третьих, в будущем я собираюсь добавить сортировку на основе вручную назначенных групп вершин.
Несмотря на всю бесперспективность фичи, добить её — дело чести, и я рад грядущему окончанию этого бесславного анабасиса.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Maxim

Круто! Спасибо за работу. Скачаю.
А к Крылатым улучшение плагина не планируется?
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

nemyax

Цитата: Maxim от 12 мая 2016 00:45:20
А к Крылатым улучшение плагина не планируется?
Думаю, в июньчике получится.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Update 0.3.20160811

  • Добавлена опция Export only from visible layers, позволяющая избежать экспорта объектов со скрытых слоёв.
  • Исправлен баг, который обнаружил Chuzhoi: если у подобъекта было три потомка и более, то в экспортированной модельке отрисовывался только один из них.
Скачать: https://sourceforge.net/projects/blenderbitsbobs/files/
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Update 0.4.20160826
Дополнительно к BSP появился новый способ обеспечить сортировку полигонов при экспорте, на этот раз управляемый. Делать это теперь можно при помощи именованных групп вершин.


Данный метод никак не влияет на число полигонов, но не универсален. Хотя, учитывая то, что у нас за движок, сложно придумать ситуацию, где он бы не мог выручить. Именование групп вам, возможно, придётся аккуратно продумывать, а то и немного корректировать.
Поясню суть на примере. Допустим, у вас в миссии стеклянный бокал. Для корректной прозрачности нужно, чтобы полигоны отрисовывались от задних планов к передним. Эти самые планы мы и будем размечать группами вершин. Вот как можно упорядочить отрисовку кусков бокала:


Циферками обозначен порядок, в котором будет происходить рендеринг. От нас теперь требуется для каждого плана:

  • создать вершинную группу;
  • снять выделение и выделить нужные полигоны;
  • добавить выделенное в группу.
Для сортировки скрипт использует алфавитный порядок. Пример именования групп:


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


Да, при взгляде снизу будут небольшие проблемы. Но в игре вы вряд ли так подлезете, чтобы их обнаружить.

Примечания:

  • Строго говоря, в группы добавляются не полигоны, а их вершины. Экспортёр считает членом группы полигон, у которого в неё попали все вершины. Если полигон своими вершинами влез в несколько групп, берётся первая по алфавиту.
  • Полигоны, не попавшие ни в какие группы, отрисуются в последнюю очередь.
  • Если при экспорте объекты склеиваются, то суммируются и их вершинные группы. При совпадении имён суммируются составы групп.
Качать всё там же: https://sourceforge.net/projects/blenderbitsbobs/files/
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Update 0.4.20161124
Исправлены проблемы, которые обнаружил Soul_Tear:

  • регрессия при экспорте vhot-ов, приводившая к краху скрипта;
  • отсутствующие родительские связи в экспортированных моделях.
https://sourceforge.net/projects/blenderbitsbobs/files/
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

#356
Спасибо :up: Новую версию просто положить поверх старой?

Я вот думаю, на будущее можно и не заморачиваться с сундуками и дверьми, а просто переделать ОМ модель. Сейчас я все же сделаю свою, чтобы руку набить.

nemyax

Ага, просто перезатереть.

Цитата: Soul_Tear от 25 ноября 2016 17:21:04
Сейчас я все же сделаю свою, чтобы руку набить.
Только следи, чтобы полигоны не были вогнутые, как у той штуки на углу сундука. Неизвестно, какие коленца рендерер будет кидать с такими полигонами. Лучше их треуголить.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

Все равно связь с дитем обрывается. Создал новый проект, привязал к исходному кубу-родителю два таких же ребенка, затем еще один куб, который объединил ее с одним из детей - связь сразу порвалась. На всякий случай Блендер переустановил и заново прописал новый скрипт, но не помогло.

nemyax

Блин блинский. Выложи проблемный файл, пожалуйста.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!