From: Eduardo Date: Tue, 6 Feb 2024 00:54:09 +0000 (+0100) Subject: base enemy, it follows you if your noise is greater than 5 (0 to 9) rn X-Git-Url: http://git.edufdez.es/?a=commitdiff_plain;h=7439c501474abdf248deeb1c1ab9c4b08049f3cc;p=ScaryGame.git base enemy, it follows you if your noise is greater than 5 (0 to 9) rn --- diff --git a/enemies/base_enemy.gd b/enemies/base_enemy.gd new file mode 100644 index 0000000..eae2a62 --- /dev/null +++ b/enemies/base_enemy.gd @@ -0,0 +1,27 @@ +extends CharacterBody3D + +@export var SPEED := 2.5 +@export var turn_speed := 2.0 +@export_range(0, 9) var noise_threshold := 5 +@export var player: Node3D + +@onready var navigation_agent := $NavigationAgent3D +@onready var pivot := $Pivot + + +func _physics_process(delta): + var distance_to_player := global_position.distance_to(player.global_position) + + if player.get_meta("noise") > noise_threshold: + # move to player + navigation_agent.set_target_position(player.global_transform.origin) + var velocity: Vector3 = ( + (navigation_agent.get_next_path_position() - transform.origin).normalized() + * SPEED + * delta + ) + move_and_collide(velocity) + + # look at player + pivot.look_at(player.global_transform.origin, Vector3.UP) + rotate_y(deg_to_rad(pivot.rotation.y * turn_speed)) diff --git a/enemies/base_enemy.tscn b/enemies/base_enemy.tscn new file mode 100644 index 0000000..1ddd6ac --- /dev/null +++ b/enemies/base_enemy.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://6v0x74t1fjxk"] + +[ext_resource type="Script" path="res://enemies/base_enemy.gd" id="1_kxqsq"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_aahun"] + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_uypfm"] + +[node name="BaseEnemy" type="CharacterBody3D"] +script = ExtResource("1_kxqsq") + +[node name="Pivot" type="Node3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 1, 0) +shape = SubResource("CapsuleShape3D_aahun") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 1, 0) +mesh = SubResource("CapsuleMesh_uypfm") + +[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]