extends CharacterBody3D
@onready var spring_arm_3d = $SpringArm3D
@onready var camera_3d = $SpringArm3D/Camera3D
var capture_movement_vector = Vector3.ZERO
enum Direction {
NORTH,
NORTHEAST,
EAST,
SOUTHEAST,
SOUTH,
SOUTHWEST,
WEST,
NORTHWEST
}
var direction_vectors = {
Direction.NORTH: Vector3(0, 0, -1),
Direction.NORTHEAST: Vector3(1, 0, -1).normalized(),
Direction.EAST: Vector3(1, 0, 0),
Direction.SOUTHEAST: Vector3(1, 0, 1).normalized(),
Direction.SOUTH: Vector3(0, 0, 1),
Direction.SOUTHWEST: Vector3(-1, 0, 1).normalized(),
Direction.WEST: Vector3(-1, 0, 0),
Direction.NORTHWEST: Vector3(-1, 0, -1).normalized()
}
const SPEED = 2.0
const JUMP_VELOCITY = 4.5
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
var direction: Direction
var direction_names = [
"north",
"northeast",
"east",
"southeast",
"south",
"southwest",
"west",
"northwest"
]```