Jump to content

При нажатии левой кнопки мыши - камера начинает вращаться влево, может кто сталкивался?


photo

Recommended Posts

Есть 2 проблемы с мышкой - первая это когда вхожу во вьюпорт нажимаю левую кнопку мыши

и камера начинает прокручиваться влево ... очень странно и всего две функции

 

Второй вопрос

есть кусок по идее все правильно из доки и должно работать вращение но камера стоит на месте, что я делаю не так

 

Mat4 rotation;

Vec3 delta_movement;

Mat4 transform = player->getWorldTransform();

Vec3 direction = transform.getColumn3(2);

.....

....

else if (ControlsApp::getState(Controls::STATE_AUX_3)) {

Log::message("set the node left rotation along the Z axis: %f", rotation_speed * ifps * 100);

rotation.setRotateZ(rotation_speed * ifps * 100);

update_transform = 1;

}

if (update_transform)

{

transform = transform * rotation;

transform.setColumn3(3, transform.getColumn3(3) + delta_movement);

player->setWorldTransform(transform);

}

Спасибо!

 

AppWorldLogic.cpp AppWorldLogic.h

Link to comment

Здравствуйте.

1) Проблему с прокручиванием камеры влево при клике во вьюпорт воспроизвести не удалось. Это может происходить из-за того, что в файле data/configs/default.controls для состояния TURN_LEFT почему-то назначена левая кнопка мыши, а должно быть значение UNKNOWN.

2) В этом примере создается PlayerSpectator, который потом пытается вращаться по Z-оси. Но данный вариант Player'а не умеет так менять трансформацию. Из матрицы он берет положение, а из компонент вращения получает только два угла - для горизонтального вращения и для вертикального вращения. Это можно увидеть тут. Для вращения по оси Z можно попробовать использовать PlayerDummy.

 

Link to comment
×
×
  • Create New...