CharacterBody3D este nodul specializat pentru controlul personajelor jucător și inamicilor în 3D, oferind algoritmul optimizat move_and_slide() pentru navigarea peste trepte, rampe și podele înclinate.
extends CharacterBody3D
@export var viteza: float = 5.0
@export var forta_salt: float = 4.5
var gravitatie: float = 9.8
func _physics_process(delta: float) -> void:
# Aplică gravitația când personajul nu atinge podeaua:
if not is_on_floor():
velocity.y -= gravitatie * delta
if Input.is_action_just_pressed("salt") and is_on_floor():
velocity.y = forta_salt
var directie_input := Input.get_vector("stanga", "dreapta", "inainte", "inapoi")
var directie := (transform.basis * Vector3(directie_input.x, 0, directie_input.y)).normalized()
if directie:
velocity.x = directie.x * viteza
velocity.z = directie.z * viteza
else:
velocity.x = move_toward(velocity.x, 0, viteza)
velocity.z = move_toward(velocity.z, 0, viteza)
move_and_slide()
Godot 4 vs Godot 3: În Godot 4, move_and_slide() nu mai returnează viteza și nu mai acceptă parametri; viteza este modificată direct pe proprietatea velocity.
Întrebări & Exemple de Cod:
CharacterBody3D în Godot 4: Mișcare Cinematică 3D pentru PersonajeAi o nelămurire despre utilizarea comenzii
CharacterBody3D în Godot 4: Mișcare Cinematică 3D pentru Personajesau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.