feat: added simple enemy with chase behaviour

This commit is contained in:
Sara 2024-03-18 23:05:42 +01:00
parent 4f564a4f4c
commit 19ba4047ca
10 changed files with 202 additions and 15 deletions

46
godot/Enemies/enemy.tscn Normal file
View file

@ -0,0 +1,46 @@
[gd_scene load_steps=6 format=3 uid="uid://deb8qiasxsobt"]
[sub_resource type="SphereShape3D" id="SphereShape3D_tnc8b"]
radius = 7.23
[sub_resource type="SphereShape3D" id="SphereShape3D_1inhn"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y3cyo"]
albedo_color = Color(0.0666667, 0.223529, 0.254902, 1)
[sub_resource type="BoxMesh" id="BoxMesh_y311e"]
material = SubResource("StandardMaterial3D_y3cyo")
size = Vector3(0.77, 0.59, 0.805)
[sub_resource type="BoxMesh" id="BoxMesh_bc6co"]
material = SubResource("StandardMaterial3D_y3cyo")
size = Vector3(0.475, 0.495, 0.47)
[node name="Enemy" type="Enemy"]
collision_layer = 7
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
path_desired_distance = 2.25
[node name="VisionArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 2
[node name="CollisionShape3D" type="CollisionShape3D" parent="VisionArea"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.32109, 0)
shape = SubResource("SphereShape3D_tnc8b")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.495191, 0)
shape = SubResource("SphereShape3D_1inhn")
[node name="Health" type="Health" parent="."]
max_health = 10
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.445159, -0.0811542)
mesh = SubResource("BoxMesh_y311e")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.430494, 0.458904)
mesh = SubResource("BoxMesh_bc6co")

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://cqkbxe758jr7p"]
[sub_resource type="Curve" id="Curve_bxjan"]
_data = [Vector2(0, 0), 0.0, 0.0628674, 0, 0, Vector2(0.51626, 0.549451), 2.7033, 2.7033, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
_data = [Vector2(0, 0), 0.0, 3.33407, 0, 0, Vector2(0.430894, 0.692308), 0.730621, 0.730621, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="SphereMesh" id="SphereMesh_jkn5p"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=5 format=3 uid="uid://dpda341t6ipiv"]
[gd_scene load_steps=6 format=3 uid="uid://dpda341t6ipiv"]
[sub_resource type="Curve" id="Curve_7rmf4"]
min_value = 0.2
@ -12,11 +12,18 @@ height = 1.59321
[sub_resource type="CapsuleMesh" id="CapsuleMesh_rwcvu"]
height = 1.605
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_scmx3"]
albedo_color = Color(0.94902, 0.909804, 0, 1)
[sub_resource type="BoxMesh" id="BoxMesh_f5yvh"]
size = Vector3(0.125, 0.14, 0.94)
[node name="PlayerCharacter" type="PlayerCharacter"]
rotation_speed_curve = SubResource("Curve_7rmf4")
collision_layer = 7
[node name="Health" type="Health" parent="."]
max_health = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.802835, 0)
@ -27,7 +34,9 @@ shape = SubResource("CapsuleShape3D_3g72p")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8121, 0)
mesh = SubResource("CapsuleMesh_rwcvu")
surface_material_override/0 = SubResource("StandardMaterial3D_scmx3")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.509142, 0.986876, 0.380722)
mesh = SubResource("BoxMesh_f5yvh")
surface_material_override/0 = SubResource("StandardMaterial3D_scmx3")

View file

@ -37,3 +37,9 @@ move_backward={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null)
]
}
[layer_names]
3d_physics/layer_1="Default"
3d_physics/layer_2="Vision"
3d_physics/layer_3="Hitboxes"

View file

@ -1,6 +1,7 @@
[gd_scene load_steps=9 format=3 uid="uid://m36guasmi3c1"]
[gd_scene load_steps=11 format=3 uid="uid://m36guasmi3c1"]
[ext_resource type="PackedScene" uid="uid://cqkbxe758jr7p" path="res://player.tscn" id="1_hv5rj"]
[ext_resource type="PackedScene" uid="uid://deb8qiasxsobt" path="res://Enemies/enemy.tscn" id="2_10wh5"]
[sub_resource type="GameState" id="GameState_k4j3x"]
@ -17,6 +18,10 @@ sky_material = SubResource("ProceduralSkyMaterial_s4k5k")
background_mode = 2
sky = SubResource("Sky_oquga")
[sub_resource type="NavigationMesh" id="NavigationMesh_gx4lq"]
vertices = PackedVector3Array(-9.5, 0.625, -9.5, -9.5, 0.625, 9.5, 9.5, 0.625, 9.5, 9.5, 0.625, -9.5)
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1)]
[sub_resource type="BoxMesh" id="BoxMesh_5glbk"]
size = Vector3(20, 0.25, 20)
@ -29,14 +34,20 @@ game_mode_prototype = SubResource("TunnelsGameMode_itn7y")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_mt2l0")
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldEnvironment"]
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="WorldEnvironment"]
navigation_mesh = SubResource("NavigationMesh_gx4lq")
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldEnvironment/NavigationRegion3D"]
mesh = SubResource("BoxMesh_5glbk")
skeleton = NodePath("../..")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="WorldEnvironment"]
[node name="StaticBody3D" type="StaticBody3D" parent="WorldEnvironment/NavigationRegion3D/MeshInstance3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldEnvironment/StaticBody3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldEnvironment/NavigationRegion3D/MeshInstance3D/StaticBody3D"]
shape = SubResource("BoxShape3D_kacqg")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="WorldEnvironment"]
transform = Transform3D(0.581243, 0.357328, -0.731077, 0, 0.898426, 0.439124, 0.81373, -0.255238, 0.522204, 0, 2.44259, 0)
[node name="Enemy" parent="." instance=ExtResource("2_10wh5")]
transform = Transform3D(-0.925514, 0, -0.378713, 0, 1, 0, 0.378713, 0, -0.925514, -3.91746, 0.125, 5.6328)