Смена enviroment текстуры окружения

01 марта 2018 08:47
Всем привет.

Использую blend4web не совсем обычным способом - для создания 3д туров.
Панорама устанавливается как Background Enviroment Texture в Cycles. Затем в веб приложении все отлично отображается, проблемы возникают, когда панораму нужно поменять. В вашем примере code_snippets change image использована конструкция:

m_tex.change_image(_world, "lightmap", PATH_TO_IMG_CUBE_2b, change_img_cb);

Но, во-первых change_image уже как я понял устарел, а во-вторых я не могу найти свою текстуру в мире, выдается ошибка: B4W ERROR: Couldn't find texture "room1" in object "%meta_world%World". И это логично, потому что room1 это image, который был активирован в Cycles. Тоже самое касается и метода m_tex.replace_image(cube, "Texture", image). Я понимаю как он работает, но не могу разобраться как мне сослаться на изначальную текстуру, что бы он ее распознал.

Подскажите пожалуйста, как нужно засетапить сцену в блендере, чтобы затем можно было спокойно менять панораму окружения? Как по крайней мере это сделано в файле code_snippets?

Пример моей панорамы (Откройте с мобильника, там есть крутой режим управления гироскопом ).
Ищу Unity-разработчика!
ylee.io
01 марта 2018 14:36
К сожалению в данный момент можно заменять только текстуры окружения, настроенные в Blender Render. По-быстрому это не пофиксить. Добавил в TODO. В качестве обходного пути вы можете перезапечь ваши текстуры в формат Blender Render кубмапы.

PS А с гироскопом и правда круто. Ориентация моей комнаты совпала с той, что в карте окружения, и комп там же где и мой размещен, вышло забавно), как портал в параллельный мир
Александр (команда Blend4Web)
twitter
01 марта 2018 15:46
Подскажите пожалуйста, как нужно засетапить сцену в блендере, чтобы затем можно было спокойно менять панораму окружения? Как по крайней мере это сделано в файле code_snippets?
Надо настроить окружение в bleneder internal (https://www.blend4web.com/doc/ru/textures.html?highlight=environment%20map#index-9). А ваши hdri надо cконвертировать в cubemap так сделано в change image
21 сентября 2018 10:32
Добрый день! Столкнулся с аналогичной проблемой. Сконвертировал текстуру окружения в cubemap - все ок, а дальше не пойму как использовать в данном случае метод m_tex.replace_image(cube, "Texture", image). Пробовал вместо cube объявить var _world = m_scenes.get_world_by_name("World") - не помогает
Подскажите пожалуйста, как правильно это делать.
23 сентября 2018 19:20
26 сентября 2018 18:49
К сожалению, нет. Когда делаешь по этому примеру, выдается, что метод больше не поддерживается, ибо он морально устарел. Может все дело в том, что метод m_tex.replace_image(cube, "Texture", image) не работает с текстурами окружения мира, а только с текстурами объектов? На объекте смену текстур реализовать с его помощью удается.
01 октября 2018 16:11
Пардон, кажется я смотрел старый пример.
03 октября 2018 10:55
Спасибо, товарищу с англоязычной версии форума. Все дело было в одной галке!
https://www.blend4web.com/en/forums/topic/4907/
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.