Моя проблема в том что я не могу настроить правильно камеру. С одной я разобрался, а вот как привязать камеру к объекту так чтобы она не вращалась при движении я не понял.
Вот скрипт агента
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"):
if Input.is_action_pressed("move_right"):
if Input.is_action_pressed("move_up"):
if Input.is_action_pressed("move_down"):
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:
# Перемещаем камеру к объекту без вращения
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