Сообщения, созданные пользователем Йеджи Заборовски
14 мая 2015 17:22
14 мая 2015 17:11
ДА
Засада: есть просто материал простой диффузный и два материала с текстурами-картинками. Мне нужно на диффузный натягивать эти картинки. Если я заведу пустую текстуру, то отрендерится она у меня со специфическим розовым цветом. Как быть? Ставить прозрачную картинку?
На нём стоит флажок "Force Dynamic Object"?И на всех стоит.
Для корректной работы Inherit material требует, чтобы у материалов была схожая структура. Например, если на одном материале есть normalmap, желательно, чтобы она была и на другом. В противном случае, сохранится старая текстура.
Это сделано, чтобы данную функцию можно было использовать в реальном времени, без тормозов. Поддержка полноценного переноса требовала бы очень большого количества вычислений и перекомпиляции шейдера.
Засада: есть просто материал простой диффузный и два материала с текстурами-картинками. Мне нужно на диффузный натягивать эти картинки. Если я заведу пустую текстуру, то отрендерится она у меня со специфическим розовым цветом. Как быть? Ставить прозрачную картинку?
Коплю деньги на коммерческий B4W.
14 мая 2015 15:05
Для материалов есть модуль material
В нём есть функция inherit_material позволяющая перетянуть материал с другого объекта (например, заранее подготовленная плоскость)
Столкнулся опять с трудностью:
function change_tape(hex, z) {
var m_scenes = b4w.require("scenes");
var m_mat = b4w.require("material");
if(z == "default"){
console.log(hex, z);
var obj_01 = m_scenes.get_object_by_name("TapeShevron");
var obj_02 = m_scenes.get_object_by_name("TapeRus");
var obj_03 = m_scenes.get_object_by_name("TapeBlack");
var obj_04 = m_scenes.get_object_by_name("TapeBlue");
var obj_05 = m_scenes.get_object_by_name("TapeDarkGreen");
var obj_06 = m_scenes.get_object_by_name("TapeGreen");
var obj_07 = m_scenes.get_object_by_name("TapeGrey");
var obj_08 = m_scenes.get_object_by_name("TapeOrange");
var obj_09 = m_scenes.get_object_by_name("TapeRed");
var obj_10 = m_scenes.get_object_by_name("TapeYellow");
m_scenes.hide_object(obj_01);
m_scenes.hide_object(obj_02);
m_scenes.hide_object(obj_03);
m_scenes.hide_object(obj_04);
m_scenes.hide_object(obj_05);
m_scenes.hide_object(obj_06);
m_scenes.hide_object(obj_07);
m_scenes.hide_object(obj_08);
m_scenes.hide_object(obj_09);
m_scenes.hide_object(obj_10);
switch(hex){
case "Red":
var obj = m_scenes.get_object_by_name("TapeDef");
var mat = "MatTapeDef";
var rgb = new Float32Array([1.000, 0.000, 0.002]);
break;
case "Green":
var obj = m_scenes.get_object_by_name("TapeDef");
var mat = "MatTapeDef";
var rgb = new Float32Array([0.000, 0.800, 0.021]);
break;
}
if (obj) {
console.log(obj);
m_mat.set_diffuse_color(obj, mat, rgb);
console.log(mat);
}
}else{
switch(hex){
case "Rus":
var objto = m_scenes.get_object_by_name("TapeDef");
var matto = "MatTapeDef";
var objfrom = m_scenes.get_object_by_name("TapeRus");
var matfrom = "Mat_Tape_Rus";
console.log(objfrom);
console.log(objto);
console.log(matfrom);
console.log(matto);
break;
case "Shevron":
var objto = m_scenes.get_object_by_name("TapeDef");
var matto = "MatTapeDef";
var objfrom = m_scenes.get_object_by_name("TapeShevron");
var matfrom = "Mat_Tape_Shevron";
console.log(objfrom);
console.log(objto);
console.log(matfrom);
console.log(matto);
break;
}
m_mat.inherit_material(objto, matto, objfrom, matfrom);
}
}
Всё куда нужно попадает (имею ввиду данные), но:
1. после object_hide() пытаюсь условным оператором открыть объект- пишет, что это возможно только для динамических объектов. Однако, у меня все объекты динамические.
2. Объекты скрыты. Инхерит по факту материал не перетягивает.
Коплю деньги на коммерческий B4W.
14 мая 2015 11:06
Еще вопрос по арматуре.
Есть несколько объектов (меши), каждый привязан к арматуре.
Задача: добавить еще несколько костей к арматуре и привязать новые меши.
Вопрос: будет ли корректно работать в дальнейшем НЛА-анимация ?
Как я помню, все изменения должны производиться до создания НЛА-трека.
А какие измения? Редактирование арматуры? Смена location после привязки меша к костям?
Есть несколько объектов (меши), каждый привязан к арматуре.
Задача: добавить еще несколько костей к арматуре и привязать новые меши.
Вопрос: будет ли корректно работать в дальнейшем НЛА-анимация ?
Как я помню, все изменения должны производиться до создания НЛА-трека.
А какие измения? Редактирование арматуры? Смена location после привязки меша к костям?
Коплю деньги на коммерческий B4W.
12 мая 2015 12:01
11 мая 2015 10:27
10 мая 2015 20:24
09 мая 2015 18:45
Нестыковочка по переводу.
Делить нужно не на 255, а непонятно на что впринципе.
Я обнаружил несоответствие цветов при переводе по схеме RGB/255.
Пример:
1. Взяли цвет RGB 204,197,143
2. При делении каждого числа на 255 получается: 0.941, 0.772, 0.560 (это оттенок серого)
3. переводим цвет RGB 204,197,143 в HEX - CCC58F и запихиваем в Блендер.
4. Получаем нужный оттенок оливкового с цифрами: 0.604, 0.558, 0.275
0.941, 0.772, 0.560
0.604, 0.558, 0.275
Вот такая арифметика.
Делить нужно не на 255, а непонятно на что впринципе.
Я обнаружил несоответствие цветов при переводе по схеме RGB/255.
Пример:
1. Взяли цвет RGB 204,197,143
2. При делении каждого числа на 255 получается: 0.941, 0.772, 0.560 (это оттенок серого)
3. переводим цвет RGB 204,197,143 в HEX - CCC58F и запихиваем в Блендер.
4. Получаем нужный оттенок оливкового с цифрами: 0.604, 0.558, 0.275
0.941, 0.772, 0.560
0.604, 0.558, 0.275
Вот такая арифметика.
Коплю деньги на коммерческий B4W.
08 мая 2015 22:36