mirror of
https://github.com/Linloir/SceneEditor.git
synced 2025-12-18 16:08:11 +08:00
[UI][ADD] Camera wasd move
This commit is contained in:
parent
7eccb8e98b
commit
1e92f8922d
@ -477,6 +477,7 @@ void SceneViewer::keyPressEvent(QKeyEvent* event) {
|
|||||||
Logger::debug("Control pressed");
|
Logger::debug("Control pressed");
|
||||||
_controlPressed = true;
|
_controlPressed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event->modifiers() == Qt::NoModifier && _selectedObject != nullptr) {
|
if (event->modifiers() == Qt::NoModifier && _selectedObject != nullptr) {
|
||||||
switch (event->key()) {
|
switch (event->key()) {
|
||||||
case Qt::Key_W: {
|
case Qt::Key_W: {
|
||||||
@ -510,6 +511,40 @@ void SceneViewer::keyPressEvent(QKeyEvent* event) {
|
|||||||
}
|
}
|
||||||
parentWidget()->update();
|
parentWidget()->update();
|
||||||
}
|
}
|
||||||
|
else if (event->modifiers() == Qt::NoModifier) {
|
||||||
|
// move camera
|
||||||
|
switch (event->key()) {
|
||||||
|
case Qt::Key_W: {
|
||||||
|
// move a bit forward
|
||||||
|
glm::vec3 front = _camera.front();
|
||||||
|
_camera.push(1.0f);
|
||||||
|
_rotateCenter += front;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Qt::Key_S: {
|
||||||
|
// move a bit backward
|
||||||
|
glm::vec3 front = _camera.front();
|
||||||
|
_camera.push(-1.0f);
|
||||||
|
_rotateCenter -= front;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Qt::Key_A: {
|
||||||
|
// move a bit left
|
||||||
|
glm::vec3 right = _camera.right();
|
||||||
|
_camera.move(-right * 0.5f);
|
||||||
|
_rotateCenter -= right * 0.5f;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case Qt::Key_D: {
|
||||||
|
// move a bit right
|
||||||
|
glm::vec3 right = _camera.right();
|
||||||
|
_camera.move(right * 0.5f);
|
||||||
|
_rotateCenter += right * 0.5f;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
parentWidget()->update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneViewer::keyReleaseEvent(QKeyEvent* event) {
|
void SceneViewer::keyReleaseEvent(QKeyEvent* event) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user