Skip to content

Commit dba91c5

Browse files
committed
feat(camera): also re-add first person mode
1 parent 186b699 commit dba91c5

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

‎core/src/objects/service/cameracontroller.cpp‎

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,23 @@ void CameraController::InputMovement(Direction direction, float deltaTime) {
5050
break;
5151

5252
case Direction::IN:
53-
54-
// Handle case of user zooming all the way in
55-
if ((camera->cframe.Position() + camera->cframe.LookVector() - camera->focus.Position()).Dot(camera->cframe.LookVector()) > 0) {
56-
break;
53+
if (camera->mode == Camera::Mode::Orbit) {
54+
// Handle case of user zooming all the way in
55+
if ((camera->cframe.Position() + camera->cframe.LookVector() - camera->focus.Position()).Dot(camera->cframe.LookVector()) > 0) {
56+
break;
57+
}
58+
59+
camera->cframe = camera->cframe.Position() + camera->cframe.LookVector() * zoomSpeed;
60+
} else if (camera->mode == Camera::Mode::FirstPerson) {
61+
targetPos += speed * cameraFront;
5762
}
58-
59-
camera->cframe = camera->cframe.Position() + camera->cframe.LookVector() * zoomSpeed;
6063
break;
6164
case Direction::OUT:
62-
camera->cframe = camera->cframe.Position() - camera->cframe.LookVector() * zoomSpeed;
65+
if (camera->mode == Camera::Mode::Orbit) {
66+
camera->cframe = camera->cframe.Position() - camera->cframe.LookVector() * zoomSpeed;
67+
} else if (camera->mode == Camera::Mode::FirstPerson) {
68+
targetPos -= speed * cameraFront;
69+
}
6370
break;
6471
}
6572

0 commit comments

Comments
 (0)