make unit node inheritance hierarchy

This commit is contained in:
2024-10-07 22:43:18 +10:00
parent 54e0ad846c
commit 50cb83ad7c
13 changed files with 209 additions and 586 deletions

View File

@@ -13,8 +13,8 @@ dest_files=["res://.godot/imported/ant.glb-2bc83283752a3a739ab3e737bef4a96c.scn"
[params] [params]
nodes/root_type="CharacterBody3D" nodes/root_type="Node3D"
nodes/root_name="TestUnit" nodes/root_name="AntModel"
nodes/apply_root_scale=true nodes/apply_root_scale=true
nodes/root_scale=1.0 nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false nodes/import_as_skeleton_bones=false

View File

@@ -13,8 +13,8 @@ dest_files=["res://.godot/imported/aphid.glb-186659578d345ed14470f6b0f60d7fc2.sc
[params] [params]
nodes/root_type="CharacterBody3D" nodes/root_type="Node3D"
nodes/root_name="" nodes/root_name="AphidModel"
nodes/apply_root_scale=true nodes/apply_root_scale=true
nodes/root_scale=1.0 nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false nodes/import_as_skeleton_bones=false

View File

@@ -0,0 +1,76 @@
[gd_scene load_steps=8 format=3 uid="uid://lbs0vilymbum"]
[ext_resource type="PackedScene" uid="uid://cidd3q2tet7ku" path="res://scenes/units/abstract/controlled_unit.tscn" id="1_66kao"]
[ext_resource type="PackedScene" uid="uid://bi231xk2sp410" path="res://assets/models/ant.glb" id="2_e21vo"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jem3o"]
animation = &"idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_f5jro"]
animation = &"walk"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_0mwos"]
blend_point_0/node = SubResource("AnimationNodeAnimation_jem3o")
blend_point_0/pos = 0.0
blend_point_1/node = SubResource("AnimationNodeAnimation_f5jro")
blend_point_1/pos = 1.0
min_space = 0.0
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pwnkm"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_v8drs"]
states/locomotion/node = SubResource("AnimationNodeBlendSpace1D_0mwos")
states/locomotion/position = Vector2(334, 100)
transitions = ["Start", "locomotion", SubResource("AnimationNodeStateMachineTransition_pwnkm")]
[node name="ControlledAntUnit" instance=ExtResource("1_66kao")]
[node name="AntModel" parent="." index="0" instance=ExtResource("2_e21vo")]
[node name="Skeleton3D" parent="AntModel/Armature" index="0"]
bones/4/rotation = Quaternion(0.587858, -5.43255e-07, -3.94772e-07, 0.808964)
bones/6/rotation = Quaternion(0.330686, -3.0116e-14, -4.44141e-07, 0.943741)
bones/9/rotation = Quaternion(0.587858, 5.43255e-07, 3.94772e-07, 0.808964)
bones/11/rotation = Quaternion(0.330686, 3.0116e-14, 4.44141e-07, 0.943741)
bones/14/rotation = Quaternion(4.60304e-08, 0.0294697, 0.999566, -5.43234e-07)
bones/15/rotation = Quaternion(4.55913e-08, 0.0294697, 0.999566, -4.34329e-07)
bones/16/rotation = Quaternion(4.55913e-08, 0.0294697, 0.999566, -4.34329e-07)
bones/26/rotation = Quaternion(-0.221628, 0.221633, -0.671475, 0.671477)
bones/27/rotation = Quaternion(0.583948, -8.29882e-08, 2.36539e-06, 0.811791)
bones/28/rotation = Quaternion(-0.84146, 6.60837e-08, -6.26108e-06, 0.54032)
bones/30/rotation = Quaternion(0.583949, -2.24752e-07, 2.46641e-06, 0.811791)
bones/31/rotation = Quaternion(-0.84146, 1.69298e-07, -6.42962e-06, 0.54032)
bones/34/rotation = Quaternion(-0.841459, 1.31575e-07, -6.3826e-06, 0.540321)
bones/35/rotation = Quaternion(-0.221628, -0.221633, 0.671475, 0.671477)
bones/36/rotation = Quaternion(0.583948, 8.29882e-08, -2.36539e-06, 0.811791)
bones/37/rotation = Quaternion(-0.84146, -6.60837e-08, 6.26108e-06, 0.54032)
bones/39/rotation = Quaternion(0.583949, 2.24752e-07, -2.46641e-06, 0.811791)
bones/40/rotation = Quaternion(-0.84146, -1.69298e-07, 6.42962e-06, 0.54032)
bones/43/rotation = Quaternion(-0.841459, -1.31575e-07, 6.3826e-06, 0.540321)
[node name="GathererMesh" parent="AntModel/Armature/Skeleton3D" index="0"]
visible = false
[node name="NitwitMesh" parent="AntModel/Armature/Skeleton3D" index="1"]
visible = false
[node name="AnimationTree" parent="." index="1"]
root_node = NodePath("../AntModel")
tree_root = SubResource("AnimationNodeStateMachine_v8drs")
anim_player = NodePath("../AntModel/AnimationPlayer")
parameters/locomotion/blend_position = 0
[node name="HoverIndicator" parent="." index="3"]
transform = Transform3D(1.3376, 0, 0, 0, 1.3376, 0, 0, 0, 1.3376, 0, 0, 0)
[node name="VisibleOnScreenNotifier3D" parent="." index="5"]
aabb = AABB(-0.5, 0, -0.5, 1, 0.5, 1)
[node name="UiOrigin" parent="." index="6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.65, 0)
[node name="SelectionIndicator" parent="." index="7"]
transform = Transform3D(0.772715, 0, 0, 0, 0.772715, 0, 0, 0, 0.772715, 0, 0, 0)
[editable path="AntModel"]

View File

@@ -0,0 +1,18 @@
[gd_scene load_steps=5 format=3 uid="uid://cidd3q2tet7ku"]
[ext_resource type="PackedScene" uid="uid://c70vx0utm5knp" path="res://scenes/units/abstract/unit.tscn" id="1_iivmb"]
[ext_resource type="Script" path="res://scripts/units/controlled_unit.gd" id="2_ruawn"]
[ext_resource type="Material" uid="uid://bghl8uypb17xy" path="res://resources/materials/indicators/select_indicator_mat.tres" id="3_3totu"]
[sub_resource type="QuadMesh" id="QuadMesh_4fevy"]
material = ExtResource("3_3totu")
center_offset = Vector3(0, 0.001, 0)
orientation = 1
[node name="ControlledUnit" instance=ExtResource("1_iivmb")]
collision_layer = 4
script = ExtResource("2_ruawn")
[node name="SelectionIndicator" type="MeshInstance3D" parent="." index="6"]
cast_shadow = 0
mesh = SubResource("QuadMesh_4fevy")

View File

@@ -0,0 +1,41 @@
[gd_scene load_steps=5 format=3 uid="uid://c70vx0utm5knp"]
[ext_resource type="Script" path="res://scripts/units/unit.gd" id="1_ulhs6"]
[ext_resource type="Material" uid="uid://f0nlf4tdpvbd" path="res://resources/materials/indicators/hover_indicator_mat.tres" id="2_uk1jy"]
[sub_resource type="SphereShape3D" id="SphereShape3D_c8txg"]
radius = 0.25
[sub_resource type="QuadMesh" id="QuadMesh_igohi"]
material = ExtResource("2_uk1jy")
center_offset = Vector3(0, 0.001, 0)
orientation = 1
[node name="Unit" type="CharacterBody3D"]
collision_layer = 2
collision_mask = 0
script = ExtResource("1_ulhs6")
[node name="AnimationTree" type="AnimationTree" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0)
shape = SubResource("SphereShape3D_c8txg")
[node name="HoverIndicator" type="MeshInstance3D" parent="."]
cast_shadow = 0
mesh = SubResource("QuadMesh_igohi")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
path_desired_distance = 0.5
target_desired_distance = 0.5
path_height_offset = 0.5
avoidance_enabled = true
height = 0.5
radius = 0.25
neighbor_distance = 10.0
[node name="VisibleOnScreenNotifier3D" type="VisibleOnScreenNotifier3D" parent="."]
aabb = AABB(-0.25, 0, -0.25, 0.5, 0.5, 0.5)
[node name="UiOrigin" type="Marker3D" parent="."]

View File

@@ -1,60 +1,18 @@
[gd_scene load_steps=14 format=3 uid="uid://wrj8fnh5y6e8"] [gd_scene load_steps=5 format=3 uid="uid://bbph6o74lao46"]
[ext_resource type="PackedScene" uid="uid://bi231xk2sp410" path="res://assets/models/ant.glb" id="1_asokb"] [ext_resource type="PackedScene" uid="uid://lbs0vilymbum" path="res://scenes/units/abstract/controlled_ant_unit.tscn" id="1_m5yy7"]
[ext_resource type="Script" path="res://scripts/units/ant_gatherer.gd" id="2_vcqni"] [ext_resource type="Script" path="res://scripts/units/ant_gatherer.gd" id="2_7pblm"]
[ext_resource type="Material" uid="uid://bghl8uypb17xy" path="res://resources/materials/indicators/select_indicator_mat.tres" id="3_nb346"] [ext_resource type="PackedScene" uid="uid://fal1ond30jey" path="res://scenes/units/components/gathering.tscn" id="3_7b5q8"]
[ext_resource type="Material" uid="uid://f0nlf4tdpvbd" path="res://resources/materials/indicators/hover_indicator_mat.tres" id="4_rnrdj"]
[ext_resource type="PackedScene" uid="uid://fal1ond30jey" path="res://scenes/units/components/gathering.tscn" id="5_wwnxg"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_foq4x"] [sub_resource type="SphereShape3D" id="SphereShape3D_f7l1n"]
animation = &"idle" radius = 15.0
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lxe13"] [node name="AntGatherer" instance=ExtResource("1_m5yy7")]
animation = &"walk" script = ExtResource("2_7pblm")
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_rro5b"] [node name="Skeleton3D" parent="AntModel/Armature" index="0"]
blend_point_0/node = SubResource("AnimationNodeAnimation_foq4x")
blend_point_0/pos = 0.0
blend_point_1/node = SubResource("AnimationNodeAnimation_lxe13")
blend_point_1/pos = 1.0
min_space = 0.0
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j3gya"]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_2257g"]
states/locomotion/node = SubResource("AnimationNodeBlendSpace1D_rro5b")
states/locomotion/position = Vector2(346, 100)
transitions = ["Start", "locomotion", SubResource("AnimationNodeStateMachineTransition_j3gya")]
[sub_resource type="SphereShape3D" id="SphereShape3D_e8dcp"]
radius = 0.25
[sub_resource type="QuadMesh" id="QuadMesh_oducb"]
material = ExtResource("3_nb346")
center_offset = Vector3(0, 0.001, 0)
orientation = 1
[sub_resource type="QuadMesh" id="QuadMesh_tiyt4"]
material = ExtResource("4_rnrdj")
center_offset = Vector3(0, 0.001, 0)
orientation = 1
[node name="AntGatherer" instance=ExtResource("1_asokb")]
collision_layer = 4
collision_mask = 0
script = ExtResource("2_vcqni")
[node name="Skeleton3D" parent="Armature" index="0"]
bones/4/rotation = Quaternion(0.587858, -5.43255e-07, -3.94772e-07, 0.808964)
bones/6/rotation = Quaternion(0.330686, -3.0116e-14, -4.44141e-07, 0.943741)
bones/9/rotation = Quaternion(0.587858, 5.43255e-07, 3.94772e-07, 0.808964)
bones/11/rotation = Quaternion(0.330686, 3.0116e-14, 4.44141e-07, 0.943741)
bones/14/rotation = Quaternion(4.60304e-08, 0.0294697, 0.999566, -5.43234e-07)
bones/14/scale = Vector3(1, 1, 1) bones/14/scale = Vector3(1, 1, 1)
bones/15/rotation = Quaternion(4.55913e-08, 0.0294697, 0.999566, -4.34329e-07)
bones/15/scale = Vector3(1, 1, 1) bones/15/scale = Vector3(1, 1, 1)
bones/16/rotation = Quaternion(4.55913e-08, 0.0294697, 0.999566, -4.34329e-07)
bones/16/scale = Vector3(1, 1, 1) bones/16/scale = Vector3(1, 1, 1)
bones/18/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566) bones/18/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/19/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566) bones/19/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566)
@@ -64,63 +22,25 @@ bones/22/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/23/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566) bones/23/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566)
bones/24/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566) bones/24/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/25/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566) bones/25/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566)
bones/26/rotation = Quaternion(-0.221628, 0.221633, -0.671475, 0.671477) bones/26/scale = Vector3(1, 1, 1)
bones/27/rotation = Quaternion(0.583948, -8.29882e-08, 2.36539e-06, 0.811791)
bones/27/scale = Vector3(1, 1, 1) bones/27/scale = Vector3(1, 1, 1)
bones/28/rotation = Quaternion(-0.84146, 6.60837e-08, -6.26108e-06, 0.54032)
bones/30/rotation = Quaternion(0.583949, -2.24752e-07, 2.46641e-06, 0.811791)
bones/31/rotation = Quaternion(-0.84146, 1.69298e-07, -6.42962e-06, 0.54032)
bones/32/scale = Vector3(1, 1, 1) bones/32/scale = Vector3(1, 1, 1)
bones/34/rotation = Quaternion(-0.841459, 1.31575e-07, -6.3826e-06, 0.540321)
bones/34/scale = Vector3(1, 1, 1) bones/34/scale = Vector3(1, 1, 1)
bones/35/rotation = Quaternion(-0.221628, -0.221633, 0.671475, 0.671477) bones/35/scale = Vector3(1, 1, 1)
bones/36/rotation = Quaternion(0.583948, 8.29882e-08, -2.36539e-06, 0.811791)
bones/36/scale = Vector3(1, 1, 1) bones/36/scale = Vector3(1, 1, 1)
bones/37/rotation = Quaternion(-0.84146, -6.60837e-08, 6.26108e-06, 0.54032)
bones/39/rotation = Quaternion(0.583949, 2.24752e-07, -2.46641e-06, 0.811791)
bones/40/rotation = Quaternion(-0.84146, -1.69298e-07, 6.42962e-06, 0.54032)
bones/41/scale = Vector3(1, 1, 1) bones/41/scale = Vector3(1, 1, 1)
bones/43/rotation = Quaternion(-0.841459, -1.31575e-07, 6.3826e-06, 0.540321)
bones/43/scale = Vector3(1, 1, 1) bones/43/scale = Vector3(1, 1, 1)
[node name="NitwitMesh" parent="Armature/Skeleton3D" index="1"] [node name="GathererMesh" parent="AntModel/Armature/Skeleton3D" index="0"]
visible = false visible = true
[node name="AnimationPlayer" parent="." index="1"] [node name="Gathering" parent="." index="8" instance=ExtResource("3_7b5q8")]
deterministic = true
[node name="AnimationTree" type="AnimationTree" parent="." index="2"] [node name="NearbyItemsSearch" parent="Gathering" index="0"]
tree_root = SubResource("AnimationNodeStateMachine_2257g") shape = SubResource("SphereShape3D_f7l1n")
anim_player = NodePath("../AnimationPlayer")
parameters/locomotion/blend_position = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="." index="3"] [node name="GatheringRadius" parent="Gathering" index="1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0) transform = Transform3D(30.6826, 0, 0, 0, 30.6826, 0, 0, 0, 30.6826, 0, 0, 0)
shape = SubResource("SphereShape3D_e8dcp")
[node name="SelectionIndicator" type="MeshInstance3D" parent="." index="4"] [editable path="AntModel"]
transform = Transform3D(0.699626, 0, 0, 0, 0.699626, 0, 0, 0, 0.699626, 0, 0, 0) [editable path="Gathering"]
cast_shadow = 0
mesh = SubResource("QuadMesh_oducb")
[node name="HoverIndicator" type="MeshInstance3D" parent="." index="5"]
transform = Transform3D(1.08549, 0, 0, 0, 1.08549, 0, 0, 0, 1.08549, 0, 0, 0)
cast_shadow = 0
mesh = SubResource("QuadMesh_tiyt4")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="." index="6"]
path_desired_distance = 0.5
target_desired_distance = 0.5
path_height_offset = 0.5
avoidance_enabled = true
height = 0.5
radius = 0.25
neighbor_distance = 10.0
[node name="VisibleOnScreenNotifier3D" type="VisibleOnScreenNotifier3D" parent="." index="7"]
aabb = AABB(-0.5, 0, -0.5, 1, 0.5, 1)
[node name="Gathering" parent="." index="8" instance=ExtResource("5_wwnxg")]
[node name="UiOrigin" type="Marker3D" parent="." index="9"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.58746, 0)

View File

@@ -1,126 +1,25 @@
[gd_scene load_steps=14 format=3 uid="uid://k11usj2shbtr"] [gd_scene load_steps=5 format=3 uid="uid://caawcj1cibfdh"]
[ext_resource type="PackedScene" uid="uid://bi231xk2sp410" path="res://assets/models/ant.glb" id="1_1u65s"] [ext_resource type="PackedScene" uid="uid://lbs0vilymbum" path="res://scenes/units/abstract/controlled_ant_unit.tscn" id="1_w0xhf"]
[ext_resource type="Script" path="res://scripts/units/ant_nitwit.gd" id="2_f1bdv"] [ext_resource type="Script" path="res://scripts/units/ant_nitwit.gd" id="2_rfn2k"]
[ext_resource type="Material" uid="uid://bghl8uypb17xy" path="res://resources/materials/indicators/select_indicator_mat.tres" id="3_pq5m5"] [ext_resource type="PackedScene" uid="uid://fal1ond30jey" path="res://scenes/units/components/gathering.tscn" id="4_k3phm"]
[ext_resource type="Material" uid="uid://f0nlf4tdpvbd" path="res://resources/materials/indicators/hover_indicator_mat.tres" id="4_tsqc2"]
[ext_resource type="PackedScene" uid="uid://fal1ond30jey" path="res://scenes/units/components/gathering.tscn" id="5_j8w6w"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_foq4x"] [sub_resource type="SphereShape3D" id="SphereShape3D_dwl4o"]
animation = &"idle" radius = 4.0
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lxe13"] [node name="AntNitwit" instance=ExtResource("1_w0xhf")]
animation = &"walk" script = ExtResource("2_rfn2k")
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_rro5b"] [node name="NitwitMesh" parent="AntModel/Armature/Skeleton3D" index="1"]
blend_point_0/node = SubResource("AnimationNodeAnimation_foq4x") visible = true
blend_point_0/pos = 0.0
blend_point_1/node = SubResource("AnimationNodeAnimation_lxe13")
blend_point_1/pos = 1.0
min_space = 0.0
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_j3gya"] [node name="Gathering" parent="." index="8" instance=ExtResource("4_k3phm")]
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_2257g"] [node name="NearbyItemsSearch" parent="Gathering" index="0"]
states/locomotion/node = SubResource("AnimationNodeBlendSpace1D_rro5b") shape = SubResource("SphereShape3D_dwl4o")
states/locomotion/position = Vector2(346, 100)
transitions = ["Start", "locomotion", SubResource("AnimationNodeStateMachineTransition_j3gya")]
[sub_resource type="SphereShape3D" id="SphereShape3D_e8dcp"] [node name="GatheringRadius" parent="Gathering" index="1"]
radius = 0.25 transform = Transform3D(8.2687, 0, 0, 0, 8.2687, 0, 0, 0, 8.2687, 0, 0, 0)
[sub_resource type="QuadMesh" id="QuadMesh_r0l7j"] [editable path="AntModel"]
material = ExtResource("3_pq5m5") [editable path="Gathering"]
center_offset = Vector3(0, 0.001, 0)
orientation = 1
[sub_resource type="QuadMesh" id="QuadMesh_1jssl"]
material = ExtResource("4_tsqc2")
center_offset = Vector3(0, 0.001, 0)
orientation = 1
[node name="AntNitwit" instance=ExtResource("1_1u65s")]
collision_layer = 4
collision_mask = 0
script = ExtResource("2_f1bdv")
[node name="Skeleton3D" parent="Armature" index="0"]
bones/4/rotation = Quaternion(0.587858, -5.43255e-07, -3.94772e-07, 0.808964)
bones/6/rotation = Quaternion(0.330686, -3.0116e-14, -4.44141e-07, 0.943741)
bones/9/rotation = Quaternion(0.587858, 5.43255e-07, 3.94772e-07, 0.808964)
bones/11/rotation = Quaternion(0.330686, 3.0116e-14, 4.44141e-07, 0.943741)
bones/14/rotation = Quaternion(4.60304e-08, 0.0294697, 0.999566, -5.43234e-07)
bones/14/scale = Vector3(1, 1, 1)
bones/15/rotation = Quaternion(4.55913e-08, 0.0294697, 0.999566, -4.34329e-07)
bones/15/scale = Vector3(1, 1, 1)
bones/16/rotation = Quaternion(4.55913e-08, 0.0294697, 0.999566, -4.34329e-07)
bones/16/scale = Vector3(1, 1, 1)
bones/18/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/19/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566)
bones/20/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/21/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/22/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/23/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566)
bones/24/rotation = Quaternion(0.0294712, -6.21995e-15, 4.35675e-07, 0.999566)
bones/25/rotation = Quaternion(0.0294712, -5.33139e-15, 4.35675e-07, 0.999566)
bones/26/rotation = Quaternion(-0.221628, 0.221633, -0.671475, 0.671477)
bones/27/rotation = Quaternion(0.583948, -8.29882e-08, 2.36539e-06, 0.811791)
bones/27/scale = Vector3(1, 1, 1)
bones/28/rotation = Quaternion(-0.84146, 6.60837e-08, -6.26108e-06, 0.54032)
bones/30/rotation = Quaternion(0.583949, -2.24752e-07, 2.46641e-06, 0.811791)
bones/31/rotation = Quaternion(-0.84146, 1.69298e-07, -6.42962e-06, 0.54032)
bones/32/scale = Vector3(1, 1, 1)
bones/34/rotation = Quaternion(-0.841459, 1.31575e-07, -6.3826e-06, 0.540321)
bones/34/scale = Vector3(1, 1, 1)
bones/35/rotation = Quaternion(-0.221628, -0.221633, 0.671475, 0.671477)
bones/36/rotation = Quaternion(0.583948, 8.29882e-08, -2.36539e-06, 0.811791)
bones/36/scale = Vector3(1, 1, 1)
bones/37/rotation = Quaternion(-0.84146, -6.60837e-08, 6.26108e-06, 0.54032)
bones/39/rotation = Quaternion(0.583949, 2.24752e-07, -2.46641e-06, 0.811791)
bones/40/rotation = Quaternion(-0.84146, -1.69298e-07, 6.42962e-06, 0.54032)
bones/41/scale = Vector3(1, 1, 1)
bones/43/rotation = Quaternion(-0.841459, -1.31575e-07, 6.3826e-06, 0.540321)
bones/43/scale = Vector3(1, 1, 1)
[node name="GathererMesh" parent="Armature/Skeleton3D" index="0"]
visible = false
[node name="AnimationPlayer" parent="." index="1"]
deterministic = true
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
tree_root = SubResource("AnimationNodeStateMachine_2257g")
anim_player = NodePath("../AnimationPlayer")
parameters/locomotion/blend_position = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="." index="3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0)
shape = SubResource("SphereShape3D_e8dcp")
[node name="SelectionIndicator" type="MeshInstance3D" parent="." index="4"]
transform = Transform3D(0.699626, 0, 0, 0, 0.699626, 0, 0, 0, 0.699626, 0, 0, 0)
cast_shadow = 0
mesh = SubResource("QuadMesh_r0l7j")
[node name="HoverIndicator" type="MeshInstance3D" parent="." index="5"]
transform = Transform3D(1.08549, 0, 0, 0, 1.08549, 0, 0, 0, 1.08549, 0, 0, 0)
cast_shadow = 0
mesh = SubResource("QuadMesh_1jssl")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="." index="6"]
path_desired_distance = 0.5
target_desired_distance = 0.5
path_height_offset = 0.5
avoidance_enabled = true
height = 0.5
radius = 0.25
neighbor_distance = 10.0
[node name="VisibleOnScreenNotifier3D" type="VisibleOnScreenNotifier3D" parent="." index="7"]
aabb = AABB(-0.5, 0, -0.5, 1, 0.5, 1)
[node name="Gathering" parent="." index="8" instance=ExtResource("5_j8w6w")]
[node name="UiOrigin" type="Marker3D" parent="." index="9"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.58746, 0)

View File

@@ -1,73 +1,47 @@
[gd_scene load_steps=12 format=3 uid="uid://cwi5twmeq7b2a"] [gd_scene load_steps=9 format=3 uid="uid://bw8cabkva3k4f"]
[ext_resource type="PackedScene" uid="uid://ch02ae8fj2lhh" path="res://assets/models/aphid.glb" id="1_cchbm"] [ext_resource type="PackedScene" uid="uid://c70vx0utm5knp" path="res://scenes/units/abstract/unit.tscn" id="1_ghhpv"]
[ext_resource type="Script" path="res://scripts/units/aphid.gd" id="2_ohs5l"] [ext_resource type="PackedScene" uid="uid://ch02ae8fj2lhh" path="res://assets/models/aphid.glb" id="2_vtmi4"]
[ext_resource type="Material" uid="uid://f5ibq3dhugoo" path="res://resources/materials/aphid_mat.tres" id="3_dcaja"] [ext_resource type="Material" uid="uid://f5ibq3dhugoo" path="res://resources/materials/aphid_mat.tres" id="3_b828p"]
[ext_resource type="Material" uid="uid://f0nlf4tdpvbd" path="res://resources/materials/indicators/hover_indicator_mat.tres" id="4_76tmp"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_akr28"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_f1f0e"]
animation = &"idle" animation = &"idle"
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qxrp5"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mfl87"]
animation = &"walk" animation = &"walk"
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_xy8wv"] [sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_lgt8u"]
blend_point_0/node = SubResource("AnimationNodeAnimation_akr28") blend_point_0/node = SubResource("AnimationNodeAnimation_f1f0e")
blend_point_0/pos = 0.0 blend_point_0/pos = 0.0
blend_point_1/node = SubResource("AnimationNodeAnimation_qxrp5") blend_point_1/node = SubResource("AnimationNodeAnimation_mfl87")
blend_point_1/pos = 1.0 blend_point_1/pos = 1.0
min_space = 0.0 min_space = 0.0
sync = true
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hnsr3"] [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_17r08"]
advance_mode = 2 advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_uieo6"] [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_38sa4"]
states/locomotion/node = SubResource("AnimationNodeBlendSpace1D_xy8wv") states/locomotion/node = SubResource("AnimationNodeBlendSpace1D_lgt8u")
states/locomotion/position = Vector2(365, 100) states/locomotion/position = Vector2(333, 100)
transitions = ["Start", "locomotion", SubResource("AnimationNodeStateMachineTransition_hnsr3")] transitions = ["Start", "locomotion", SubResource("AnimationNodeStateMachineTransition_17r08")]
[sub_resource type="SphereShape3D" id="SphereShape3D_0fs3n"] [node name="Aphid" instance=ExtResource("1_ghhpv")]
radius = 0.25
[sub_resource type="QuadMesh" id="QuadMesh_jnwlp"] [node name="AphidModel" parent="." index="0" instance=ExtResource("2_vtmi4")]
material = ExtResource("4_76tmp")
center_offset = Vector3(0, 0.001, 0)
orientation = 1
[node name="Aphid" instance=ExtResource("1_cchbm")] [node name="aphid" parent="AphidModel" index="0"]
collision_layer = 2 surface_material_override/0 = ExtResource("3_b828p")
collision_mask = 0
script = ExtResource("2_ohs5l")
[node name="aphid" parent="." index="0"] [node name="AnimationTree" parent="." index="1"]
surface_material_override/0 = ExtResource("3_dcaja") root_node = NodePath("../AphidModel")
tree_root = SubResource("AnimationNodeStateMachine_38sa4")
anim_player = NodePath("../AphidModel/AnimationPlayer")
parameters/locomotion/blend_position = 0
[node name="AnimationTree" type="AnimationTree" parent="." index="2"] [node name="HoverIndicator" parent="." index="3"]
tree_root = SubResource("AnimationNodeStateMachine_uieo6") transform = Transform3D(0.759866, 0, 0, 0, 0.759866, 0, 0, 0, 0.759866, 0, 0, 0)
anim_player = NodePath("../AnimationPlayer")
parameters/locomotion/blend_position = 0.00585774
[node name="CollisionShape3D" type="CollisionShape3D" parent="." index="3"] [node name="UiOrigin" parent="." index="6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.531, 0)
shape = SubResource("SphereShape3D_0fs3n")
[node name="HoverIndicator" type="MeshInstance3D" parent="." index="4"] [editable path="AphidModel"]
transform = Transform3D(0.813994, 0, 0, 0, 0.813994, 0, 0, 0, 0.813994, 0, 0, 0)
cast_shadow = 0
mesh = SubResource("QuadMesh_jnwlp")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="." index="5"]
path_desired_distance = 0.5
target_desired_distance = 0.5
path_height_offset = 0.5
avoidance_enabled = true
height = 0.5
radius = 0.25
neighbor_distance = 10.0
[node name="VisibleOnScreenNotifier3D" type="VisibleOnScreenNotifier3D" parent="." index="6"]
aabb = AABB(-0.283093, 0, -0.300282, 0.566186, 0.5, 0.600564)
[node name="UiOrigin" type="Marker3D" parent="." index="7"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.531097, 0)

View File

@@ -1,11 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://fal1ond30jey"] [gd_scene load_steps=4 format=3 uid="uid://fal1ond30jey"]
[ext_resource type="Script" path="res://scripts/units/components/gathering.gd" id="1_ciwtf"] [ext_resource type="Script" path="res://scripts/units/components/gathering.gd" id="1_ciwtf"]
[ext_resource type="Material" uid="uid://jkh5iskawwry" path="res://resources/materials/indicators/gathering_radius_mat.tres" id="2_r26em"] [ext_resource type="Material" uid="uid://jkh5iskawwry" path="res://resources/materials/indicators/gathering_radius_mat.tres" id="2_r26em"]
[sub_resource type="SphereShape3D" id="SphereShape3D_eqrj3"]
radius = 1.0
[sub_resource type="QuadMesh" id="QuadMesh_ks8es"] [sub_resource type="QuadMesh" id="QuadMesh_ks8es"]
material = ExtResource("2_r26em") material = ExtResource("2_r26em")
center_offset = Vector3(0, 0.001, 0) center_offset = Vector3(0, 0.001, 0)
@@ -18,7 +15,6 @@ input_ray_pickable = false
script = ExtResource("1_ciwtf") script = ExtResource("1_ciwtf")
[node name="NearbyItemsSearch" type="CollisionShape3D" parent="."] [node name="NearbyItemsSearch" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_eqrj3")
[node name="GatheringRadius" type="MeshInstance3D" parent="."] [node name="GatheringRadius" type="MeshInstance3D" parent="."]
cast_shadow = 0 cast_shadow = 0

View File

@@ -1,8 +1,7 @@
[gd_scene load_steps=17 format=3 uid="uid://ceru75se7ifkb"] [gd_scene load_steps=16 format=3 uid="uid://ceru75se7ifkb"]
[ext_resource type="PackedScene" uid="uid://brjxxr7h0o0ay" path="res://scenes/static/ground.tscn" id="1_7osoy"] [ext_resource type="PackedScene" uid="uid://brjxxr7h0o0ay" path="res://scenes/static/ground.tscn" id="1_7osoy"]
[ext_resource type="Script" path="res://scripts/main_camera.gd" id="1_gnxhh"] [ext_resource type="Script" path="res://scripts/main_camera.gd" id="1_gnxhh"]
[ext_resource type="PackedScene" uid="uid://k11usj2shbtr" path="res://scenes/units/ant_nitwit.tscn" id="2_5bhdw"]
[ext_resource type="PackedScene" uid="uid://dx544tb0so0b4" path="res://scenes/items/honeydew.tscn" id="3_hea5m"] [ext_resource type="PackedScene" uid="uid://dx544tb0so0b4" path="res://scenes/items/honeydew.tscn" id="3_hea5m"]
[ext_resource type="PackedScene" uid="uid://bk3ers4qaleu2" path="res://scenes/static/bunch_spawner.tscn" id="3_q7xu0"] [ext_resource type="PackedScene" uid="uid://bk3ers4qaleu2" path="res://scenes/static/bunch_spawner.tscn" id="3_q7xu0"]
[ext_resource type="PackedScene" uid="uid://c70rhvk2okkcu" path="res://scenes/ui/buy_ants.tscn" id="4_irvxk"] [ext_resource type="PackedScene" uid="uid://c70rhvk2okkcu" path="res://scenes/ui/buy_ants.tscn" id="4_irvxk"]
@@ -59,306 +58,6 @@ shadow_enabled = true
[node name="Nitwits" type="Node" parent="Units"] [node name="Nitwits" type="Node" parent="Units"]
[node name="AntNitwit" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -63.2026)
[node name="AntNitwit2" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -63.2026)
[node name="AntNitwit3" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -63.2026)
[node name="AntNitwit4" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -63.2026)
[node name="AntNitwit5" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -63.2026)
[node name="AntNitwit6" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -63.2026)
[node name="AntNitwit7" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -63.2026)
[node name="AntNitwit8" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -63.2026)
[node name="AntNitwit9" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -63.2026)
[node name="AntNitwit10" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -63.2026)
[node name="AntNitwit11" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -61.941)
[node name="AntNitwit12" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -61.941)
[node name="AntNitwit13" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -61.941)
[node name="AntNitwit14" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -61.941)
[node name="AntNitwit15" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -61.941)
[node name="AntNitwit16" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -61.941)
[node name="AntNitwit17" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -61.941)
[node name="AntNitwit18" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -61.941)
[node name="AntNitwit19" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -61.941)
[node name="AntNitwit20" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -61.941)
[node name="AntNitwit21" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -60.7597)
[node name="AntNitwit22" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -60.7597)
[node name="AntNitwit23" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -60.7597)
[node name="AntNitwit24" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -60.7597)
[node name="AntNitwit25" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -60.7597)
[node name="AntNitwit26" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -60.7597)
[node name="AntNitwit27" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -60.7597)
[node name="AntNitwit28" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -60.7597)
[node name="AntNitwit29" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -60.7597)
[node name="AntNitwit30" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -60.7597)
[node name="AntNitwit31" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -59.3789)
[node name="AntNitwit32" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -59.3789)
[node name="AntNitwit33" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -59.3789)
[node name="AntNitwit34" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -59.3789)
[node name="AntNitwit35" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -59.3789)
[node name="AntNitwit36" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -59.3789)
[node name="AntNitwit37" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -59.3789)
[node name="AntNitwit38" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -59.3789)
[node name="AntNitwit39" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -59.3789)
[node name="AntNitwit40" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -59.3789)
[node name="AntNitwit41" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -58.3384)
[node name="AntNitwit42" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -58.3384)
[node name="AntNitwit43" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -58.3384)
[node name="AntNitwit44" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -58.3384)
[node name="AntNitwit45" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -58.3384)
[node name="AntNitwit46" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -58.3384)
[node name="AntNitwit47" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -58.3384)
[node name="AntNitwit48" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -58.3384)
[node name="AntNitwit49" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -58.3384)
[node name="AntNitwit50" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -58.3384)
[node name="AntNitwit51" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -56.7938)
[node name="AntNitwit52" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -56.7938)
[node name="AntNitwit53" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -56.7938)
[node name="AntNitwit54" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -56.7938)
[node name="AntNitwit55" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -56.7938)
[node name="AntNitwit56" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -56.7938)
[node name="AntNitwit57" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -56.7938)
[node name="AntNitwit58" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -56.7938)
[node name="AntNitwit59" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -56.7938)
[node name="AntNitwit60" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -56.7938)
[node name="AntNitwit61" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -55.5322)
[node name="AntNitwit62" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -55.5322)
[node name="AntNitwit63" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -55.5322)
[node name="AntNitwit64" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -55.5322)
[node name="AntNitwit65" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -55.5322)
[node name="AntNitwit66" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -55.5322)
[node name="AntNitwit67" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -55.5322)
[node name="AntNitwit68" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -55.5322)
[node name="AntNitwit69" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -55.5322)
[node name="AntNitwit70" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -55.5322)
[node name="AntNitwit71" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -54.3509)
[node name="AntNitwit72" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -54.3509)
[node name="AntNitwit73" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -54.3509)
[node name="AntNitwit74" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -54.3509)
[node name="AntNitwit75" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -54.3509)
[node name="AntNitwit76" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -54.3509)
[node name="AntNitwit77" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -54.3509)
[node name="AntNitwit78" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -54.3509)
[node name="AntNitwit79" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -54.3509)
[node name="AntNitwit80" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -54.3509)
[node name="AntNitwit81" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -52.9701)
[node name="AntNitwit82" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -52.9701)
[node name="AntNitwit83" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -52.9701)
[node name="AntNitwit84" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -52.9701)
[node name="AntNitwit85" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -52.9701)
[node name="AntNitwit86" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -52.9701)
[node name="AntNitwit87" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -52.9701)
[node name="AntNitwit88" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -52.9701)
[node name="AntNitwit89" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -52.9701)
[node name="AntNitwit90" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -52.9701)
[node name="AntNitwit91" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55.4719, 7.62939e-06, -51.9296)
[node name="AntNitwit92" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.26, 7.62939e-06, -51.9296)
[node name="AntNitwit93" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.8918, 7.62939e-06, -51.9296)
[node name="AntNitwit94" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.6934, 7.62939e-06, -51.9296)
[node name="AntNitwit95" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.5038, 7.62939e-06, -51.9296)
[node name="AntNitwit96" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.3202, 7.62939e-06, -51.9296)
[node name="AntNitwit97" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.0667, 7.62939e-06, -51.9296)
[node name="AntNitwit98" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.8207, 7.62939e-06, -51.9296)
[node name="AntNitwit99" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45.6555, 7.62939e-06, -51.9296)
[node name="AntNitwit100" parent="Units/Nitwits" instance=ExtResource("2_5bhdw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.3467, 7.62939e-06, -51.9296)
[node name="Gatherers" type="Node" parent="Units"] [node name="Gatherers" type="Node" parent="Units"]
[node name="Structures" type="Node" parent="."] [node name="Structures" type="Node" parent="."]

View File

@@ -13,7 +13,7 @@ const MAX_CARRY: int = 8
var state: AntGathererState = AntGathererState.WANDERING var state: AntGathererState = AntGathererState.WANDERING
@onready var gathering: Gathering = $Gathering @onready var gathering: Gathering = $Gathering
@onready var skeleton: Skeleton3D = $Armature/Skeleton3D @onready var skeleton: Skeleton3D = $AntModel/Armature/Skeleton3D
static func get_cost() -> int: static func get_cost() -> int:

View File

@@ -12,7 +12,7 @@ const ITEM_BONE_NAME = "Nitwit_item_"
var state: AntNitwitState = AntNitwitState.WANDERING var state: AntNitwitState = AntNitwitState.WANDERING
@onready var gathering: Gathering = $Gathering @onready var gathering: Gathering = $Gathering
@onready var skeleton: Skeleton3D = $Armature/Skeleton3D @onready var skeleton: Skeleton3D = $AntModel/Armature/Skeleton3D
static func get_cost() -> int: static func get_cost() -> int:

View File

@@ -94,7 +94,7 @@ func _animate(delta: float) -> void:
velocity.length() / MOVE_SPEED, velocity.length() / MOVE_SPEED,
delta * 8 delta * 8
) )
# animation_tree.set("parameters/locomotion/blend_position", locomotion_value) animation_tree.set("parameters/locomotion/blend_position", locomotion_value)
func _wander(delta: float) -> void: func _wander(delta: float) -> void: