1

Кто шарит в Godot?

Моя проблема в том что я не могу настроить правильно камеру. С одной я разобрался, а вот как привязать камеру к объекту так чтобы она не вращалась при движении я не понял.

Вот скрипт агента
extends RigidBody3D

var move_speed = 25 # скорость движения

var rotation_speed = 5 # скорость вращения

func _process(delta: float) -> void:

var input_dir = Vector3()

if Input.is_action_pressed("move_left"):

input_dir.x -= 1

if Input.is_action_pressed("move_right"):

input_dir.x += 1

if Input.is_action_pressed("move_up"):

input_dir.z -= 1

if Input.is_action_pressed("move_down"):

input_dir.z += 1

if input_dir.length() > 0:

input_dir = input_dir.normalized()

apply_central_impulse(input_dir * move_speed * delta)

# Добавляем вращение по направлению движения

var rotation_axis = Vector3(input_dir.z, 0, -input_dir.x).normalized()

apply_torque_impulse(rotation_axis * rotation_speed * delta)



Вот скрипт для камеры но он не работает. Даже gpt не помог к сожалению

extends Camera3D

@export var target: RigidBody3D # Объект, за которым следует камера

func _process(delta: float) -> void:

if target:

# Перемещаем камеру к объекту без вращения

global_transform.origin = target.global_transform.origin + Vector3(0, 5, -10) # Камера позади объекта

look_at(target.global_transform.origin, Vector3.UP) # Камера смотрит на объект

Что я делал: Я добавлял камеру к шарику в дочернюю ветку и добавлял этот код сверху. Не получалось, камера начинала вращаться вместе с шариком.

Пробовал создать якорь node3d и к ней привязать камеру, тоже не получилось. Вообщем я хз че делать целый день потратил так и не решил проблему вращения ( буду рад любой помощи.

Мой контакт в тг
https://t.me/arsen_ask