Форум

Переключение материала и текстур

14 мая 2015 19:09 #2382
Что значит "схожая структура?" Я создал копию, заменив картинку на прозрачный PNG. Ну, собственно, не хочет перетягиваться. Проект в студию?
Имеется в виду набор используемых текстур (не сами текстуры). Т.е. Нормалмап + диффуз. Или диффуз + спек. И т.д.
В студию желательно какой-нибудь минималистичный вариант сцены с воспроизводимым поведением.
Разработчик Blend4Web
15 мая 2015 11:39 #2390
логика в^
    cube_test.js ral_functional.js


Рабочие файлы:
    Change_diff_color_test_30-04-2015.html stoiki_sample_002.json stoiki_sample_002.bin

Попробую пока создать копию объекта TapeShevron и заменить ему текстуру с уменьшением влияния цвета в Influence. по результатам отпишусь.
В zip
Коплю деньги на коммерческий B4W.
15 мая 2015 12:42 #2392
Рабочие файлы:
Change_diff_color_test_30-04-2015.html stoiki_sample_002.json stoiki_sample_002.bin
Вы прикрепили только blend-файл (без текстур). Я его экспортировал в json и вызвал функцию scenes.hide_object на объекте "TapeShevron", и он отлично скрылся. Но в вашей сцене на месте этого объекта есть много объектов с точно такой же геометрией. Например, "TapeRus". Я думаю, то, что вы принимаете за "TapeShevron", - это один из них.
Разработчик Blend4Web
15 мая 2015 13:04 #2395

много объектов с точно такой же геометрией. Например, "TapeRus". Я думаю, то, что вы принимаете за "TapeShevron", - это один из них.
Мужики, я просто невнимательный придурок! Извините, что мозги Вам пудрю. Задвоение функции. Инхерит забыл из логики исключить.
Коплю деньги на коммерческий B4W.
15 мая 2015 14:12 #2396
Ответ на сообщение пользователя Йеджи Заборовски
Мужики, я просто невнимательный придурок! Извините, что мозги Вам пудрю. Задвоение функции. Инхерит забыл из логики исключить.
Хорошо, что разобрались. Удачи в вашем проекте
Разработчик Blend4Web
02 июля 2015 15:09 #2902
Canvas текстуры можно динамично менять? К примеру, загурзив в папку изображение с таким же названием.
Скажем, есть развертка UV некоего параллелепипеда. Хочу грузить картинку и чтобы она разворачивалась так, как нужно на данном параллелепипеде.
Коплю деньги на коммерческий B4W.
02 июля 2015 16:08 #2905

Canvas текстуры можно динамично менять? К примеру, загурзив в папку изображение с таким же названием.
Скажем, есть развертка UV некоего параллелепипеда. Хочу грузить картинку и чтобы она разворачивалась так, как нужно на данном параллелепипеде.

Добрый день.
Canvas-текстура имеет широкий спектр возможностей. Обратите внимание на пример "Canvas texture" из приложения "Code snippets".
Для смены изображения в текстуре достаточно произвести ряд не хитрых манипуляций, при условии, что в Blender'e была создана canvas-текстура с именем "canvas_tex".

var ctx_image = m_tex.get_canvas_texture_context("canvas_tex");
var img = new Image();
img.src = "image.jpg";
img.onload = function() {
ctx_image.drawImage(img, 0, 0, ctx_image.canvas.width,
ctx_image.canvas.height); // отрисовка нового изображения
m_tex.update_canvas_texture_context("canvas_tex"); // обновления текстуры
}

Как видно из кода, имя файла и его расположение не имеют значения
Разработчик Blend4Web
03 июля 2015 09:47 #2914

Для смены изображения в текстуре достаточно произвести ряд не хитрых манипуляций, при условии, что в Blender'e была создана canvas-текстура с именем "canvas_tex".

Уточню: не имя текстуры, а Source ID

Все это есть в документации
Разработчик Blend4Web
10 октября 2016 09:37 #12540
Какая-то странная особенность ноды Inherit Material

Мне нужно менять одну из текстур на мультиматериальном объекте.
Обычный диффуз, без всяких нодов.
2 материала, назначенные разным граням меша.

Нужно допустим менять материал gui_green.

Я сделал другой вспомогательный объект (Plane), на котором сделал 2 материала
- gui_green (то же что и на Объект-е)
- gui_gray (еще одно состояние текстуры)

И логично, предположил, что смогу сделать так:
"Скидывать с Plane и gui_green, и gui_gray в слот gui_green Объекта". (в ноде же есть выбор какой материал скидывать)
Так вот нет. Скидывается только один материал (gui_grey).

Можно еще проще.

Объект
- материал RED

Вспомогательный объект
-материал RED (такой же как и на главном объекте)
-материал BLUE

Так вот с вспомогательного "скидывается" на объект только BLUE.

Я решил эту проблему, заведя ЕЩЕ ОДИН вспомогательный объект (источник материала)
Привел решение ниже
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.