Форум

Экпорт сцены из blender

17 марта 2015 00:22
Здравствуйте, ищу движок для проекта. Решил попробовать экспортировать локацию в движок, но получил не совсем тот результат который ожидал.
На этом изображении видно то, что есть в blendere

После экспорта аддоном в html получил следующее

Фиолетовый прямоугольник - это нормально, там плоскость без текстуры.
Проблемы две.
Первая - сжатые обьекты на сцене

Вторая - обводка у текстуры, я так понимаю это те места, в которых идет полупрозрачность

Подскажите в чем проблема? Если, по скриншотам сложно сказать могу выслать исходник.
И ещё вопрос по производительности, сейчас HTML файл весит 80мб, что очень много, происходит долгая инициализация, скажите это из-за плеекра все так печательно? В релизной версии можно значительно ускорить инициализацию?
17 марта 2015 01:14
В бленедере в разделе object нашел подраздел blend4web, выставил Apply scale у обьектов и первая проблема со сжатием разрешилась. Вторую проблему удалось решить в разделе texture-> influence параметр aplha надо выставить на 1, буду пробывать другие варианты, хотелось бы 0.7 выставить, чтобы менее густыми были ветки
17 марта 2015 10:07
Да будет удобнее если вы пришлёте исходник (по возможности прикрепите файл здесь на форуме, если не хотите публиковать то на почту которая указана в подписи)
Менеджер и 3D художник Blend4Web
Запекайте Ambient Occlusion!!!
mikhail@blend4web.com
17 марта 2015 10:29

Ответ на сообщение пользователя Onis
В бленедере в разделе object нашел подраздел blend4web, выставил Apply scale у обьектов и первая проблема со сжатием разрешилась. Вторую проблему удалось решить в разделе texture-> influence параметр aplha надо выставить на 1, буду пробывать другие варианты, хотелось бы 0.7 выставить, чтобы менее густыми были ветки
Да, движок не поддерживает не равномерный скейл, тоесть когда одна сторона напрмиер имеет скейл 0.5 а друга 0.4 или больше. В таком случае можно (как вы сделали) применить Apply Scale или вручную. В случае с ветками вы конечно можете выставить 0.7 прозрачность, но только средствами нодового материала или вручную на текстуре с помощью Gimp, но это менее гибко.

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

Ответ на сообщение пользователя Onis
И ещё вопрос по производительности, сейчас HTML файл весит 80мб, что очень много, происходит долгая инициализация, скажите это из-за плеекра все так печательно? В релизной версии можно значительно ускорить инициализацию?
HTML вариант содержит всё сразу и текстуры и json файл внутри поэтому всё вести так много. Если сделать нормальную структуру проекта и использовать для проектирования Blend4Web SDK то всё будет отдельно текстуры json файлы и ядро системы. Благодаря этому вы можете оптимизировать структуру проекта например расшарить текстуры в отдельной библиотеке матриалов, сейчас скорее всего некоторые текстуры загружаются по несколько раз, возмонжо и они сами весят немало и их вполне возможно можно оптимизировать, некоторые объединить в текстурный атлас и т.д. Так же деревья можно сделать дублигруппами (сейчас я так понимаю каждое дерево это индивидуальный объект) это значительно сократит объем загружаемого файла. Надо смотреть индивидуально. Для примера оптимизации и понимания лучшей структуры проекта вы можете посмотреть структуру игры Сказ о Пятигоре например, она доступна в бесплатной версии SDK, это отрабонная нами годами структура проекта которая позволяет добиться лучшей производительности. Обратите внимание как сделаны горы вокруг лавы и обелиски в центре, они не только используют в разных случаях одну и ту же геометрию но и имеют например одно текстурное пространство с островами в центре и т.д.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
17 марта 2015 13:03
Выслал файл на почту.
HTML вариант содержит всё сразу и текстуры и json файл внутри поэтому всё вести так много. Если сделать нормальную структуру проекта и использовать для проектирования Blend4Web SDK то всё будет отдельно текстуры json файлы и ядро системы.
json файлы и bin файлы + текстуры после сжатия - занимают весьма мало. Вес других движков (three.js, babylon) относительно мал, у вас есть сжатая версия движка, все-таки даже 10мб для движка кажется весьма много, даже если его кешировать.
Благодаря этому вы можете оптимизировать структуру проекта например расшарить текстуры в отдельной библиотеке матриалов, сейчас скорее всего некоторые текстуры загружаются по несколько раз, возмонжо и они сами весят немало и их вполне возможно можно оптимизировать, некоторые объединить в текстурный атлас и т.д. Так же деревья можно сделать дублигруппами (сейчас я так понимаю каждое дерево это индивидуальный объект) это значительно сократит объем загружаемого файла.
Структура у проекта сейчас весьма хороша, на данный момент стоит выбор между движком. Графика вроде бы максимально оптимизирована под требования к ней (сжатие текстур пока не учитываем, и текстуры типа ландшафта пока не учитываем, будут генерироваться на клиенте через canvas для ускорения загрузки).
Хотел бы ещё узнать по поводу возможностей движка. Извиняюсь за свою "лень", но раз тут живая поддежка, решил получить ответы быстрее, поиск иногда весьма нудная штука. Я не прошу развернутого ответа, мол надо сделать так-то так-то, как вы дали ответ на вопрос со скейлом, просто да-нет.
Анимация, у модели есть несколько различных анимаций. Можно ли сделать плавный переход от одной анимации к другой (скажем персонаж идет и решил присесть, чтобы переход не был рывком)? Или движок может воспроизводить только заранее созданные в блендере анимации?
Определение под каким обьектом находится мышка. Возможно подсветить контур персонажа(можно не контур а хоть полоску под ногами) под которым сейчас находится мышка?
17 марта 2015 14:52
Посмотрел игру Сказ о Пятигоре. Понравился объем передаваемых данных, однако инициализация, конечно, не мгновенная, даже с учетом кеша браузера( Появился ещё один вопрос по персонажу. Допустим есть персонаж - голая моделька, у неё есть скелет. Анимация скелетная, и есть комплекты одежды с тем же скелетом. Можно ли задать скелетам одежды двигаться точно так же как и скелету персонажа?
17 марта 2015 14:56
у вас есть сжатая версия движка, все-таки даже 10мб для движка кажется весьма много,
Вы что то путаете. Те файлы которые необходимы для запуска весят каждый не больше мегабайта - b4w.full.min.js, тоесть максимальная версия движка - 800 кб; его минимальная версия (с минимальным необходимым набором функций) - b4w.min.js - 840 кб; и физический движок (при необходимости) uranium.js - 1,1 мб. HTML - экспорт это черновой вариант экспорта, и его лучше использовать только для предварительных тестов и превью сцены, или же если у вас совершенно нет навыков в программировании а вы хотите запостить в свой блог свою модель. Рабочий экспорт идёт напрямую в json файл, + добавляется необходимый файл движка (например b4w.full.min.js не более 880 кб) + ваши текстуры и звуки + html который понадобиться писать вручную для внешнего json файла. Вот это и будет вес вашего проекта.

Структура у проекта сейчас весьма хороша,
Возможно.Но я позволю себе дать пару советов. Все деревья располагаются единым мэшем и на самом деле если бы растиражировать их при помощи дублигрупп, то грузилась бы пользователем всего лишь одна елка или две (если они разные). Так же можно было бы сделать с травой. Камни необязательно было запекать на текстуру с альфаканалом а просто наложить небольшую (не более 256) тайловую текстуру и смотрелось бы это лучше. Основной материал земли можно было бы сделать при помощи черно белой маски (не более 1024) по которой смешать две тайловые текстуры травы и брусчатки ( по 512), а запеченные тени расположить в альфаканале маски. Это бы сильно сократило размер, я уверен можно добиться не более 6-8 мг вся сцена. Да и ветки на текстуре размещены не экономично.
Чтоб не быть совсем голословным вот в этом видео на 1:10 вы моежте видеть сцену с большим количеством разных диффузных текстур, карт нормалей, сложных динамических материалов и систем частиц и весит она вся при html эксморте всего 18 мгб. Она сейчас не доступна для скачивания, но будет в скором времени и вы сможете лично в этом убедиться. Все дело в оптимизации и по во многом так же в размере текстур.

Анимация, у модели есть несколько различных анимаций. Можно ли сделать плавный переход от одной анимации к другой (скажем персонаж идет и решил присесть, чтобы переход не был рывком)? Или движок может воспроизводить только заранее созданные в блендере анимации?
Несколько релизов назад такая функция была доступна, но в данный моменты мы убрали эту ветку из главной на небольшие доработки, так как не во всех случаях она корректно работала. В данный момент эта функция дорабатывается и в ближайших релизах вы сможете ей воспользоваться.

Определение под каким обьектом находится мышка. Возможно подсветить контур персонажа(можно не контур а хоть полоску под ногами) под которым сейчас находится мышка?
Подробно это освящено в этой теме, но если вас инетересует кратко то - да это возможно.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
17 марта 2015 15:01
Понравился объем передаваемых данных, однако инициализация, конечно, не мгновенная, даже с учетом кеша браузера
Ну мгновенной инициализации можно добиться только на десктопах, это все таки вэб, да и всё упирается в производительнось компьютера конечного пользователя.

Можно ли задать скелетам одежды двигаться точно так же как и скелету персонажа?
Да конечно вы можете навесить один и тот же скелет на неограниченное количество геометрий и при необходимости динамически прятать ненужные части а нужны раскрывать или даже совсем выгружать из сцены.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
17 марта 2015 15:10

json файлы и bin файлы + текстуры после сжатия - занимают весьма мало. Вес других движков (three.js, babylon) относительно мал, у вас есть сжатая версия движка, все-таки даже 10мб для движка кажется весьма много, даже если его кешировать.
В дополнение к сказанному например вот эта демка при экспорте в html весит всего 194 мгб., по насыщению она намного больше вашей а весит всего лишь в два раза больше. Всё дело в оптимизации и организации сцены, она и весь будет меньше и грузиться быстрее.
Так же вот в этой простой демке которая наиболее близка к вашей вы можете посмотреть как сделаны деревья и земля, да и сам дом. Эти приёмы позволяют максимально облегчить сцену и при экспорте в HTML она весит всего 10 мб. Она так же доступна в бесплатной версии SDK для вашего изучения.

Blend4Web и всё такое. Тридешу тридэ, моделю модели.
28 марта 2015 19:58
Здравствуйте, более менее разобрался. Дошел до персонажей, возникли проблемы не могу экспортировать анимированных персонажей, появляется ошибка - "EXPORT ERROR: The "Armature" armature modifier has no armature object or it is not exported. Modifier removed." . Выслал файл на почту mikhail-sb@blend4web.com . В блендере я не силен, рисовалось на заказ.
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.