论坛

由用户创建的信息 Ivan Lyubovnikov
01 August 2017 12:49
Hi Charlie, what java version is installed on your Mac? There already was a problem with Java in other topic: link.
01 August 2017 12:40
My intention is to have each scene in a separate html/js file rather than pack everything in one file. This is to reduce load time at the start of the project.
Also user will only load a scene if he chooses it and need not load all the scenes.
Hi, are you talking about dynamic loading? In that case you just need only json/bin files exported from a blend scene. They can be used with the data.load/data.unload methods. There's a dedicated tutorial here: Furnishing a Room Part 1: Dynamic Loading.

But problem is, the view is not changing. It is stuck in "Scene.001" which is the first(default) scene.
scene.set_active doesn't change the view automatically, in fact you can't do it at all. If you want to change the view, you have to do it manually by placing the camera from the default scene into the position of other cameras. I think you can do it via the get_tsr/set_tsr methods:

var m_scenes=require("scenes");
var m_trans = require("transform");

var main_cam = m_scenes.get_active_camera();
var another_cam = m_scenes.get_object_by_name("Camera.005");

var cam_tsr = m_trans.get_tsr(another_cam);
m_trans.set_tsr(main_cam, cam_tsr);
01 August 2017 12:13
Здравствуйте,

Где можно прочитать про все углы, измерения про вращения? Всякие кватернионы, радианы, градусы и то, что в Blender.
- сейчас информация об этом есть, пожалуй, только в разделе про кватернионы, на который вы ссылаетесь.
Вообще, в движке здесь 2 принципа: для вращений использовать кватернионы, а углы представлять в радианах - API также на этом завязано. Если вращение нужно получить в другой форме, то можно использовать специальные методы для преобразования, например: util.quat_to_euler и util.euler_to_quat для перевода кватернионов в углы Эйлера и наоборот, также util.rad_to_deg и util.deg_to_rad для перевода из радианов в градусы.
А как получить градус поворота объекта?
Вот как-то так:
var m_trans = require("transform");
var m_util = require("util");

var quat = m_trans.get_rotation(my_obj);
var euler = m_util.quat_to_euler(quat);
var x = m_util.rad_to_deg(euler[0]);
var y = m_util.rad_to_deg(euler[1]);
var z = m_util.rad_to_deg(euler[2]);


Разницу между двумя значениями по кватернионам?
Тут надо перемножить кватернион на обратный второго:
var m_quat = require("quat");

// quat1 - quat2
var quat_diff = m_quat.mul(quat1, m_quat.invert(quat2, quat2));


А еще выполнить плавное вращения объекта по кватернионам.
Есть функция quat.slerp для интерполяции кватернионов - её можно использовать анимируя входной параметр t от 0 до 1:
var m_time = require("time");
var m_quat = require("quat");

// в течение 5 сек.
m_time.animate(0, 1, 5000, function(value) {
    m_quat.slerp(quat1, quat2, value, res_quat);
    m_trans.set_rotation_v(my_obj, res_quat);
});


Вообще для проведения различных преобразований есть много полезных методов в модулях vec3/vec4/mat3/mat4/quat - это по сути популярная библиотека glMatrix.
01 August 2017 10:50
Здравствуйте, можно указывать файлы созданные или загруженные в панели Text Editor в блендере, а в качестве пути указывается его имя:
01 August 2017 10:28
да, в API модуля math.js в виде функций, начинающихся с "ease_": math.js.
01 August 2017 10:24
Если проблема та, о которой я думаю, то вам поможет пересчет координат: ссылка
- для нодовой логики это происходит автоматически.
31 July 2017 10:31
папка в сдк есть а вот в менеджере ее нет
возможно, у вас lite-версия, где вообще демок нет, или нажали Hide Stock Projects в верхнем меню менеджера, тогда демки скрываются
28 July 2017 19:19
в ./apps_dev/petigors_tale/, он и в менеджере тоже должен быть:
28 July 2017 17:15
у вторичных сцен есть некоторые нюансы, но объектами можно управлять в одно и тоже время и там и там
28 July 2017 14:34
Отличный вариант, но есть одно НО!) Как рендерить в текстуру из камеры в этой же сцены? Как это реализовали в приложении от nasa?
Насчет nasa не знаю, но вообще для этого нужно несколько сцен. В sdk есть демка ./blender/dev_multi/4_cams.blend - там можно глянуть как это сделано.