Нужна помощь

11 июля 2016 10:48 #10421
Добрый день,

Прошу помочь советом. Делаю интерактивную презентацию дома. Импортировал полностью готовую модель с текстурами через collada файл в blender. Рендер blender render корректно расставляет тени и распознает стены/кровлю, а вот по blend4web render уже вторые сутки не могу разобраться в следующем:
1) В режимах 3d mdoel "текстуры" и "материалы" свет от источником просвечивает все конструкции насквозь - насколько я понял, это сам blender так работает в режиме редактирования по умолчанию…. или я не прав и все ограждающие элементы должны по умолчанию отсекать свет даже в режиме редактирования?
2) Рендер blend4web выдает файл html с просвечивающими стенами, потолками и т.д, при том, что blender render выдает рендер с корректными тенями - что делаю не так?
3) Не могу сделать динамическую траву - выдается маленькое темное окно с перечнем ошибок, но не знаю где посмотреть лог - уточните, где можно глянуть лог
4) Потратил полночи на всключение cast shadows и receive shadows для всех сотен элементов импортированной модели и в blend4web render начали появляться тени от солнца (но стены все равно пропускали свет) - но это не работа конечно и не результат - прошу уточнить, можно ли как-нибудь выделить их все и для всех элементов сразу включить тени, или настроить как-нибудь по особому тени
5) Комп при открытии файла с включенными cast shadows и receive shadows для всех элементов начал безбожно тормозить и в итоге перестал загружать модель на 94% - ковырялся отключал в окне настроек рендера - земли все что можно но модель так и не начала загружаться - это ладно, сделал заново, но перспектива тяжелой модели требует её облегчения - за счет чего можно облегчить модель дома с мебелью? (м.б. тени, уменьшить кол-во полигонов мебели?, что влияет больше?)

Заранее спасибо за все инструкции,

Хорошего дня,

Алексей
Алексей
11 июля 2016 11:17 #10422
Есть у меня не большой опыт в перегонке моделей в блендер. Попробуйте следующие операции:
1. Сделайте копию резервную копию blend файла.
2. Объедините все объекты в один mesh объект (выделить всё и ctrl+j)
3. Далее в режиме редактирования выделите всё (кнопка A) и выполните remove doubles (Mesh ‣ Vertices ‣ Remove Doubles, после проверьте, правильно ли отображаются текстуры, частенько в некоторых местах едут координаты uv карт, если так происходит, то отменяем операцию, выделяем всё, кроме проблемных участков и повторяем операцию)
4. Далее выделяем всё в режиме редактирования и выполняем Limited Dissolve (Mesh ‣ Claean up ‣ Limited Dissolve)

Геометрия должна стать чистенькой. После настройте тени только на одном объекте.
Совет: попробуйте использовать для перегонки в blender формат obj вместо collada

Если у вас стены из одной плоскости то тени с обратной стороны будут проходить на сквозь и надо убрать материалам галку backface culling. Тут трудно что то ещё посоветовать, покажите хотя бы скрины в проблемных местах. В идеале blend файл.


P.S. если у вас источники света не перемещаются и вам подойдёт статическое освещение попробуйте запечь освещение. Я так делал в этой сцене. Об этом много информации в гугле.

И ещё мне тоже интересно как можно массово менять параметры объектам на примере флажка с тенями

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

Логи можно посмотреть потянув нижнюю линию границы под надписями File Render Window Help вверху.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
11 июля 2016 11:34 #10423

) В режимах 3d mdoel "текстуры" и "материалы" свет от источником просвечивает все конструкции насквозь - насколько я понял, это сам blender так работает в режиме редактирования по умолчанию…. или я не прав и все ограждающие элементы должны по умолчанию отсекать свет даже в режиме редактирования?
Да это техническая визуализация вьюпорта блендера во время редактирвоания, на него не стоит ориентирвоаться. Ориентируйтесь на то что вы видите во вьюпорте в режиме GLSL.

2) Рендер blend4web выдает файл html с просвечивающими стенами, потолками и т.д, при том, что blender render выдает рендер с корректными тенями - что делаю не так?
Если потолки и стены не имеют толщины а один только плейн то необходимо либо сделать им толщину с нормалями вывернутыми каждая в разные стороны, либо отвключить в материале стен и потолков Backface Culling и включить Doublesided Lighting.

3) Не могу сделать динамическую траву - выдается маленькое темное окно с перечнем ошибок, но не знаю где посмотреть лог - уточните, где можно глянуть лог
Пришлите пример файла с ошибкой мы попробуем разобраться это скорее всего баг.

4) Потратил полночи на всключение cast shadows и receive shadows для всех сотен элементов импортированной модели и в blend4web render начали появляться тени от солнца (но стены все равно пропускали свет) - но это не работа конечно и не результат - прошу уточнить, можно ли как-нибудь выделить их все и для всех элементов сразу включить тени, или настроить как-нибудь по особому тени
Да это достаточно старая проблема, в будующем мы планируем улучшения в эту сторону на уровне интерфейса, пока можете написать небольшой скрипт на Питоне который бы пробегал по выделенным предметам и включал нужные галочки. Посмотрите по этому поводу в интернете на Blender форумах должно быть много информации.

5) Комп при открытии файла с включенными cast shadows и receive shadows для всех элементов начал безбожно тормозить и в итоге перестал загружать модель на 94% - ковырялся отключал в окне настроек рендера - земли все что можно но модель так и не начала загружаться - это ладно, сделал заново, но перспектива тяжелой модели требует её облегчения - за счет чего можно облегчить модель дома с мебелью? (м.б. тени, уменьшить кол-во полигонов мебели?, что влияет больше?)
Конечно надо смотреть модель, но можно дать общие рекомендации. По возможности объединяйте объекты в один, особенно те которые отбрасывают тень. Старайтесь по возможности использовать один и тот же материал на похожих объектах, лучше не плодить кучу материалов которые ведут себя одинаково и с одними и теми же текстурами. Так же постарайтесь экономно использовать Cast Recieve/Shadows - не стоит бездумно включать тени на всей сцене, только на тех предметах на которых это будет действительно видно. Для высокополигональных объектов можно использовать специальные объекты только для отбрасывания теней выставив галочку Only Cast Shadows. Покрутите настройки теней: разрешение теневой карты, количество каскад, а так же количество источников отбрасываемых тени, сейчас их может быть до четырех, но возможно в вашей сцене хватит и одного. Так же не включайте на масштабных сценах SSAO, а запекайте AO в текстуру и накладывайте в материале, по этому поводу у нас полно уроков и статей в разделе туторов.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
11 июля 2016 12:51 #10427
Коллеги, проверил по части пунктов:

- Вместо collada неплохо сработал 3ds - были перенесены объекты с материалами внутри, по материалам есть привязки к юзерам, соответственно если не делать копии, то изменения вносятся во все объекты, что частично снимает проблему выделения всех объектов - (для дальнейшей работы принял, что 3ds более интересен для импорта, чем collada, obj же вообще не импортировал текстуры, поэтому его отбрасываем и вопрос с выделением сотен объектом можно считать закрытым)
Далее,
- В модели выбрал финишный материал кровли, сайдинг, один из слоев стен, ландшафт - то, что есть во всех объектах и как посоветовали убрал backface culling и поставил double sided lighting - никакой разницы - светит насквозь. Убрал солнце, поставил точечный источник - в режиме glsl светит через стены (прикладываю файлы по ссылке https://yadi.sk/d/1DBDUyF5tBdEb

-
Алексей
11 июля 2016 13:01 #10428
Коллеги, blend файл выложил в ту же папку на яндексе.
Алексей
11 июля 2016 15:25 #10429

Коллеги, blend файл выложил в ту же папку на яндексе.
У вас два источника света: лампа и солнце и оба кастят тени, но при этом на солнце отключены Specualr и Diffuse - собственно из за этого и проблема, источник света по сути кастит тени но не светит. Либо отключине на нем тени либо включите что бы он светил. У стен котоыре имеют толщину лучше убрать всетаки Backface culling и Double Sided lighting - это будет оптимальней по производительности. У вас так же в стенах много излишней геометрии. Это модель не из архикада случайно?)
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
11 июля 2016 17:36 #10431
Кстати говоря!!!!! Браузер может грузить закэшенную версию файла.
Алексей
11 июля 2016 18:14 #10432

Кстати говоря!!!!! Браузер может грузить закэшенную версию файла.
Поэтому надо отключать Кэш.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
11 июля 2016 18:47 #10433
Ответ на сообщение пользователя stilist
Коллеги, blend файл выложил в ту же папку на яндексе.
Тени появились, как только удалил лампочку а солнцу поставил галки specular и diffuse.

Немного в шоке, но на 10 винде на ноутбучной видеокарте hd5470 перестали рисоваться тени в b4w. На 8ке всё было норм. Сейчас разбираюсь с драйверами…
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
11 июля 2016 20:06 #10434
Вернулся обратно в chief architect - там есть функционал включения/выключения конструктивных элементов здания. Перед этим в blender обнаружил, что стена туда импортировалась со всей внутренней структурой - каркас, слои, drywall и прочее. Отключил каркас, но все равно по стенам, перекрытиям и кровле остались стандартные четыре plains. Меньше сделать нельзя, так как пропадет подконструкнция и финишные текстуры не будут наложены.

Как blend4web работает с внутренней структурой стены? Сколько может быть слоев внутри стен с plains, чтобы они друг между другом не рассчитывали свет/тени и прочее, а в расчете участвовали только наружка по стенам? Возможно ли удалить материалы, чтобы они удалялись вместе с plains стандартными средствами или надо будет в python разбираться? (хочу только наружные поверхности). Если совсем заморочиться, то будет ли работать скрипт: делаем стены полностью непрозрачные, включаем environment lighting, определяем перечень plains без освещения, удаляем их?
Алексей
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.