Форум

Сообщения, созданные пользователем Steven_Kirke
08 сентября 2017 16:36
Михаил я правильно понял что в свиток текстур кидаем 2 текстуры (diffuse, normal) и настраиваем.
08 сентября 2017 15:37
Всем добрый день.
А без нодового дерева возможно использовать карты Normal?
05 сентября 2017 17:06
спасибо, а двухсторонние шейдера blender 4 web поддерживает?
05 сентября 2017 16:03
Что то все равно не получается….
function show_geometry_six()
{
switch(select_variable)
{
case 1:
var intel_five = m_scenes.get_object_by_name("intel_5");
m_tex.change_image(intel_five, "amd_1", "./cpu_tex_amd_1.png");

br


берется объект со сцены на котором необходимо изменить материал, затем любой материал сцены и его текстура.
05 сентября 2017 15:26
Добрый день.
Ребята, у кого есть время поясните как поменять текстуру на геометрии через JS.
как я понял:
1) инициализипруем модуль текстуры. var m_tex = require("textures");
2) подгружем геометрию на которой будем менять тех.
var CPU_one = m_scenes.get_object_by_name("CPU");
3) меняет по событию текстуру с помощью
m_tex.change_image(CPU_one , "Texture", "./cpu_tex_amd_1.png");
не могу понять значение «Texture»
04 сентября 2017 15:10
или так?
function show_geometry_one()
{
var all_coolers = m_scenes.get_object_by_name("All_coolers");
var Cooler_one = m_scenes.get_object_by_name("Cooler_1");
m_scenes.hide_object(all_coolers);
m_scenes.show_object(Cooler_one);
}

function show_geometry_two()
{
var all_coolers = m_scenes.get_object_by_name("All_coolers");
var Cooler_two = m_scenes.get_object_by_name("Cooler_2");
m_scenes.hide_object(all_coolers);
m_scenes.show_object(Cooler_two);
}

function show_geometry_three()
{
var all_coolers = m_scenes.get_object_by_name("All_coolers");
m_scenes.hide_object(all_coolers);
}
04 сентября 2017 14:40
Добрый день.
Есть функция, которая показывает объект
function show_geometry_one()
{
var Cooler_one = m_scenes.get_object_by_name("Cooler_1");
all_hide_cooler();
m_scenes.show_object(Cooler_one);
}

В данной функции есть еще одна которая должна перед показом прятать всю похожую геометрию.
function all_hide_cooler()
{
m_scenes.hide_object(Cooler_one);
m_scenes.hide_object(Cooler_two);

}

но она не хочет работать. Геометрия не инициализируется во второй функции
ReferenceError: "x" is not defined
01 сентября 2017 15:16
разобрался
01 сентября 2017 14:17
Добрый день.
Объявил глобальную переменную var select_variable = 0;
в теле функции main_canvas_click значение переменной select_variable меняется.
В еще одной функции стоит проверка переменной, но переменная все равно остается 0

"use strict"
var select_variable = 0;
// register the application module
b4w.register("Computer_configurator_main", function(exports, require) {

// import modules used by the app
var m_app = require("app");
var m_cfg = require("config");
var m_data = require("data");
var m_preloader = require("preloader");
var m_ver = require("version");

var m_cont = require("container");
var m_mouse = require("mouse");
var m_scenes = require("scenes");
var m_anim = require("animation");
var m_geom = require("geometry");
var m_obj = require("objects");
var m_ln = require("logic_nodes");

var _previous_selected_obj = null;
var comp_cpu = null;
var comp_cooler = null;
var comp_matherboard = null;
var comp_grapcic_card = null;
var comp_ram = null;
var comp_ssd = null;
var comp_hhd = null;
var comp_power = null;
var comp_sd = null;
var comp_housing = null;




// detect application mode
var DEBUG = (m_ver.type() == "DEBUG");

// automatically detect assets path
var APP_ASSETS_PATH = m_cfg.get_assets_path("Computer_configurator");

/**
* export the method to initialize the app (called at the bottom of this file)
*/
exports.init = function() {
m_app.init({
canvas_container_id: "main_canvas_container",
callback: init_cb,
show_fps: DEBUG,
console_verbose: DEBUG,
autoresize: true
});
}

/**
* callback executed when the app is initialized
*/
function init_cb(canvas_elem, success) {

if (!success) {
console.log("b4w init failure");
return;
}

m_preloader.create_preloader();

// ignore right-click on the canvas element
canvas_elem.oncontextmenu = function(e) {
e.preventDefault();
e.stopPropagation();
return false;

};

load();
}

/**
* load the scene data
*/
function load() {
m_data.load(APP_ASSETS_PATH + "Computer_configurator.json", load_cb, preloader_cb);
}

/**
* update the app's preloader
*/
function preloader_cb(percentage) {
m_preloader.update_preloader(percentage);
}

/**
* callback executed when the scene data is loaded
*/

function load_cb(data_id, success) {

if (!success) {
console.log("b4w load failure");
return;
}

m_app.enable_camera_controls();
// place your code here
var canvas_elem = m_cont.get_canvas();
canvas_elem.addEventListener("mousedown", main_canvas_click, false);
document.getElementById("btn_one").onclick = select_details_one;
document.getElementById("btn_two").onclick = select_details_two;
document.getElementById("btn_three").onclick = select_details_three;

}

function main_canvas_click(e)
{
if (e.preventDefault)
e.preventDefault();
var x = m_mouse.get_coords_x(e);
var y = m_mouse.get_coords_y(e);
var obj = m_scenes.pick_object(x, y);
var comp_cpu = m_scenes.get_object_by_name("Cicle_cpu");
var comp_cooler = m_scenes.get_object_by_name("Cicle_cooler");
var comp_matherboard = m_scenes.get_object_by_name("Circle_matherboard");
var comp_grapcic_card = m_scenes.get_object_by_name("circle_grapcic_card");
var comp_ram = m_scenes.get_object_by_name("Circle_ram");
var comp_ssd = m_scenes.get_object_by_name("Circle_ssd");
var comp_hhd = m_scenes.get_object_by_name("Circle_hhd");
var comp_power = m_scenes.get_object_by_name("Circle_power");
var comp_sd = m_scenes.get_object_by_name("Circle_sd");
var comp_housing = m_scenes.get_object_by_name("Computer");
switch (obj)
{
case comp_cpu:
case comp_cooler:
case comp_matherboard:
case comp_grapcic_card:
case comp_ram:
case comp_ssd:
case comp_hhd:
case comp_power:
case comp_sd:
case comp_housing:
document.getElementById("details").style.display = "block";
document.getElementById("clarification").style.display = "block";
break;
default:
document.getElementById("details").style.display = "none";
document.getElementById("clarification").style.display = "none";
}
switch (obj)
{
case comp_cpu:
document.getElementById("text_accessories").innerHTML = "CPU";
document.getElementById("text_clarification").innerHTML = "CPU";
document.getElementById("btn_one").innerHTML = "<img src='image/intel.png' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='image/radeon.png' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='' style='margin-left: -3px;'>";
select_variable = 1;
break;
case comp_cooler:
document.getElementById("text_accessories").innerHTML = "Cooler";
document.getElementById("text_clarification").innerHTML = "Cooler";
document.getElementById("btn_one").innerHTML = "<img src='image/thermaltake.png' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='image/cooler_asterair.png' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='' style='margin-left: -3px;'>";
break;
case comp_matherboard:
document.getElementById("text_accessories").innerHTML = "Matherboard";
document.getElementById("text_clarification").innerHTML = "Matherboard";
document.getElementById("btn_one").innerHTML = "<img src='image/matherboard_one.png' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='image/matherboard_two.png' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='image/matherboard_three.png' style='margin-left: -3px;'>";
break;
case comp_grapcic_card:
document.getElementById("text_accessories").innerHTML = "Graphics card";
document.getElementById("text_clarification").innerHTML = "Graphics card";
document.getElementById("btn_one").innerHTML = "<img src='image/nvidia_logo.png' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='image/asus_logo.png' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='image/amd-logo.png' style='margin-left: -3px;'>";
break;
case comp_ram:
document.getElementById("text_accessories").innerHTML = "RAM";
document.getElementById("text_clarification").innerHTML = "RAM";
document.getElementById("btn_one").innerHTML = "<img src='image/ram_one.png' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='image/ram_two.png' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='image/ram_three.png' style='margin-left: -3px;'>";
break;
case comp_ssd:
document.getElementById("text_accessories").innerHTML = "SSD";
document.getElementById("text_clarification").innerHTML = "SSD";
document.getElementById("btn_one").innerHTML = "<img src='' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='' style='margin-left: -3px;'>";
break;
case comp_hhd:
document.getElementById("text_accessories").innerHTML = "HHD";
document.getElementById("text_clarification").innerHTML = "HHD";
document.getElementById("btn_one").innerHTML = "<img src='' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='' style='margin-left: -3px;'>";
break;
case comp_power:
document.getElementById("text_accessories").innerHTML = "Power suppy";
document.getElementById("text_clarification").innerHTML = "Power";
document.getElementById("btn_one").innerHTML = "<img src='image/power_draft.png' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='image/power_draft_two.png' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='' style='margin-left: -3px;'>";
break;
case comp_sd:
document.getElementById("text_accessories").innerHTML = "CD";
document.getElementById("text_clarification").innerHTML = "CD";
document.getElementById("btn_one").innerHTML = "<img src='image/dvd_rom.png' style='margin-left: -3px;'>";
document.getElementById("btn_two").innerHTML = "<img src='' style='margin-left: -3px;'>";
document.getElementById("btn_three").innerHTML = "<img src='' style='margin-left: -3px;'>";
break;
default:
}

}

function select_details_one()
{
if ( select_variable == 1)
{
document.getElementById("text_clarification").innerHTML = "1";
}
else ( select_variable != 1)
{
document.getElementById("text_clarification").innerHTML = "0";
}
}

function select_details_two()
{
document.getElementById("text_clarification").innerHTML = "2";
}
function select_details_three()
{
document.getElementById("text_clarification").innerHTML = "3";
}

});



// import the app module and start the app by calling the init method
b4w.require("Computer_configurator_main").init();

31 августа 2017 16:39
понял Константин буду ковырять
А есть команда что бы например текст бокст убирать если щелчок сделан не по геометрии?
(геометрия не объявлена в JS)