Premier commit

This commit is contained in:
2026-09-01 22:41:37 +02:00
commit 7cff988739
133 changed files with 6412 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
@tool
extends Node3D
class_name MechaLeg
const STEP_DURATION = 0.15
signal step
@export_node_path("Node3D") var step_target_path : NodePath
@onready var local_target : Node3D = %LocalTarget
@export var step_distance: float = 5
@export var can_step = true
func _process(_delta):
if step_target_path and can_step:
var step_target : Node3D = get_node(step_target_path) as Node3D
var dist := step_target.global_position.distance_to(local_target.global_position)
if dist > step_distance:
step.emit()
tween_step(get_node(step_target_path).global_position)
func tween_step(target_pos: Vector3):
var tween = create_tween().set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_OUT)
tween.set_parallel(true)
tween.tween_property(local_target, "global_position:x", target_pos.x, STEP_DURATION * 0.7)
tween.tween_property(local_target, "global_position:z", target_pos.z, STEP_DURATION * 0.7)
tween.tween_property(local_target, "global_position:y", target_pos.y + 1.5, STEP_DURATION * 0.5)
tween.set_parallel(false)
tween.tween_property(local_target, "global_position:y", target_pos.y, STEP_DURATION * 0.3)