В #3 уроке курса по Godot мы сделали поворот камеры вокруг персонажа только по оси У (изображение 1), но в комментариях спрашивали как сделать, чтобы камера поворачивалась и по вертикали тоже.
Для этого вместо одной CameraPivot, создаем две - CamaraPivotY и CameraPivotX (изображение 2). Тогда структура будет выглядет следующим образом:
CameraPivotY |_ CameraPivotX |_ Camera3D.
Теперь CameraPivotY будет выполнять все те же задачи что и обычная CameraPivot до нее, а CameraPivotX - просто поварачивать камеру вокруг своей оси X (изображение 3), в зависимости от положения мышки на экране:
Для того, чтобы изменять значения более плавно можно использовать метод lerp(), а для того чтобы камера реагировала на столкновения и облетала твердотельные обьекты можна использовать ноду SpringArm3D.
Ateros
В #3 уроке курса по Godot мы сделали поворот камеры вокруг персонажа только по оси У (изображение 1), но в комментариях спрашивали как сделать, чтобы камера поворачивалась и по вертикали тоже.
Для этого вместо одной CameraPivot, создаем две - CamaraPivotY и CameraPivotX (изображение 2). Тогда структура будет выглядет следующим образом:
CameraPivotY
|_ CameraPivotX
|_ Camera3D.
Теперь CameraPivotY будет выполнять все те же задачи что и обычная CameraPivot до нее, а CameraPivotX - просто поварачивать камеру вокруг своей оси X (изображение 3), в зависимости от положения мышки на экране:
camera_pivot_x.rotation.x -= event.relative.y * MOUSE_SENTENSIVITY.
Для того, чтобы изменять значения более плавно можно использовать метод lerp(), а для того чтобы камера реагировала на столкновения и облетала твердотельные обьекты можна использовать ноду SpringArm3D.
#godot #управление #thirdperson
1 month ago | [YT] | 3