added "noise" generator and timer to clear it
authorEduardo <[email protected]>
Tue, 6 Feb 2024 00:54:48 +0000 (01:54 +0100)
committerEduardo <[email protected]>
Tue, 6 Feb 2024 00:54:48 +0000 (01:54 +0100)
player/Player.gd
player/Player.tscn

index 47c5b6490731bf515cd365afde027efe1f09e606..16ca9a1e8bab9bd799bbb9fec2a70f48ce56e6c4 100644 (file)
@@ -1,16 +1,18 @@
 extends CharacterBody3D
 
 # How fast the player moves in meters per second.
-@export var speed = 5
+@export var speed := 5
 # The downward acceleration when in the air, in meters per second squared.
-@export var fall_acceleration = 10
+@export var fall_acceleration := 10
 @export var pivot: Node3D
 
-var target_velocity = Vector3.ZERO
+var target_velocity := Vector3.ZERO
+var noise: int = 0
+
 
 # Called every frame. 'delta' is the elapsed time since the previous frame.
 func _physics_process(_delta):
-       var direction = Vector3.ZERO
+       var direction := Vector3.ZERO
 
        if Input.is_action_pressed("move_right"):
                direction += transform.basis.x
@@ -25,6 +27,11 @@ func _physics_process(_delta):
                direction = direction.normalized()
                pivot.look_at(position + direction, Vector3.UP)
 
+               # if movement make some noise
+               if randf() > .95:
+                       noise = clamp(noise + 1, 0, 9)
+                       set_meta("noise", noise)
+
        target_velocity.x = direction.x * speed
        target_velocity.z = direction.z * speed
 
@@ -33,3 +40,10 @@ func _physics_process(_delta):
 
        velocity = target_velocity
        move_and_slide()
+
+
+# each second
+func _on_timer_timeout():
+       noise = clamp(noise - 1, 0, 9)
+       set_meta("noise", noise)
+       print(noise)
index 1cb17df1cf027d0d53a80ff9f8fb3e659f687aac..a805ecde03794cbe82c80346f4dff67c36859e5d 100644 (file)
@@ -13,10 +13,14 @@ volumetric_fog_albedo = Color(0.144063, 0.144063, 0.144063, 1)
 radius = 0.25
 height = 1.8
 
-[node name="CharacterBody3D" type="CharacterBody3D" node_paths=PackedStringArray("pivot")]
+[node name="CharacterBody3D" type="CharacterBody3D" node_paths=PackedStringArray("pivot") groups=["player"]]
 top_level = true
 script = ExtResource("1_x0wva")
 pivot = NodePath("Pivot")
+metadata/noise = 0.0
+
+[node name="Timer" type="Timer" parent="."]
+autostart = true
 
 [node name="Pivot" type="Node3D" parent="."]
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
@@ -32,3 +36,5 @@ player = NodePath("..")
 [node name="CollisionShape3D" type="CollisionShape3D" parent="."]
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0)
 shape = SubResource("CapsuleShape3D_22gap")
+
+[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]