Godot Version
4.6.2
Question
im working on a VR game and this script never runs it is attached to a charachter body
extends CharacterBody3D
var SPEED = 2.5
const WalkSpeed = 2.5
const SprintSpeed = 4.0
const JUMP_VELOCITY = 4.5
@onready var LeftController:XRController3D = $XROrigin3D/LeftController
@onready var RightController:XRController3D = $XROrigin3D/RightController
var LeftDown = false
func _ready():
print("hi")
func _physics_process(delta: float) -> void:
print("phys")
# Add the gravity.
if not is_on_floor():
velocity += get_gravity() * delta
# Handle jump.
if RightController.is_button_pressed("primary_click") and is_on_floor():
velocity.y = JUMP_VELOCITY
var input_dir = LeftController.get_input("primary")
if LeftController.is_button_pressed("primary_click"):
if not LeftDown:
print("Toggled sprint")
LeftDown = true
if SPEED == SprintSpeed:
SPEED = WalkSpeed
else:
SPEED = SprintSpeed
else:
LeftDown = false
var direction := (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
print(direction)
print(LeftDown)
if direction:
velocity.x = direction.x * SPEED
velocity.z = direction.z * SPEED
else:
velocity.x = -move_toward(velocity.x, 0, SPEED)
velocity.z = move_toward(velocity.z, 0, SPEED)
move_and_slide()