Camera shift?

01 сентября 2017 13:08
Заметил, что параметр shift у камеры не поддерживается:

Есть ли какой-либо другой способ сместить центр камеры? На данный момент, камера в режиме TAGET вращается таким образом, что виртуальный pivot камеры всегда совпадает с центром canvas. А мне нужно указать конкретные координаты на canvas, где должен находится pivot. Т.е. фактически сдвинуть изображение в canvas в сторону, не изменяя ничего в самой сцене и камере:


Желательно сделать это с помощью JS, чтобы при необходимости реагировать на изменения ориентации устройства.
01 сентября 2017 15:04
На данный момент, камера в режиме TAGET вращается таким образом, что виртуальный pivot камеры всегда совпадает с центром canvas.
Камера типа TARGET вращается вокруг точки в 3D пространстве. Вы можете изменять координаты этой точки в настройках камеры Target Location.
Руководитель проекта | VK | Twitter | Facebook | Linkedin
01 сентября 2017 15:30
Ответ на сообщение пользователя Юрий Ковеленов
Камера типа TARGET вращается вокруг точки в 3D пространстве. Вы можете изменять координаты этой точки в настройках камеры Target Location.

Это понятно, что камера вращается вокруг определенной точки, называемой pivot. У нее есть 3 координаты в сцене - Scene X, Scene Y и Scene Z, и в тоже самое время можно сказать, что у нее есть координаты в плоскости HTML-canvas: canvas X и canvas Y, и как я понимаю, они равны 50% и 50%.

Проблемы задать Scene X, Scene Y и Scene Z - не возникает.
Не известно как задать именно canvas X и canvas Y
01 сентября 2017 15:50
Понятно. Возможно, поможет этот метод.
Руководитель проекта | VK | Twitter | Facebook | Linkedin
04 сентября 2017 14:17
Все бы хорошо, но перспектива остается на месте. Объект сильно искажается из-за этого..
05 сентября 2017 14:20
По всей видимости, тут уже не обойтись без редактирования кода движка.
Руководитель проекта | VK | Twitter | Facebook | Linkedin
05 сентября 2017 22:36
Это нужно обязательно! Camera - shift маст хев для архитектурного типа визулизации:

См так-же: Почему это важно
08 сентября 2017 10:13
Обнаружилась еще одна проблема. Когда кликаешь по объекту таким способом:
var x = m_mouse.get_coords_x(e);
var y = m_mouse.get_coords_y(e);
var obj = m_scenes.pick_object(x, y);
if (obj){
        console.log('click!')
}

В объект "не попадаешь", сдвиг не учитывается..
08 сентября 2017 10:30
В объект "не попадаешь", сдвиг не учитывается..
должно помочь так:

var x = m_mouse.get_coords_x(e, false, true);
var y = m_mouse.get_coords_y(e, false, true);
var obj = m_scenes.pick_object(x, y);
if (obj){
        console.log('click!')
}

подробности тут: ссылка
Команда Blend4Web
11 сентября 2017 11:48
Нет, так не работает, Canvas же на месте
Ответ на сообщение пользователя Иван Любовников
должно помочь так:

var x = m_mouse.get_coords_x(e, false, true);
var y = m_mouse.get_coords_y(e, false, true);
var obj = m_scenes.pick_object(x, y);
if (obj){
        console.log('click!')
}

подробности тут: ссылка
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.