improve and update ai

This commit was merged in pull request #32.
This commit is contained in:
2026-06-21 09:24:05 +00:00
parent 5dd8f8092c
commit efb7a78cf1
82 changed files with 7342 additions and 2889 deletions

View File

@@ -4,6 +4,7 @@ class_name AIBase
@export_group("Settings")
@export var speed: float = 4.0
@export_flags_3d_navigation var navigation_layers: int = 1
var _enable_state_machine: bool = true
@export var enable_state_machine: bool:
set(value):
@@ -26,6 +27,8 @@ enum EntityType { HUMANOID, ANIMAL }
func _ready() -> void:
randomize()
if nav_agent:
nav_agent.navigation_layers = navigation_layers
toggle_enable_state_machine()
func toggle_enable_state_machine() -> void:
@@ -52,7 +55,7 @@ func _physics_process(delta: float) -> void:
var look_dir = Vector3(velocity.x, 0, velocity.z)
var target_transform = global_transform.looking_at(global_position - look_dir, Vector3.UP)
global_transform = global_transform.interpolate_with(target_transform, delta * 10.0)
move_and_slide()
func navigate_to_random_point() -> void:
@@ -67,4 +70,6 @@ func navigate_to_random_point() -> void:
if nav_agent.is_target_reachable():
return
nav_agent.target_position = global_position
# Fallback: if we can't find a reachable point (e.g. we drifted slightly off navmesh),
# try to navigate to the closest navmesh point to our CURRENT position to get unstuck.
nav_agent.target_position = NavigationServer3D.map_get_closest_point(nav_map_rid, global_position)

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bi5f24frndw7j"
path="res://.godot/imported/pig.fbx-9a85be4e550d2dcb19fad4ead53d1bfb.scn"
uid="uid://c5rccx22gs6jt"
path="res://.godot/imported/Cat_rig.fbx-bc3034028add79e5e269f1589fc49554.scn"
[deps]
source_file="res://core/ai/agents/pig/pig.fbx"
dest_files=["res://.godot/imported/pig.fbx-9a85be4e550d2dcb19fad4ead53d1bfb.scn"]
source_file="res://core/ai/agents/cat/Cat_rig.fbx"
dest_files=["res://.godot/imported/Cat_rig.fbx-bc3034028add79e5e269f1589fc49554.scn"]
[params]
@@ -39,12 +39,12 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"animations": {
"Armature|Idle": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/pig/idle.res",
"Cat_Idle": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://c4ingpw0co8v2",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",
@@ -2095,12 +2095,12 @@ _subresources={
"slice_99/start_frame": 0,
"slices/amount": 0
},
"Armature|Jump": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/pig/walking.res",
"Cat_Walk": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://ct46v2up1gmdn",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",

View File

@@ -0,0 +1,60 @@
[gd_scene format=3 uid="uid://duppccreftg3v"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_85o24"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_6mu8r"]
[ext_resource type="PackedScene" uid="uid://c5rccx22gs6jt" path="res://core/ai/agents/cat/Cat_rig.fbx" id="2_rohxe"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_0jm3k"]
[node name="AiCat" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_85o24")]
anim_player = NodePath("Cat_rig/AnimationPlayer")
entity_type = 1
entity_name = "Cat"
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=1884542620]
script = ExtResource("2_6mu8r")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "Cat_Idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=1861645340]
script = ExtResource("3_0jm3k")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "Cat_Walk"
exit_on_action_finished = true
[node name="Cat_rig" parent="." index="3" unique_id=1332997618 instance=ExtResource("2_rohxe")]
[node name="Skeleton3D" parent="Cat_rig/Rig_Cat" parent_id_path=PackedInt32Array(1332997618, 1292226211) index="0" unique_id=807490174]
bones/1/position = Vector3(1.6719584e-08, 0.23547882, 0.34218493)
bones/1/rotation = Quaternion(0.12769094, -0.6954821, -0.12769029, 0.69548184)
bones/2/rotation = Quaternion(-1.5819447e-07, -1.9079575e-07, -0.5904159, 0.8070992)
bones/3/position = Vector3(0.21655759, -1.1490099e-06, 4.6904738e-08)
bones/3/rotation = Quaternion(4.4475364e-08, -1.16689236e-07, 0.042394996, 0.999101)
bones/4/rotation = Quaternion(4.694551e-09, 1.2888964e-07, 0.30337927, 0.9528699)
bones/7/rotation = Quaternion(9.573777e-09, -1.3302474e-07, -0.40028554, 0.9163905)
bones/9/rotation = Quaternion(0.0005057682, -0.00040186392, -0.7732871, 0.63405573)
bones/10/rotation = Quaternion(7.318899e-08, 1.07771655e-07, 0.23513123, 0.97196364)
bones/11/rotation = Quaternion(-0.013215952, -0.0063107302, 0.33804607, 0.9410156)
bones/13/rotation = Quaternion(-0.00018823319, 2.7849663e-05, -0.77314246, 0.6342325)
bones/14/rotation = Quaternion(7.324482e-08, 1.0779509e-07, 0.23506226, 0.9719804)
bones/15/rotation = Quaternion(0.01474526, 0.007664346, 0.33750835, 0.94117594)
bones/17/rotation = Quaternion(0.06574773, -0.012684476, 0.9796892, 0.18901183)
bones/18/rotation = Quaternion(-0.046865243, -0.04779876, -0.69851494, 0.7124576)
bones/19/position = Vector3(0.18072681, -0.041122876, -4.2319297e-08)
bones/19/rotation = Quaternion(-0.0051541063, -0.0666377, -0.080000654, 0.9945516)
bones/21/rotation = Quaternion(1.2657155e-07, 4.030732e-07, 0.96184576, -0.27359232)
bones/22/position = Vector3(0.0749221, -0.0072982265, -0.03856178)
bones/22/rotation = Quaternion(-8.139895e-08, 1.15607975e-07, -0.47071916, 0.88228315)
bones/23/position = Vector3(0.18089643, -0.000116025236, -0.011642921)
bones/23/rotation = Quaternion(2.998039e-07, -1.6746765e-07, 0.5290288, 0.84860384)
bones/26/position = Vector3(-0.03817617, 0.03956073, 0.04669925)
bones/26/rotation = Quaternion(-3.380398e-05, -0.00016875651, 0.9618461, -0.27359122)
bones/27/rotation = Quaternion(-8.140452e-08, 1.1560887e-07, -0.47071794, 0.8822838)
bones/28/position = Vector3(0.18089616, -0.000116375166, 0.011642809)
bones/28/rotation = Quaternion(4.5638826e-05, -8.8217595e-05, 0.5290293, 0.84860367)
[editable path="Cat_rig"]

View File

@@ -1,32 +0,0 @@
[gd_scene format=3 uid="uid://dd8wn62anbts8"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_p2hpa"]
[ext_resource type="PackedScene" uid="uid://bjp8wbrtfl4v2" path="res://core/ai/agents/cow/cow_mannequin.tscn" id="2_6gadt"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_vlvvc"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_su7en"]
[node name="AiCow" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_p2hpa")]
anim_player = NodePath("CowMannequin/AnimationPlayer")
entity_type = 1
entity_name = "Cow"
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=2033863310]
script = ExtResource("2_vlvvc")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "custom/idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=2076820654]
script = ExtResource("3_su7en")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "custom/walking"
exit_on_action_finished = true
[node name="CowMannequin" parent="." index="3" unique_id=1390675137 instance=ExtResource("2_6gadt")]
transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, -0.9, 0)
[editable path="CowMannequin"]

Binary file not shown.

View File

@@ -1,81 +0,0 @@
[gd_scene format=3 uid="uid://bjp8wbrtfl4v2"]
[ext_resource type="PackedScene" uid="uid://b7d57tyxi41r1" path="res://core/ai/agents/cow/cow.fbx" id="1_60f5q"]
[ext_resource type="Animation" uid="uid://bsuoywknbbnm0" path="res://core/ai/agents/cow/idle.res" id="2_5ukcj"]
[ext_resource type="Animation" uid="uid://ckmybsnuf4stp" path="res://core/ai/agents/cow/walking.res" id="3_0mu5m"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_lowte"]
_data = {
&"idle": ExtResource("2_5ukcj"),
&"walking": ExtResource("3_0mu5m")
}
[node name="CowMannequin" unique_id=786985233 instance=ExtResource("1_60f5q")]
[node name="Skeleton3D" parent="Armature" parent_id_path=PackedInt32Array(792301245) index="0" unique_id=1950086664]
bones/1/rotation = Quaternion(0.7071068, -6.209646e-07, -6.209645e-07, 0.7071067)
bones/1/scale = Vector3(1, 1, 1)
bones/4/rotation = Quaternion(0.0015316998, -0.0015319793, 0.70710516, 0.70710516)
bones/5/position = Vector3(1.3183898e-16, 0.006025583, -6.675722e-10)
bones/5/rotation = Quaternion(0.703962, -0.69745475, -0.08083715, 0.10705068)
bones/5/scale = Vector3(1, 0.99999976, 1)
bones/6/position = Vector3(-1.403955e-10, 0.009248152, 3.7406075e-11)
bones/6/rotation = Quaternion(0.18324056, -0.018661192, 0.0034790868, 0.98288476)
bones/6/scale = Vector3(1, 1, 1)
bones/8/scale = Vector3(0.99999994, 0.99999994, 1)
bones/9/position = Vector3(-3.8163916e-17, 0.0046958304, 1.907358e-10)
bones/9/rotation = Quaternion(0.6754388, -0.68119305, 0.18401879, -0.21423234)
bones/9/scale = Vector3(1, 0.99999994, 1.0000001)
bones/10/position = Vector3(7.2902e-10, 0.011755081, -3.0995417e-10)
bones/10/rotation = Quaternion(-0.35146433, 0.018116632, 0.0068026204, 0.9360013)
bones/10/scale = Vector3(0.9999999, 1, 1.0000001)
bones/12/rotation = Quaternion(0.707105, 0.70710486, 0.0016303749, -0.0016306548)
bones/12/scale = Vector3(1, 1, 1)
bones/13/position = Vector3(-1.5265567e-16, 0.0060255853, 6.6757205e-10)
bones/13/rotation = Quaternion(-0.057434652, -0.13032891, 0.70625645, 0.69348216)
bones/13/scale = Vector3(0.99999994, 1, 0.9999999)
bones/14/position = Vector3(-4.5945833e-10, 0.009248151, -5.7053273e-09)
bones/14/rotation = Quaternion(0.18302466, 0.051401887, -0.0095829815, 0.9817169)
bones/14/scale = Vector3(1, 1.0000001, 0.99999994)
bones/16/rotation = Quaternion(0.7071062, 0.7071063, 0.0008663558, -0.0008670737)
bones/16/scale = Vector3(1, 1, 1)
bones/17/position = Vector3(1.7347235e-17, 0.0046958304, -1.9073432e-10)
bones/17/rotation = Quaternion(0.1907959, 0.2076444, 0.67355627, 0.6832297)
bones/17/scale = Vector3(1, 1, 1.0000001)
bones/18/position = Vector3(1.834215e-10, 0.011755081, -1.7500804e-09)
bones/18/rotation = Quaternion(-0.35151497, -0.0088962475, -0.003340601, 0.93613404)
bones/18/scale = Vector3(1, 1.0000001, 0.99999994)
bones/20/rotation = Quaternion(0.60080343, -0.03016121, 0.03526711, 0.7980488)
bones/21/position = Vector3(0.00011168665, 0.0039693406, -0.013754063)
bones/21/rotation = Quaternion(0.98885596, 3.1474094e-08, 2.23642e-07, -0.14887528)
bones/21/scale = Vector3(1, 1.0000001, 1.0000001)
bones/22/position = Vector3(-2.5714557e-11, 0.00836347, -9.433328e-09)
bones/22/rotation = Quaternion(-0.6231534, 9.0575064e-08, -7.589477e-08, 0.78209966)
bones/22/scale = Vector3(1, 0.9999999, 0.99999994)
bones/23/position = Vector3(-2.1545942e-12, 0.0072733457, -2.594807e-09)
bones/23/rotation = Quaternion(-1.8223004e-08, 0.98608583, -0.16623694, 2.7314604e-07)
bones/23/scale = Vector3(1, 0.9999997, 0.9999997)
bones/24/position = Vector3(3.3663968e-13, 0.006993335, -2.8376712e-09)
bones/24/rotation = Quaternion(-0.048028953, 2.6759114e-08, 4.5447155e-08, 0.998846)
bones/24/scale = Vector3(1, 0.99999994, 1.0000001)
bones/26/rotation = Quaternion(0.0054439656, 0.86556005, 0.50029516, -0.021930087)
bones/26/scale = Vector3(1, 1.0000002, 1)
bones/27/position = Vector3(1.8971762e-10, 0.013189232, -5.7312505e-10)
bones/27/rotation = Quaternion(0.15129425, -0.018451845, -0.013046658, 0.9882304)
bones/27/scale = Vector3(0.99999994, 0.99999994, 1.0000001)
bones/28/position = Vector3(-2.1601461e-10, 0.013573305, 4.8459786e-10)
bones/28/rotation = Quaternion(-0.6245376, -0.19781438, 0.16660775, 0.7369289)
bones/28/scale = Vector3(1, 0.9999999, 1.0000001)
bones/30/rotation = Quaternion(3.5765906e-06, 0.67050743, 0.7419029, 3.2289404e-06)
bones/31/position = Vector3(-1.2499713e-14, 0.01925819, -1.2902629e-09)
bones/31/rotation = Quaternion(0.086390205, 0.0012038474, -0.013495129, 0.99616927)
bones/31/scale = Vector3(0.9999999, 0.99999994, 1)
bones/33/rotation = Quaternion(0.7071068, -6.209646e-07, -6.209645e-07, 0.7071067)
bones/33/scale = Vector3(1, 1, 1)
bones/35/rotation = Quaternion(0.7071068, -9.581396e-07, -9.581394e-07, 0.7071067)
bones/35/scale = Vector3(1, 1, 1)
bones/37/rotation = Quaternion(0.7071068, -9.581396e-07, -9.581394e-07, 0.7071067)
bones/37/scale = Vector3(1, 1, 1)
[node name="AnimationPlayer" parent="." index="1" unique_id=1401028430]
libraries/custom = SubResource("AnimationLibrary_lowte")

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b7d57tyxi41r1"
path="res://.godot/imported/cow.fbx-4e6408597feff1912f096de01cca2997.scn"
uid="uid://dfdeepw5p5nb8"
path="res://.godot/imported/Crow_rig.fbx-dd8e2cd67741ca2e2732118f056d6127.scn"
[deps]
source_file="res://core/ai/agents/cow/cow.fbx"
dest_files=["res://.godot/imported/cow.fbx-4e6408597feff1912f096de01cca2997.scn"]
source_file="res://core/ai/agents/crow/Crow_rig.fbx"
dest_files=["res://.godot/imported/Crow_rig.fbx-dd8e2cd67741ca2e2732118f056d6127.scn"]
[params]
@@ -39,12 +39,12 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"animations": {
"Armature|Idle": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/cow/idle.res",
"Fly_Crow": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://b2elfct5e6p3m",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",
@@ -2095,12 +2095,12 @@ _subresources={
"slice_99/start_frame": 0,
"slices/amount": 0
},
"Armature|Walk": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/cow/walking.res",
"Idle_Crow": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://c7x1g6c4eh1od",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",

View File

@@ -0,0 +1,25 @@
[gd_scene format=3 uid="uid://cxi6phs4fieli"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_tx3nx"]
[ext_resource type="PackedScene" uid="uid://dfdeepw5p5nb8" path="res://core/ai/agents/crow/Crow_rig.fbx" id="2_1pxwy"]
[ext_resource type="Script" uid="uid://da5vhmxbxkdbc" path="res://core/ai/framework/wait_train_state.gd" id="3_wait"]
[ext_resource type="Script" uid="uid://tys4fmqvneom" path="res://core/ai/framework/fly_away_state.gd" id="4_fly"]
[node name="AiCrow" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_tx3nx")]
anim_player = NodePath("Crow_rig/AnimationPlayer")
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("WaitTrainState")
[node name="WaitTrainState" type="Node" parent="StateMachine" index="0" unique_id=1000000000]
script = ExtResource("3_wait")
state_id = &"wait"
next_state_id = &"fly"
animation_name = "Idle_Crow"
[node name="FlyAwayState" type="Node" parent="StateMachine" index="1" unique_id=1000000001]
script = ExtResource("4_fly")
state_id = &"fly"
animation_name = "Fly_Crow"
[node name="Crow_rig" parent="." index="3" unique_id=2141026440 instance=ExtResource("2_1pxwy")]

Binary file not shown.

View File

@@ -0,0 +1,61 @@
[gd_scene format=3 uid="uid://bk45etvtdd6m5"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_m3efo"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_58gnd"]
[ext_resource type="PackedScene" uid="uid://4y4tffc723lg" path="res://core/ai/agents/fox/Fox_rig.fbx" id="2_xaafp"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_d1sp2"]
[ext_resource type="Script" uid="uid://b5y4u0itec8g1" path="res://core/ai/framework/run_state.gd" id="4_d1sp2"]
[node name="AiFox" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_m3efo")]
anim_player = NodePath("Fox_rig/AnimationPlayer")
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=933090954]
script = ExtResource("2_58gnd")
state_id = &"idle"
next_state_id = &"patrol"
random_next_state_ids = Array[StringName]([&"patrol", &"run"])
animation_name = "Idle_Fox"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=48187684]
script = ExtResource("3_d1sp2")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "Walk_Fox"
exit_on_action_finished = true
[node name="RunState" type="Node" parent="StateMachine" index="2" unique_id=30664919]
script = ExtResource("4_d1sp2")
state_id = &"run"
next_state_id = &"idle"
animation_name = "Run_Fox"
exit_on_action_finished = true
[node name="Fox_rig" parent="." index="3" unique_id=2044859181 instance=ExtResource("2_xaafp")]
[node name="Skeleton3D" parent="Fox_rig/Rig_Fox" parent_id_path=PackedInt32Array(2044859181, 1371677834) index="0" unique_id=625291101]
bones/1/position = Vector3(1.2443564e-08, 0.24551632, 0.408434)
bones/1/rotation = Quaternion(0.12769088, -0.6954821, -0.12769023, 0.69548184)
bones/2/rotation = Quaternion(-1.492881e-07, -1.7862074e-07, -0.5904159, 0.8070992)
bones/3/rotation = Quaternion(4.4853135e-08, 2.4038487e-09, 0.042394996, 0.999101)
bones/4/rotation = Quaternion(-3.9116873e-08, 1.0805254e-08, 0.30337915, 0.95286995)
bones/7/rotation = Quaternion(6.614782e-08, -2.2280902e-08, -0.4002855, 0.9163905)
bones/9/rotation = Quaternion(0.00050595123, -0.00040185585, -0.7732871, 0.63405573)
bones/10/rotation = Quaternion(4.4809266e-08, -6.81585e-09, 0.23513126, 0.97196364)
bones/11/rotation = Quaternion(-0.013216025, -0.0063106352, 0.33804604, 0.94101566)
bones/13/rotation = Quaternion(-0.00018805025, 2.7857828e-05, -0.77314246, 0.6342325)
bones/14/rotation = Quaternion(4.4874945e-08, -6.797017e-09, 0.23506236, 0.9719803)
bones/15/rotation = Quaternion(0.014745249, 0.00766435, 0.33750823, 0.9411759)
bones/17/rotation = Quaternion(0.06574762, -0.012684453, 0.9796892, 0.18901181)
bones/18/rotation = Quaternion(-0.0045532905, -0.06678549, -0.06784821, 0.99544746)
bones/19/rotation = Quaternion(-0.00312141, -0.06676418, -0.049661905, 0.99652725)
bones/21/rotation = Quaternion(-5.0142333e-08, 4.1612444e-07, 0.9618458, -0.27359205)
bones/22/rotation = Quaternion(-1.9314905e-08, 4.503425e-08, -0.47071874, 0.88228333)
bones/23/rotation = Quaternion(1.5250623e-07, -2.2114624e-07, 0.5290283, 0.84860426)
bones/26/rotation = Quaternion(-3.3980676e-05, -0.00016874354, 0.9618461, -0.27359122)
bones/27/rotation = Quaternion(-1.9324155e-08, 4.5031282e-08, -0.47071794, 0.8822838)
bones/28/rotation = Quaternion(4.549153e-05, -8.8271285e-05, 0.5290293, 0.84860367)
[editable path="Fox_rig"]

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://buqmw5lbfom07"
path="res://.godot/imported/pug.fbx-af6b781ab7e595bee6c68e7b6c8c2740.scn"
uid="uid://cumnmnbdjbgas"
path="res://.godot/imported/Goat_rig.fbx-c2bee76b10caf5e31da9699c3ace28b3.scn"
[deps]
source_file="res://core/ai/agents/pug/pug.fbx"
dest_files=["res://.godot/imported/pug.fbx-af6b781ab7e595bee6c68e7b6c8c2740.scn"]
source_file="res://core/ai/agents/goat/Goat_rig.fbx"
dest_files=["res://.godot/imported/Goat_rig.fbx-c2bee76b10caf5e31da9699c3ace28b3.scn"]
[params]
@@ -39,12 +39,12 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"animations": {
"Armature|Idle": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/pug/idle.res",
"Goat_Idle": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://c8hy2tftqb7su",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",
@@ -2095,12 +2095,12 @@ _subresources={
"slice_99/start_frame": 0,
"slices/amount": 0
},
"Armature|Jump": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/pug/walking.res",
"Goat_Walk": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://bqrhidcnublea",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",

View File

@@ -0,0 +1,52 @@
[gd_scene format=3 uid="uid://c8e8vy2yx0vuj"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_f7hhh"]
[ext_resource type="PackedScene" uid="uid://cumnmnbdjbgas" path="res://core/ai/agents/goat/Goat_rig.fbx" id="2_oxwbf"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_ucoix"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_lqqd8"]
[node name="AiGoat" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_f7hhh")]
anim_player = NodePath("Goat_rig/AnimationPlayer")
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=874855696]
script = ExtResource("2_ucoix")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "Goat_Idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=450542027]
script = ExtResource("3_lqqd8")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "Goat_Walk"
exit_on_action_finished = true
[node name="Goat_rig" parent="." index="3" unique_id=1336829719 instance=ExtResource("2_oxwbf")]
[node name="Skeleton3D" parent="Goat_rig/Rig_Goat" parent_id_path=PackedInt32Array(1336829719, 1896192446) index="0" unique_id=1573667924]
bones/1/position = Vector3(-8.352713e-09, 0.36986786, 0.8951362)
bones/1/rotation = Quaternion(0.1276911, -0.695482, -0.12769035, 0.69548184)
bones/2/rotation = Quaternion(-8.7811394e-08, -9.458198e-08, -0.5904155, 0.80709946)
bones/3/rotation = Quaternion(4.747651e-08, -1.1784627e-07, 0.017411958, 0.9998484)
bones/4/rotation = Quaternion(6.0150165e-09, 1.2466938e-07, 0.30337915, 0.95287)
bones/7/rotation = Quaternion(5.4816347e-08, -2.1401915e-08, -0.40028566, 0.9163904)
bones/9/rotation = Quaternion(0.00046716904, -0.0004462793, -0.7121794, 0.7019972)
bones/10/rotation = Quaternion(1.4472131e-07, 8.2933745e-08, 0.037125967, 0.9993106)
bones/11/rotation = Quaternion(-0.012037385, -0.007822092, 0.4605625, 0.8875113)
bones/13/rotation = Quaternion(0.0004971335, -0.00088232313, -0.7120875, 0.70209)
bones/14/rotation = Quaternion(1.2098344e-07, 6.220867e-08, 0.03712596, 0.9993106)
bones/15/rotation = Quaternion(0.016517974, 0.014013905, 0.46007547, 0.8876156)
bones/17/rotation = Quaternion(5.284289e-08, 2.4923622e-07, 0.98189294, 0.1894366)
bones/18/rotation = Quaternion(-1.4809112e-07, -6.559211e-08, -0.4198785, 0.9075803)
bones/19/rotation = Quaternion(-2.2811262e-09, 1.0970184e-07, 0.011576452, 0.999933)
bones/21/rotation = Quaternion(3.0247494e-07, 7.4317376e-07, 0.9653871, -0.26082122)
bones/22/rotation = Quaternion(-3.8364158e-07, 5.6172302e-09, -0.3680436, 0.92980856)
bones/23/rotation = Quaternion(0.0002487348, 5.1511866e-05, 0.45848387, 0.8887027)
bones/26/rotation = Quaternion(2.713829e-07, 8.5825764e-07, 0.9653876, -0.26081985)
bones/27/rotation = Quaternion(-3.8362674e-07, 5.6200027e-09, -0.3680436, 0.92980856)
bones/28/rotation = Quaternion(-0.00015313082, -7.842175e-05, 0.45790914, 0.888999)
[editable path="Goat_rig"]

View File

@@ -1,71 +0,0 @@
[gd_scene format=3 uid="uid://cayakdk7gmlyg"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_e5v3h"]
[ext_resource type="PackedScene" uid="uid://dqhueybnlrrqx" path="res://core/ai/agents/horse/horse_mannequin.tscn" id="2_4t6jw"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_or6xs"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_n63jb"]
[ext_resource type="Animation" uid="uid://doyi6etqvy4n2" path="res://core/ai/agents/horse/idle.res" id="3_qe4rt"]
[ext_resource type="Animation" uid="uid://hotr7r3fd1sq" path="res://core/ai/agents/horse/walking.res" id="4_q8m0v"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_or6xs"]
_data = {
&"idle": ExtResource("3_qe4rt"),
&"walking": ExtResource("4_q8m0v")
}
[node name="AiHorse" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_e5v3h")]
anim_player = NodePath("HorseMannequin/AnimationPlayer")
entity_type = 1
entity_name = "Horse"
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=734754793]
script = ExtResource("2_or6xs")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "custom/idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=1748382252]
script = ExtResource("3_n63jb")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "custom/walking"
exit_on_action_finished = true
[node name="HorseMannequin" parent="." index="3" unique_id=1289880358 instance=ExtResource("2_4t6jw")]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, -0.9, 0)
[node name="Skeleton3D" parent="HorseMannequin/Armature" parent_id_path=PackedInt32Array(1289880358, 1841497289) index="0" unique_id=1502661928]
bones/1/rotation = Quaternion(0.7071068, -6.209646e-07, -6.209645e-07, 0.7071067)
bones/4/rotation = Quaternion(0.0012952884, -0.0012955684, 0.7071056, 0.7071057)
bones/5/rotation = Quaternion(0.70685357, -0.70227593, -0.04508998, 0.07164877)
bones/6/rotation = Quaternion(0.13314606, -0.018813655, 0.0025279524, 0.9909147)
bones/8/rotation = Quaternion(0.00078355736, -0.00078427553, 0.70710635, 0.70710635)
bones/9/rotation = Quaternion(0.6711558, -0.6744515, 0.20213859, -0.23195927)
bones/10/rotation = Quaternion(-0.3574636, 0.018072592, 0.006918765, 0.9337266)
bones/12/rotation = Quaternion(0.7071054, 0.7071055, 0.0013743625, -0.0013746425)
bones/13/rotation = Quaternion(-0.02159133, -0.09508795, 0.70796114, 0.69948786)
bones/14/rotation = Quaternion(0.13298893, 0.051821847, -0.0069631753, 0.9897374)
bones/16/rotation = Quaternion(0.7071064, 0.70710653, 0.00066260004, -0.00066331815)
bones/17/rotation = Quaternion(0.20885532, 0.22542001, 0.6690968, 0.6766645)
bones/18/rotation = Quaternion(-0.3575147, -0.008874607, -0.003397635, 0.9338592)
bones/20/rotation = Quaternion(0.6010642, -0.021428203, 0.02848876, 0.79840535)
bones/21/rotation = Quaternion(0.99267024, 2.482745e-08, 2.2239277e-07, -0.12085533)
bones/22/rotation = Quaternion(-0.6165577, 9.507701e-08, -7.2693986e-08, 0.7873097)
bones/23/rotation = Quaternion(-1.5614631e-08, 0.9891947, -0.14660779, 2.7153942e-07)
bones/24/rotation = Quaternion(0.03904001, 3.5621138e-08, 1.47960275e-08, 0.99923766)
bones/26/rotation = Quaternion(0.008421451, 0.95973384, 0.27944198, -0.027427308)
bones/27/rotation = Quaternion(-0.08868468, -0.022488868, -0.01781765, 0.9956465)
bones/28/rotation = Quaternion(-0.62453747, -0.1978144, 0.1666077, 0.736929)
bones/30/rotation = Quaternion(3.4527793e-06, 0.6944211, 0.71956885, 3.3297817e-06)
bones/31/rotation = Quaternion(0.053752482, 0.0007617086, -0.013526975, 0.9984624)
bones/33/rotation = Quaternion(0.7071068, -6.209646e-07, -6.209645e-07, 0.7071067)
bones/35/rotation = Quaternion(0.7071068, -9.581396e-07, -9.581394e-07, 0.7071067)
bones/37/rotation = Quaternion(0.7071068, -9.581396e-07, -9.581394e-07, 0.7071067)
[node name="AnimationPlayer" parent="HorseMannequin" index="1" unique_id=1876493257]
libraries/custom = SubResource("AnimationLibrary_or6xs")
[editable path="HorseMannequin"]

Binary file not shown.

View File

@@ -1,5 +0,0 @@
[gd_scene format=3 uid="uid://dqhueybnlrrqx"]
[ext_resource type="PackedScene" uid="uid://be1ql8okme4n7" path="res://core/ai/agents/horse/horse.fbx" id="1_fbqil"]
[node name="HorseMannequin" unique_id=1289880358 instance=ExtResource("1_fbqil")]

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://vwsssgbouxoj"
path="res://.godot/imported/gather.fbx-5334c041ee7a918a2a427113d589eb94.scn"
uid="uid://bvrn4woiabto5"
path="res://.godot/imported/gathering.fbx-8cf29bfb4073eff7f1a8c8f2f1200637.scn"
[deps]
source_file="res://core/ai/agents/human/gather.fbx"
dest_files=["res://.godot/imported/gather.fbx-5334c041ee7a918a2a427113d589eb94.scn"]
source_file="res://core/ai/agents/human/gathering.fbx"
dest_files=["res://.godot/imported/gathering.fbx-8cf29bfb4073eff7f1a8c8f2f1200637.scn"]
[params]
@@ -41,10 +41,10 @@ _subresources={
"animations": {
"mixamo_com": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/human/gather.res",
"save_to_file/fallback_path": "res://core/ai/agents/human/gathering.res",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://bod5wup7tap24",
"settings/loop_mode": 0,
"save_to_file/path": "uid://qhkny5iyd4mi",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://db4u5p5n4n0tp"
path="res://.godot/imported/human_idle.fbx-f66264755b2a1ad9f69292d436751726.scn"
uid="uid://cfe0ylyx1lfaa"
path="res://.godot/imported/idle.fbx-e84be0400dfd82eeca47497734059eba.scn"
[deps]
source_file="res://core/ai/agents/human/human_idle.fbx"
dest_files=["res://.godot/imported/human_idle.fbx-f66264755b2a1ad9f69292d436751726.scn"]
source_file="res://core/ai/agents/human/idle.fbx"
dest_files=["res://.godot/imported/idle.fbx-e84be0400dfd82eeca47497734059eba.scn"]
[params]
@@ -43,8 +43,8 @@ _subresources={
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/human/idle.res",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://cp4pl635iv3g7",
"settings/loop_mode": 0,
"save_to_file/path": "uid://oq22ilhxjejj",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bir26dquaaccm"
path="res://.godot/imported/sit.fbx-5e88ae73f4161cf279b0988a8f6b5358.scn"
uid="uid://cuphreeff7ihw"
path="res://.godot/imported/sitting.fbx-28ba14b5efd99e4f9dac90f909835595.scn"
[deps]
source_file="res://core/ai/agents/human/sit.fbx"
dest_files=["res://.godot/imported/sit.fbx-5e88ae73f4161cf279b0988a8f6b5358.scn"]
source_file="res://core/ai/agents/human/sitting.fbx"
dest_files=["res://.godot/imported/sitting.fbx-28ba14b5efd99e4f9dac90f909835595.scn"]
[params]
@@ -41,10 +41,10 @@ _subresources={
"animations": {
"mixamo_com": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/human/sit.res",
"save_to_file/fallback_path": "res://core/ai/agents/human/sitting.res",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://byksuipm2bly7",
"settings/loop_mode": 0,
"save_to_file/path": "uid://ptj85lvvtjpg",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://c0uid655sms86"
path="res://.godot/imported/human_walking.fbx-30203e65ef0d077c44b29298ae6fccd2.scn"
uid="uid://o8dn1hc1lyly"
path="res://.godot/imported/walking.fbx-2ef52b3a6cd770e898c2eff1dbd7eecc.scn"
[deps]
source_file="res://core/ai/agents/human/human_walking.fbx"
dest_files=["res://.godot/imported/human_walking.fbx-30203e65ef0d077c44b29298ae6fccd2.scn"]
source_file="res://core/ai/agents/human/walking.fbx"
dest_files=["res://.godot/imported/walking.fbx-2ef52b3a6cd770e898c2eff1dbd7eecc.scn"]
[params]
@@ -43,7 +43,7 @@ _subresources={
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/human/walking.res",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://ckkmrph86jlsd",
"save_to_file/path": "uid://6xnsf8x7nmsl",
"settings/loop_mode": 0,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,

File diff suppressed because one or more lines are too long

View File

@@ -5,50 +5,50 @@
[node name="AiCitizenSitter" unique_id=1228675528 instance=ExtResource("1_cduuu")]
entity_name = "CitizenSitter"
[node name="SK_Mannequin" parent="HumanMannequin" parent_id_path=PackedInt32Array(333236377) index="0" unique_id=1085647626]
transform = Transform3D(0.99906886, 0.025971904, -0.03444738, 0.038254507, -0.16420224, 0.98568463, 0.019943757, -0.98608464, -0.1650429, 0.034450583, -0.44864154, 0.18535595)
[node name="Skeleton3D" parent="BaseMesh/BaseMesh" parent_id_path=PackedInt32Array(1846171523, 1142246531) index="0" unique_id=928995817]
bones/0/position = Vector3(4.6274214e-05, 0.53962195, 0.01442101)
bones/0/rotation = Quaternion(-0.08261974, -0.011491157, 0.01847047, 0.99634373)
bones/1/rotation = Quaternion(0.14039387, -0.0048084054, -0.034078293, 0.9894974)
bones/2/rotation = Quaternion(0.019730499, -0.0005302894, -0.003380251, 0.9997995)
bones/3/rotation = Quaternion(0.019732494, -0.00056420703, -0.0034286412, 0.99979925)
bones/4/rotation = Quaternion(0.047632027, 0.0044146716, 5.5285243e-05, 0.99885523)
bones/5/rotation = Quaternion(-0.1481004, 0.030818012, 0.027112251, 0.98812014)
bones/8/rotation = Quaternion(-0.64003974, -0.37008905, 0.49884537, -0.45225725)
bones/9/rotation = Quaternion(0.26399517, -0.016558504, 0.18318768, 0.9468234)
bones/10/rotation = Quaternion(-0.024250507, -0.09629851, 0.46758032, 0.8783548)
bones/11/rotation = Quaternion(-0.12018964, 0.24466898, 0.1851929, 0.9441373)
bones/12/rotation = Quaternion(0.23282185, 0.045711264, 0.11371554, 0.9647659)
bones/13/rotation = Quaternion(0.11161193, 0.015611293, -0.07621057, 0.9907024)
bones/14/rotation = Quaternion(-0.0120385215, 0.035021365, -0.027293455, 0.99894124)
bones/17/rotation = Quaternion(0.47229832, -0.07009207, -0.07346811, 0.87557054)
bones/18/rotation = Quaternion(0.28523657, -0.0033537035, -0.016236508, 0.9583138)
bones/19/rotation = Quaternion(0.114431076, 0.0009974723, -0.016153814, 0.99329937)
bones/22/rotation = Quaternion(0.38703713, -0.07161111, -0.055929746, 0.9175762)
bones/23/rotation = Quaternion(0.27320057, -0.0025043646, -0.0333917, 0.96137416)
bones/24/rotation = Quaternion(0.18236126, 0.0039793584, -0.014504941, 0.9831166)
bones/27/rotation = Quaternion(0.67000026, -0.3385617, 0.49965796, 0.432224)
bones/28/rotation = Quaternion(0.2097779, 0.0323844, -0.30925584, 0.92698723)
bones/29/rotation = Quaternion(-0.013720488, 0.064641, -0.3156722, 0.94656456)
bones/30/rotation = Quaternion(0.023524001, -0.2031076, -0.21903762, 0.95405275)
bones/31/rotation = Quaternion(0.10362807, -0.060477145, -0.0822956, 0.989359)
bones/32/rotation = Quaternion(0.2005617, -0.080317385, 0.08554337, 0.9726287)
bones/33/rotation = Quaternion(0.09055836, 0.16444178, -0.016598457, 0.9820808)
bones/36/rotation = Quaternion(0.41982892, 0.05875236, 0.110271834, 0.89896166)
bones/37/rotation = Quaternion(0.3084902, -5.0797826e-06, 0.016977265, 0.9510761)
bones/38/rotation = Quaternion(0.15843387, -0.0010695796, -0.0025179624, 0.9873659)
bones/41/rotation = Quaternion(0.39090672, 0.07217823, 0.08132209, 0.9139852)
bones/42/rotation = Quaternion(0.23195146, -0.00022551513, 0.057113327, 0.97104925)
bones/43/rotation = Quaternion(0.04765674, -0.005312021, -0.037802245, 0.9981341)
bones/46/rotation = Quaternion(0.07913973, 0.67941314, 0.72431135, -0.08664747)
bones/47/rotation = Quaternion(-0.7301858, 0.021535583, -0.08527201, 0.6775645)
bones/48/rotation = Quaternion(0.42302147, 0.034331664, 0.030263728, 0.9049632)
bones/49/rotation = Quaternion(0.3195373, 0.059513275, -0.020113025, 0.94548905)
bones/52/rotation = Quaternion(-0.048473507, 0.6923688, 0.7180678, 0.05152073)
bones/53/rotation = Quaternion(-0.75171393, 0.06818038, -0.046880867, 0.6542782)
bones/54/rotation = Quaternion(0.44898874, -0.026657255, -0.051447295, 0.8916567)
bones/55/rotation = Quaternion(0.32369038, -0.05870039, 0.019949934, 0.9441297)
[node name="Skeleton3D" parent="HumanMannequin/SK_Mannequin" index="0" unique_id=1674820390]
bones/2/rotation = Quaternion(-0.007029906, 0.032859802, -0.23654123, 0.97104025)
bones/3/rotation = Quaternion(-0.000884556, 0.0033522977, 0.10280211, 0.99469584)
bones/4/rotation = Quaternion(-0.00040807336, 0.0034836144, 0.0045103733, 0.9999837)
bones/5/rotation = Quaternion(0.13797933, 0.74176145, 0.017092831, 0.6560942)
bones/6/rotation = Quaternion(0.049281683, 0.43982458, -0.36467218, 0.81923133)
bones/7/rotation = Quaternion(-0.049351897, 0.03842162, -0.476375, 0.87701494)
bones/8/rotation = Quaternion(-0.41694272, -0.05554785, -0.18030654, 0.889136)
bones/9/rotation = Quaternion(0.094457716, 0.050416686, 0.50820345, 0.85455555)
bones/10/rotation = Quaternion(0.011606372, 0.08610083, 0.2719557, 0.95838)
bones/12/rotation = Quaternion(-0.00016985182, 0.0032503307, 0.42722064, 0.90414155)
bones/13/rotation = Quaternion(-0.018024907, 0.015150134, 0.27278355, 0.9617873)
bones/15/rotation = Quaternion(-0.13467012, -0.10029431, 0.2853874, 0.94358844)
bones/16/rotation = Quaternion(0.010311794, -0.034373257, 0.13259757, 0.9905202)
bones/18/rotation = Quaternion(-0.09865642, -0.08747626, 0.37470394, 0.917721)
bones/19/rotation = Quaternion(0.0042531197, -0.033760007, 0.1860149, 0.98195755)
bones/21/rotation = Quaternion(0.70078146, 0.36200625, -0.001720201, 0.61469823)
bones/22/rotation = Quaternion(-0.001820262, 0.12128391, 0.22490783, 0.9668006)
bones/26/rotation = Quaternion(0.76902086, -0.13267346, -0.62528044, -0.005393706)
bones/27/rotation = Quaternion(0.034201004, 0.38763282, -0.48749813, 0.7816117)
bones/28/rotation = Quaternion(-0.053170834, 0.025972798, -0.32202634, 0.9448796)
bones/29/rotation = Quaternion(-0.43919632, 0.049489442, -0.098192796, 0.89163643)
bones/30/rotation = Quaternion(0.103668794, 0.04579189, 0.46590617, 0.8775462)
bones/31/rotation = Quaternion(0.011519267, 0.09922818, 0.29214594, 0.95114243)
bones/33/rotation = Quaternion(9.437185e-05, 0.009016322, 0.44048977, 0.89771235)
bones/34/rotation = Quaternion(-0.018226523, 0.017689873, 0.23132406, 0.97254515)
bones/36/rotation = Quaternion(-0.13272016, -0.101737194, 0.26830983, 0.9487069)
bones/37/rotation = Quaternion(0.010193698, -0.046628788, 0.19672133, 0.97929704)
bones/39/rotation = Quaternion(-0.110196866, -0.05036995, 0.35450295, 0.9271716)
bones/40/rotation = Quaternion(0.0042593707, -0.028552007, 0.17841409, 0.983532)
bones/42/rotation = Quaternion(0.7297342, 0.26573184, -0.09265223, 0.6231294)
bones/43/rotation = Quaternion(0.06426929, 0.22943345, 0.1991351, 0.95056564)
bones/47/rotation = Quaternion(0.00421817, -0.00037953872, -0.21590644, 0.9764049)
bones/49/rotation = Quaternion(0.14012733, -0.038448263, 0.6819175, 0.7168505)
bones/50/rotation = Quaternion(-0.05631607, 0.020481886, -0.74316776, 0.6664162)
bones/52/rotation = Quaternion(-0.0004946971, -0.048858073, -0.0074254284, 0.998778)
bones/55/rotation = Quaternion(0.0132777635, 0.10731075, 0.71409845, -0.6916441)
bones/56/rotation = Quaternion(0.03920827, -0.09832406, -0.75485575, 0.64729285)
bones/58/rotation = Quaternion(0.01656407, -0.06386153, 0.030505493, 0.9973549)
[node name="AnimationPlayer" parent="BaseMesh" parent_id_path=PackedInt32Array(1846171523) index="1" unique_id=2096005878]
autoplay = &"custom/sitting"
[node name="AnimationPlayer" parent="HumanMannequin" parent_id_path=PackedInt32Array(333236377) index="1" unique_id=1460197763]
autoplay = &"custom/sit"
[editable path="HumanMannequin"]
[editable path="BaseMesh"]

View File

@@ -23,4 +23,8 @@ next_state_id = &"idle"
animation_name = "custom/walking"
exit_on_action_finished = true
[editable path="HumanMannequin"]
[node name="Skeleton3D" parent="BaseMesh/BaseMesh" parent_id_path=PackedInt32Array(1846171523, 1142246531) index="0" unique_id=928995817]
bones/8/rotation = Quaternion(-0.6173422, -0.37346625, 0.5666242, -0.3979305)
bones/46/rotation = Quaternion(0.059241787, 0.12928401, 0.9836761, -0.110261135)
[editable path="BaseMesh"]

View File

@@ -21,8 +21,20 @@ exit_on_action_finished = true
[node name="GatherState" type="Node" parent="StateMachine" index="1" unique_id=48091671]
script = ExtResource("4_2oda6")
state_id = &"gather"
next_state_id = &"patrol"
animation_name = "custom/gather"
next_state_id = &"idle"
animation_name = "custom/gathering"
exit_on_animation_finished = true
min_wait_time = 0.0
max_wait_time = 0.0
[editable path="HumanMannequin"]
[node name="IdleState" type="Node" parent="StateMachine" index="2" unique_id=402985597]
script = ExtResource("4_2oda6")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "custom/idle"
[node name="Skeleton3D" parent="BaseMesh/BaseMesh" parent_id_path=PackedInt32Array(1846171523, 1142246531) index="0" unique_id=928995817]
bones/8/rotation = Quaternion(-0.6173422, -0.37346625, 0.5666242, -0.3979305)
bones/46/rotation = Quaternion(0.059241787, 0.12928401, 0.9836761, -0.110261135)
[editable path="BaseMesh"]

View File

@@ -1,55 +1,70 @@
[gd_scene format=3 uid="uid://mvh2v6v72stt"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_hko2w"]
[ext_resource type="PackedScene" uid="uid://legcajdd0jsy" path="res://core/ai/agents/human/human_mannequin.tscn" id="2_cnrgi"]
[ext_resource type="Animation" uid="uid://qhkny5iyd4mi" path="res://core/ai/agents/human/gathering.res" id="3_8kg0q"]
[ext_resource type="PackedScene" uid="uid://cbix54xp87fk0" path="res://core/ai/agents/human/human_base_mesh.fbx" id="3_ef4cu"]
[ext_resource type="Animation" uid="uid://ptj85lvvtjpg" path="res://core/ai/agents/human/sitting.res" id="4_8kg0q"]
[ext_resource type="Animation" uid="uid://oq22ilhxjejj" path="res://core/ai/agents/human/idle.res" id="4_cuxdk"]
[ext_resource type="Animation" uid="uid://6xnsf8x7nmsl" path="res://core/ai/agents/human/walking.res" id="6_cuxdk"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_8kg0q"]
_data = {
&"gathering": ExtResource("3_8kg0q"),
&"idle": ExtResource("4_cuxdk"),
&"sitting": ExtResource("4_8kg0q"),
&"walking": ExtResource("6_cuxdk")
}
[node name="AiHuman" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_hko2w")]
anim_player = NodePath("HumanMannequin/AnimationPlayer")
anim_player = NodePath("BaseMesh/AnimationPlayer")
[node name="HumanMannequin" parent="." index="3" unique_id=333236377 instance=ExtResource("2_cnrgi")]
[node name="BaseMesh" parent="." index="3" unique_id=1846171523 instance=ExtResource("3_ef4cu")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.9, 0)
[node name="SK_Mannequin" parent="HumanMannequin" index="0" unique_id=2096894453]
transform = Transform3D(0.99999994, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 0, 0)
[node name="Skeleton3D" parent="BaseMesh/BaseMesh" parent_id_path=PackedInt32Array(1846171523, 1142246531) index="0" unique_id=928995817]
bones/0/position = Vector3(0.00060560287, 0.9719096, 0.007789615)
bones/0/rotation = Quaternion(-0.03158553, -0.024531638, -0.086598895, 0.9954402)
bones/1/rotation = Quaternion(-0.068302006, -0.011589706, 0.088431515, 0.99367017)
bones/2/rotation = Quaternion(0.013750468, -0.0028497525, 0.022636604, 0.99964523)
bones/3/rotation = Quaternion(0.014052153, -0.0046672956, 0.021981178, 0.99964875)
bones/4/rotation = Quaternion(0.08060878, 0.0009885994, -0.05385771, 0.99528927)
bones/5/rotation = Quaternion(-0.08819712, -0.010719821, 0.004734955, 0.9960341)
bones/8/rotation = Quaternion(-0.5780019, -0.40066734, 0.5948007, -0.38934776)
bones/9/rotation = Quaternion(0.5403529, 0.038538188, -0.087646246, 0.8359735)
bones/10/rotation = Quaternion(-0.009744837, 0.0007412914, 0.18789424, 0.98214066)
bones/11/rotation = Quaternion(0.019992959, 0.15807849, 0.15262179, 0.9753554)
bones/12/rotation = Quaternion(0.11525436, -0.03521942, -0.0147265345, 0.9926023)
bones/13/rotation = Quaternion(0.004553697, -0.0011956134, 0.0748576, 0.9971832)
bones/14/rotation = Quaternion(-0.021573644, -0.09607655, -0.02610063, 0.9947978)
bones/17/rotation = Quaternion(0.10615231, -0.012490018, -0.06538699, 0.9921191)
bones/18/rotation = Quaternion(0.112639524, -0.0005986789, -0.020016164, 0.99343413)
bones/19/rotation = Quaternion(0.13624819, 0.001439244, -0.018421004, 0.9905025)
bones/22/rotation = Quaternion(0.051831737, -0.007218998, -0.063239366, 0.9966254)
bones/23/rotation = Quaternion(0.12439526, 0.00031310506, -0.03746358, 0.99152523)
bones/24/rotation = Quaternion(0.14832872, 0.0028264069, -0.017447466, 0.9887802)
bones/27/rotation = Quaternion(0.6085938, -0.37735197, 0.5827399, 0.3842309)
bones/28/rotation = Quaternion(0.42811802, -0.12440211, 0.04666202, 0.8939026)
bones/29/rotation = Quaternion(-0.010464899, -0.0008133942, -0.24076757, 0.97052604)
bones/30/rotation = Quaternion(0.01554073, -0.15455346, -0.11519627, 0.9811226)
bones/31/rotation = Quaternion(0.109474085, 0.02398801, 0.02464503, 0.99339455)
bones/32/rotation = Quaternion(-0.03558804, 0.04901748, 0.08471445, 0.9945624)
bones/33/rotation = Quaternion(0.014632019, 0.019343862, -0.1317728, 0.9909832)
bones/36/rotation = Quaternion(0.19392295, 0.020005528, 0.11780725, 0.973712)
bones/37/rotation = Quaternion(0.090232305, 2.462184e-07, 0.01726049, 0.9957712)
bones/38/rotation = Quaternion(0.13336712, -0.0009009653, 0.002359003, 0.9910635)
bones/41/rotation = Quaternion(0.12012116, 0.015946638, 0.088212825, 0.9887037)
bones/42/rotation = Quaternion(0.11693482, 0.00096280884, 0.06057904, 0.99128985)
bones/43/rotation = Quaternion(0.22191456, 0.026510797, -0.016629422, 0.9745638)
bones/46/rotation = Quaternion(0.00039673893, 0.021240532, 0.99960107, -0.018613452)
bones/47/rotation = Quaternion(-0.34151906, -0.06546942, 0.0071559767, 0.93756455)
bones/48/rotation = Quaternion(0.60213244, 0.010313871, -0.012120304, 0.7982376)
bones/49/rotation = Quaternion(0.31586254, 0.059334766, -0.020474449, 0.9467265)
bones/52/rotation = Quaternion(-0.07240856, 0.034467246, 0.9931159, -0.085380435)
bones/53/rotation = Quaternion(-0.20515193, 0.049833227, 0.0071537, 0.9774345)
bones/54/rotation = Quaternion(0.55275166, -0.049315806, -0.007871797, 0.8318483)
bones/55/rotation = Quaternion(0.326561, -0.058840513, 0.019667907, 0.9431378)
[node name="Skeleton3D" parent="HumanMannequin/SK_Mannequin" index="0" unique_id=1402189960]
bones/2/rotation = Quaternion(-2.1971985e-24, 0, -0.062388558, 0.99805194)
bones/3/rotation = Quaternion(4.135903e-25, 1.6543612e-24, 0.12241964, 0.99247843)
bones/4/rotation = Quaternion(2.2850868e-23, 0, 0.024252614, 0.9997059)
bones/5/rotation = Quaternion(0.20891805, 0.7294167, 0.12304399, 0.6396598)
bones/6/rotation = Quaternion(0.11299576, 0.33062968, -0.16141911, 0.92296255)
bones/7/rotation = Quaternion(-0.05401651, -0.079182714, -0.26340967, 0.9599103)
bones/8/rotation = Quaternion(-0.61789525, 0.019371983, 0.010653294, 0.7859496)
bones/9/rotation = Quaternion(0.1333045, -0.0031801206, 0.22317973, 0.96561414)
bones/10/rotation = Quaternion(0.012043531, -0.0029058352, 0.10444825, 0.9944532)
bones/12/rotation = Quaternion(0.028522171, -0.05687394, 0.19848494, 0.9780366)
bones/13/rotation = Quaternion(-0.018628873, 0.007972199, 0.10711657, 0.99404)
bones/15/rotation = Quaternion(-0.1295377, -0.18789689, 0.14421311, 0.9628693)
bones/16/rotation = Quaternion(0.010359715, -0.010519396, 0.09774818, 0.9951017)
bones/18/rotation = Quaternion(-0.095480494, -0.116765715, 0.18851167, 0.9704188)
bones/19/rotation = Quaternion(0.00430111, -0.0141675975, 0.11596311, 0.9931432)
bones/21/rotation = Quaternion(0.6303091, 0.37152508, -0.07729015, 0.6772783)
bones/22/rotation = Quaternion(0.0026046867, 0.086798474, 0.13014112, 0.98768544)
bones/26/rotation = Quaternion(0.7294168, -0.20891781, -0.6396598, 0.12304417)
bones/27/rotation = Quaternion(0.11299576, 0.33062968, -0.16141911, 0.92296255)
bones/28/rotation = Quaternion(-0.05401651, -0.079182714, -0.26340967, 0.9599103)
bones/29/rotation = Quaternion(-0.61789525, 0.019371983, 0.010653294, 0.7859496)
bones/30/rotation = Quaternion(0.1333045, -0.0031801206, 0.22317973, 0.96561414)
bones/31/rotation = Quaternion(0.012043531, -0.0029058352, 0.10444825, 0.9944532)
bones/33/rotation = Quaternion(0.028522171, -0.05687394, 0.19848494, 0.9780366)
bones/34/rotation = Quaternion(-0.018628873, 0.007972199, 0.10711657, 0.99404)
bones/36/rotation = Quaternion(-0.1295377, -0.18789689, 0.14421311, 0.9628693)
bones/37/rotation = Quaternion(0.010359715, -0.010519396, 0.09774818, 0.9951017)
bones/39/rotation = Quaternion(-0.095480494, -0.116765715, 0.18851167, 0.9704188)
bones/40/rotation = Quaternion(0.00430111, -0.0141675975, 0.11596311, 0.9931432)
bones/42/rotation = Quaternion(0.6303091, 0.37152508, -0.07729015, 0.6772783)
bones/43/rotation = Quaternion(0.0026047025, 0.08679848, 0.13014114, 0.98768544)
bones/47/rotation = Quaternion(-1.5923227e-23, 0, -0.20371072, 0.97903115)
bones/49/rotation = Quaternion(0.07370486, -0.062138822, -0.008584324, 0.9953053)
bones/50/rotation = Quaternion(-0.048884246, 0.018863896, -0.06552225, 0.99647444)
bones/52/rotation = Quaternion(-0.0058857696, 0.03199128, 0.07035475, 0.9969916)
bones/55/rotation = Quaternion(0.062138822, 0.07370486, 0.9953054, 0.008584333)
bones/56/rotation = Quaternion(-0.048884246, 0.018863896, -0.06552225, 0.99647444)
bones/58/rotation = Quaternion(-0.0058857696, 0.03199128, 0.07035475, 0.9969916)
[node name="AnimationPlayer" parent="BaseMesh" index="1" unique_id=2096005878]
libraries/custom = SubResource("AnimationLibrary_8kg0q")
[editable path="HumanMannequin"]
[editable path="BaseMesh"]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,44 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cbix54xp87fk0"
path="res://.godot/imported/human_base_mesh.fbx-f7c776fe2fa7f0a6658ca2b639d0b975.scn"
[deps]
source_file="res://core/ai/agents/human/human_base_mesh.fbx"
dest_files=["res://.godot/imported/human_base_mesh.fbx-f7c776fe2fa7f0a6658ca2b639d0b975.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1
fbx/naming_version=2

Binary file not shown.

View File

@@ -1,94 +0,0 @@
[gd_scene format=3 uid="uid://legcajdd0jsy"]
[ext_resource type="PackedScene" uid="uid://ys8pesrqeyv2" path="res://core/ai/agents/human/human_mannequin_mixamo.fbx" id="1_561x5"]
[ext_resource type="Animation" uid="uid://bod5wup7tap24" path="res://core/ai/agents/human/gather.res" id="2_3r4wv"]
[ext_resource type="Animation" uid="uid://cp4pl635iv3g7" path="res://core/ai/agents/human/idle.res" id="2_b4vfe"]
[ext_resource type="Animation" uid="uid://ckkmrph86jlsd" path="res://core/ai/agents/human/walking.res" id="3_jl3mr"]
[ext_resource type="Animation" uid="uid://byksuipm2bly7" path="res://core/ai/agents/human/sit.res" id="4_xaokg"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3r4wv"]
_data = {
&"gather": ExtResource("2_3r4wv"),
&"idle": ExtResource("2_b4vfe"),
&"sit": ExtResource("4_xaokg"),
&"walking": ExtResource("3_jl3mr")
}
[node name="HumanMannequin" unique_id=1583776159 instance=ExtResource("1_561x5")]
[node name="SK_Mannequin" parent="." index="0" unique_id=2096894453]
transform = Transform3D(0.9990688, 0.025971903, -0.034447376, 0.038254507, -0.16420223, 0.9856846, 0.019943757, -0.9860846, -0.16504289, 0.034450583, -0.44864154, 0.18535595)
[node name="Skeleton3D" parent="SK_Mannequin" index="0" unique_id=1402189960]
bones/2/rotation = Quaternion(-0.007029906, 0.032859802, -0.23654123, 0.97104025)
bones/3/rotation = Quaternion(-0.000884556, 0.0033522977, 0.10280211, 0.99469584)
bones/4/position = Vector3(0.13407329, 0.004204774, -5.584202e-15)
bones/4/rotation = Quaternion(-0.00040807336, 0.0034836144, 0.0045103733, 0.9999837)
bones/5/rotation = Quaternion(0.13797933, 0.74176145, 0.017092831, 0.6560942)
bones/6/position = Vector3(0.15784872, 1.4317955e-11, 6.3591354e-11)
bones/6/rotation = Quaternion(0.049281683, 0.43982458, -0.36467218, 0.81923133)
bones/7/position = Vector3(0.3033993, 8.407472e-11, 3.197531e-11)
bones/7/rotation = Quaternion(-0.049351897, 0.03842162, -0.476375, 0.87701494)
bones/8/position = Vector3(0.26975143, 1.572964e-11, -9.6207486e-11)
bones/8/rotation = Quaternion(-0.41694272, -0.05554785, -0.18030654, 0.889136)
bones/9/rotation = Quaternion(0.094457716, 0.050416686, 0.50820345, 0.85455555)
bones/10/position = Vector3(0.04287498, -2.9850333e-10, 5.048406e-11)
bones/10/rotation = Quaternion(0.011606372, 0.08610083, 0.2719557, 0.95838)
bones/11/position = Vector3(0.0339379, 1.1695445e-10, -2.349232e-11)
bones/12/rotation = Quaternion(-0.00016985182, 0.0032503307, 0.42722064, 0.90414155)
bones/13/position = Vector3(0.046403743, -3.648193e-11, 1.830866e-11)
bones/13/rotation = Quaternion(-0.018024907, 0.015150134, 0.27278355, 0.9617873)
bones/14/position = Vector3(0.036488436, -1.9989443e-10, 1.6076356e-11)
bones/15/rotation = Quaternion(-0.13467012, -0.10029431, 0.2853874, 0.94358844)
bones/16/position = Vector3(0.03570981, 1.8669866e-10, 3.9181436e-12)
bones/16/rotation = Quaternion(0.010311794, -0.034373257, 0.13259757, 0.9905202)
bones/17/position = Vector3(0.029856307, -3.005879e-10, -4.0375425e-11)
bones/18/rotation = Quaternion(-0.09865642, -0.08747626, 0.37470394, 0.917721)
bones/19/position = Vector3(0.04430177, 4.6665116e-11, -9.4033115e-12)
bones/19/rotation = Quaternion(0.0042531197, -0.033760007, 0.1860149, 0.98195755)
bones/20/position = Vector3(0.034766525, -1.6786372e-10, 2.768652e-11)
bones/21/rotation = Quaternion(0.70078146, 0.36200625, -0.001720201, 0.61469823)
bones/22/position = Vector3(0.038696717, 5.0118687e-11, 9.9849684e-11)
bones/22/rotation = Quaternion(-0.001820262, 0.12128391, 0.22490783, 0.9668006)
bones/23/position = Vector3(0.040621713, 1.0721979e-11, -5.127232e-12)
bones/24/position = Vector3(0.14, 1.110223e-16, 2.220446e-16)
bones/24/rotation = Quaternion(-2.7755576e-17, -6.938894e-17, -6.938894e-18, 1)
bones/25/position = Vector3(0.005, -2.7755576e-17, 0)
bones/25/rotation = Quaternion(-9.540979e-18, -2.7755576e-17, 9.540979e-18, 1)
bones/26/rotation = Quaternion(0.76902086, -0.13267346, -0.62528044, -0.005393706)
bones/27/rotation = Quaternion(0.034201004, 0.38763282, -0.48749813, 0.7816117)
bones/28/rotation = Quaternion(-0.053170834, 0.025972798, -0.32202634, 0.9448796)
bones/29/position = Vector3(-0.26975244, 2.563412e-07, -1.1905385e-08)
bones/29/rotation = Quaternion(-0.43919632, 0.049489442, -0.098192796, 0.89163643)
bones/30/rotation = Quaternion(0.103668794, 0.04579189, 0.46590617, 0.8775462)
bones/31/rotation = Quaternion(0.011519267, 0.09922818, 0.29214594, 0.95114243)
bones/33/rotation = Quaternion(9.437185e-05, 0.009016322, 0.44048977, 0.89771235)
bones/34/rotation = Quaternion(-0.018226523, 0.017689873, 0.23132406, 0.97254515)
bones/36/rotation = Quaternion(-0.13272016, -0.101737194, 0.26830983, 0.9487069)
bones/37/rotation = Quaternion(0.010193698, -0.046628788, 0.19672133, 0.97929704)
bones/39/rotation = Quaternion(-0.110196866, -0.05036995, 0.35450295, 0.9271716)
bones/40/rotation = Quaternion(0.0042593707, -0.028552007, 0.17841409, 0.983532)
bones/42/rotation = Quaternion(0.7297342, 0.26573184, -0.09265223, 0.6231294)
bones/43/rotation = Quaternion(0.06426929, 0.22943345, 0.1991351, 0.95056564)
bones/45/rotation = Quaternion(-0.1176271, 1.3974802e-16, -6.288661e-17, 0.99305785)
bones/46/rotation = Quaternion(-0.17323487, -2.099698e-25, 1.9374898e-17, 0.9848805)
bones/47/rotation = Quaternion(0.00421817, -0.00037953872, -0.21590644, 0.9764049)
bones/48/position = Vector3(0.092836134, 0.0036415688, 2.7747754e-17)
bones/48/rotation = Quaternion(1.2661336e-17, 9.989056e-18, 0.13354194, 0.99104315)
bones/49/rotation = Quaternion(0.14012733, -0.038448263, 0.6819175, 0.7168505)
bones/50/position = Vector3(-0.42572036, 1.7074263e-12, -4.667877e-12)
bones/50/rotation = Quaternion(-0.05631607, 0.020481886, -0.74316776, 0.6664162)
bones/51/position = Vector3(-0.20476776, -1.3877788e-17, 0)
bones/52/position = Vector3(-0.4019669, -3.933849e-11, 1.899425e-12)
bones/52/rotation = Quaternion(-0.0004946971, -0.048858073, -0.0074254284, 0.998778)
bones/54/position = Vector3(-0.22094238, 4.7704896e-18, 0)
bones/55/rotation = Quaternion(0.0132777635, 0.10731075, 0.71409845, -0.6916441)
bones/56/rotation = Quaternion(0.03920827, -0.09832406, -0.75485575, 0.64729285)
bones/57/position = Vector3(0.20476907, 0, -5.551115e-17)
bones/58/rotation = Quaternion(0.01656407, -0.06386153, 0.030505493, 0.9973549)
bones/60/position = Vector3(0.22094241, 3.035766e-18, -2.7755576e-17)
bones/67/position = Vector3(-4.440892e-16, 0, 7.632783e-17)
bones/67/rotation = Quaternion(-2.8449465e-16, 8.326673e-17, 2.7755576e-17, 1)
[node name="AnimationPlayer" parent="." index="1" unique_id=1304782348]
libraries/custom = SubResource("AnimationLibrary_3r4wv")

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,78 +0,0 @@
[gd_scene format=3 uid="uid://c2hg6hu2y5srb"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_j8spt"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_acc6o"]
[ext_resource type="PackedScene" uid="uid://b0xb7kl4rjd66" path="res://core/ai/agents/pig/pig_mannequin.tscn" id="2_qmc2e"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_3n8ak"]
[ext_resource type="Animation" uid="uid://c4ingpw0co8v2" path="res://core/ai/agents/pig/idle.res" id="3_lvpc5"]
[ext_resource type="Animation" uid="uid://0563r715lmw1" path="res://core/ai/agents/pig/walking.res" id="4_3f3hl"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_lvpc5"]
_data = {
&"idle": ExtResource("3_lvpc5"),
&"walking": ExtResource("4_3f3hl")
}
[node name="AiPig" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_j8spt")]
anim_player = NodePath("PigMannequin/AnimationPlayer")
entity_type = 1
entity_name = "Pig"
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=403305255]
script = ExtResource("2_acc6o")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "custom/idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=1237150984]
script = ExtResource("3_3n8ak")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "custom/walking"
exit_on_action_finished = true
[node name="PigMannequin" parent="." index="3" unique_id=926755470 instance=ExtResource("2_qmc2e")]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, -0.9, 0)
[node name="Skeleton3D" parent="PigMannequin/Armature" parent_id_path=PackedInt32Array(926755470, 2144155651) index="0" unique_id=1681287116]
bones/1/rotation = Quaternion(0.7071068, -7.052583e-07, -7.052583e-07, 0.7071067)
bones/3/position = Vector3(5.37765e-05, 0.017809996, -0.007695386)
bones/3/rotation = Quaternion(-0.027121998, 0, 0, 0.99963224)
bones/4/position = Vector3(-0.004269575, -0.0009057691, 0.018837402)
bones/4/rotation = Quaternion(-0.20850496, 0.20850474, 0.675667, 0.6756669)
bones/5/rotation = Quaternion(0.70767504, -0.7007484, -0.04928623, 0.07562217)
bones/6/rotation = Quaternion(0.5074964, -0.016355418, 0.009635334, 0.86144483)
bones/8/position = Vector3(-0.004269574, 0.0008725248, -0.02819033)
bones/8/rotation = Quaternion(-0.021000031, 0.020999499, 0.7067949, 0.7067949)
bones/9/rotation = Quaternion(0.6762797, -0.7030302, 0.13760945, -0.17163305)
bones/10/rotation = Quaternion(-0.76131815, 0.012544005, 0.014735432, 0.64808965)
bones/12/position = Vector3(0.0036532492, -0.0009057691, 0.018837402)
bones/12/rotation = Quaternion(0.67572093, 0.6757209, -0.20832984, 0.20832963)
bones/13/rotation = Quaternion(-0.025831472, -0.099082425, 0.70891863, 0.6978179)
bones/14/rotation = Quaternion(0.50689334, 0.045050938, -0.026540417, 0.8604216)
bones/16/position = Vector3(0.0036521717, 0.0008013838, -0.028183708)
bones/16/rotation = Quaternion(0.7068031, 0.7068031, -0.020723455, 0.020722982)
bones/17/rotation = Quaternion(0.1443776, 0.16487122, 0.6747477, 0.7047611)
bones/18/rotation = Quaternion(-0.7649948, -0.0061196624, -0.0072699804, 0.64396644)
bones/20/position = Vector3(-0.00042349403, 0.0063493187, -0.030968314)
bones/20/rotation = Quaternion(0.60138106, 0.012805484, 0.0019118772, 0.79885745)
bones/22/position = Vector3(-0.0002038494, 0.0041766805, 0.0044565103)
bones/22/rotation = Quaternion(0.0076635648, 0.7548352, 0.6556045, -0.018651871)
bones/23/rotation = Quaternion(0.065689825, -0.010677165, -0.019551655, 0.99759144)
bones/24/rotation = Quaternion(-0.24106143, -0.2388839, 0.03569213, 0.9399734)
bones/26/position = Vector3(-0.00032282702, 0.010153349, -0.021613695)
bones/26/rotation = Quaternion(3.6196245e-06, 0.6452338, 0.7639852, 3.2175833e-06)
bones/27/rotation = Quaternion(0.0455184, 0.00040800165, -0.025042463, 0.99864954)
bones/29/position = Vector3(-0.01117923, 0.0010000349, -0.03163386)
bones/29/rotation = Quaternion(0.7071068, -6.178108e-07, -6.178107e-07, 0.7071067)
bones/31/rotation = Quaternion(0.7071068, -1.0424332e-06, -1.0424329e-06, 0.7071067)
bones/33/position = Vector3(0.010670463, 0.0010000349, -0.03166372)
bones/33/rotation = Quaternion(0.70755845, -7.1388774e-07, -1.0355643e-06, 0.7066547)
[node name="AnimationPlayer" parent="PigMannequin" index="1" unique_id=1489956231]
libraries/custom = SubResource("AnimationLibrary_lvpc5")
[editable path="PigMannequin"]

Binary file not shown.

Binary file not shown.

View File

@@ -1,5 +0,0 @@
[gd_scene format=3 uid="uid://b0xb7kl4rjd66"]
[ext_resource type="PackedScene" uid="uid://bi5f24frndw7j" path="res://core/ai/agents/pig/pig.fbx" id="1_ptg6h"]
[node name="PigMannequin" unique_id=926755470 instance=ExtResource("1_ptg6h")]

Binary file not shown.

View File

@@ -1,57 +0,0 @@
[gd_scene format=3 uid="uid://2md4l83fy8kr"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_0bu1i"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_iapui"]
[ext_resource type="PackedScene" uid="uid://c16j3umhplew4" path="res://core/ai/agents/pug/pug_mannequin.tscn" id="2_n0mit"]
[ext_resource type="Animation" uid="uid://c8hy2tftqb7su" path="res://core/ai/agents/pug/idle.res" id="3_hv1px"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_xc1yq"]
[ext_resource type="Animation" uid="uid://bqrhidcnublea" path="res://core/ai/agents/pug/walking.res" id="4_cjq2y"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_iapui"]
_data = {
&"idle": ExtResource("3_hv1px"),
&"walking": ExtResource("4_cjq2y")
}
[node name="AiPug" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_0bu1i")]
anim_player = NodePath("PugMannequin/AnimationPlayer")
entity_type = 1
entity_name = "Pug"
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=1079848975]
script = ExtResource("2_iapui")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "custom/idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=1573670396]
script = ExtResource("3_xc1yq")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "custom/walking"
exit_on_action_finished = true
[node name="PugMannequin" parent="." index="3" unique_id=1732134047 instance=ExtResource("2_n0mit")]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, -0.9, 0)
[node name="Skeleton3D" parent="PugMannequin/Armature" parent_id_path=PackedInt32Array(1732134047, 413342048) index="0" unique_id=1846443987]
bones/8/position = Vector3(-0.0054483665, 0.008346455, -0.020266803)
bones/8/rotation = Quaternion(-0.007561639, 0.007561228, 0.70706636, 0.70706636)
bones/9/rotation = Quaternion(0.6665347, -0.6790185, 0.20055033, -0.23333457)
bones/10/rotation = Quaternion(-0.37439552, 0.017943675, 0.007246467, 0.92706716)
bones/14/rotation = Quaternion(0.13296904, 0.051822018, -0.0069621373, 0.9897401)
bones/16/position = Vector3(0.0048320387, 0.008252437, -0.02027757)
bones/16/rotation = Quaternion(0.7070978, 0.7070978, -0.0035577225, 0.0035573125)
bones/17/rotation = Quaternion(0.20727697, 0.22687204, 0.66435784, 0.68131787)
bones/18/rotation = Quaternion(-0.38250104, -0.0087800585, -0.0036350952, 0.9239062)
bones/20/rotation = Quaternion(0.6013276, -0.007656022, 0.017799761, 0.79876757)
bones/24/rotation = Quaternion(-0.45064288, -0.22904137, 0.090387635, 0.858074)
bones/27/rotation = Quaternion(0.05229574, 5.703821e-05, -0.025155801, 0.99831474)
[node name="AnimationPlayer" parent="PugMannequin" index="1" unique_id=1265653636]
libraries/custom = SubResource("AnimationLibrary_iapui")
[editable path="PugMannequin"]

Binary file not shown.

Binary file not shown.

View File

@@ -1,29 +0,0 @@
[gd_scene format=3 uid="uid://c16j3umhplew4"]
[ext_resource type="PackedScene" uid="uid://buqmw5lbfom07" path="res://core/ai/agents/pug/pug.fbx" id="1_3c2yk"]
[node name="PugMannequin" unique_id=1732134047 instance=ExtResource("1_3c2yk")]
[node name="Skeleton3D" parent="Armature" parent_id_path=PackedInt32Array(251322627) index="0" unique_id=1067550931]
bones/1/rotation = Quaternion(0.7071068, -8.7384586e-07, -8.7384575e-07, 0.7071067)
bones/3/position = Vector3(5.37765e-05, 0.023020823, -0.0001735416)
bones/4/rotation = Quaternion(0.0013124894, -0.0013127187, 0.7071056, 0.7071056)
bones/5/rotation = Quaternion(0.7071125, -0.70201516, -0.045116592, 0.07163183)
bones/6/rotation = Quaternion(0.13312602, -0.018813718, 0.0025276097, 0.9909174)
bones/8/rotation = Quaternion(0.0006567046, -0.0006571151, 0.7071065, 0.7071065)
bones/9/rotation = Quaternion(0.66675293, -0.67880416, 0.20062506, -0.23327015)
bones/10/rotation = Quaternion(-0.35678986, 0.01807761, 0.006905738, 0.9339843)
bones/12/rotation = Quaternion(0.70710534, 0.70710546, 0.0014091316, -0.0014093613)
bones/13/rotation = Quaternion(-0.021626502, -0.09508007, 0.7082199, 0.6992257)
bones/14/rotation = Quaternion(0.13296904, 0.051822014, -0.0069621364, 0.98974)
bones/16/rotation = Quaternion(0.7071066, 0.7071067, 0.00044525132, -0.00044566192)
bones/17/rotation = Quaternion(0.20738536, 0.2267729, 0.6646832, 0.6810004)
bones/18/rotation = Quaternion(-0.35684106, -0.008877046, -0.003391197, 0.93411684)
bones/20/rotation = Quaternion(0.6013276, -0.007656024, 0.017799761, 0.79876757)
bones/22/rotation = Quaternion(0.0076703057, 0.9327372, 0.3595561, -0.025732514)
bones/23/rotation = Quaternion(-0.089636706, -0.019697238, -0.01825219, 0.99561244)
bones/24/rotation = Quaternion(-0.44343108, -0.23039742, 0.11800072, 0.85811526)
bones/26/rotation = Quaternion(5.170388e-06, 0.6954638, 0.7185612, 5.0026606e-06)
bones/27/rotation = Quaternion(0.052304644, 0.00074447604, -0.01352817, 0.99853927)
bones/29/rotation = Quaternion(0.7071068, -9.581396e-07, -9.581394e-07, 0.7071067)
bones/31/rotation = Quaternion(0.7071068, -1.2110207e-06, -1.2110205e-06, 0.7071067)

Binary file not shown.

Binary file not shown.

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://oog8biov508a"
path="res://.godot/imported/sheep.fbx-c8a7f0dde769364aa2149892aae64e55.scn"
uid="uid://b3s7f6ntc8lua"
path="res://.godot/imported/Raccoon_rig.fbx-c2cbf26e614b2eaddcf5fe9b4760002e.scn"
[deps]
source_file="res://core/ai/agents/sheep/sheep.fbx"
dest_files=["res://.godot/imported/sheep.fbx-c8a7f0dde769364aa2149892aae64e55.scn"]
source_file="res://core/ai/agents/racoon/Raccoon_rig.fbx"
dest_files=["res://.godot/imported/Raccoon_rig.fbx-c2cbf26e614b2eaddcf5fe9b4760002e.scn"]
[params]
@@ -39,12 +39,12 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"animations": {
"Armature|Idle": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/sheep/idle.res",
"Raccoon_Idle": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://bjvoxmyf4vdy8",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",
@@ -2095,12 +2095,12 @@ _subresources={
"slice_99/start_frame": 0,
"slices/amount": 0
},
"Armature|Jump": {
"save_to_file/enabled": true,
"save_to_file/fallback_path": "res://core/ai/agents/sheep/walking.res",
"Raccoon_walk": {
"save_to_file/enabled": false,
"save_to_file/fallback_path": "",
"save_to_file/keep_custom_tracks": "",
"save_to_file/path": "uid://8r05h8e7nmic",
"settings/loop_mode": 0,
"save_to_file/path": "",
"settings/loop_mode": 1,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,
"slice_1/name": "",

View File

@@ -0,0 +1,99 @@
[gd_scene format=3 uid="uid://dgpkoccwlypct"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_seif5"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_c6y48"]
[ext_resource type="PackedScene" uid="uid://b3s7f6ntc8lua" path="res://core/ai/agents/racoon/Raccoon_rig.fbx" id="2_obtl0"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_x67t3"]
[node name="AiRacoon" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_seif5")]
anim_player = NodePath("Raccoon_rig/AnimationPlayer")
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=445061494]
script = ExtResource("2_c6y48")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "Raccoon_Idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=1096336671]
script = ExtResource("3_x67t3")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "Raccoon_walk"
exit_on_action_finished = true
[node name="Raccoon_rig" parent="." index="3" unique_id=338211330 instance=ExtResource("2_obtl0")]
[node name="Skeleton3D" parent="Raccoon_rig/Rig_Raccoon" parent_id_path=PackedInt32Array(338211330, 1484615769) index="0" unique_id=689430915]
bones/1/position = Vector3(2.0224038e-08, 0.20926544, 0.2908604)
bones/1/rotation = Quaternion(0.12769087, -0.6954821, -0.12769023, 0.69548184)
bones/1/scale = Vector3(1, 0.99999994, 0.99999994)
bones/2/position = Vector3(0.12958723, 0.07514775, -1.15517205e-08)
bones/2/rotation = Quaternion(-8.768937e-08, -9.441525e-08, -0.59041584, 0.8070993)
bones/2/scale = Vector3(0.99999994, 1, 1)
bones/3/position = Vector3(0.22119753, 0.0069588325, 4.8590223e-08)
bones/3/rotation = Quaternion(4.7472064e-08, -1.1799982e-07, 0.017411917, 0.9998484)
bones/3/scale = Vector3(1, 0.99999994, 1)
bones/4/position = Vector3(0.19968472, -0.07484539, -3.6076216e-08)
bones/4/rotation = Quaternion(5.3009783e-09, 1.2681039e-07, 0.30337906, 0.95286995)
bones/4/scale = Vector3(0.9999999, 0.9999999, 1)
bones/5/position = Vector3(-1.6408816e-08, -2.420219e-08, 7.257661e-15)
bones/5/rotation = Quaternion(5.51443e-16, 1.517952e-14, 4.7269896e-08, 1)
bones/5/scale = Vector3(1.0000001, 1, 1)
bones/7/position = Vector3(0.103939, -0.07868026, 2.3476135e-08)
bones/7/rotation = Quaternion(9.0738554e-09, -1.3033788e-07, -0.40028542, 0.91639054)
bones/7/scale = Vector3(1, 1, 1)
bones/9/position = Vector3(0.11748607, -0.13258429, 0.069675714)
bones/9/rotation = Quaternion(0.0004671751, -0.00044618634, -0.7121794, 0.7019972)
bones/9/scale = Vector3(1, 1, 1)
bones/10/position = Vector3(0.12467117, -0.0022201955, -2.8368248e-08)
bones/10/rotation = Quaternion(5.363282e-08, 1.05591454e-07, 0.037125982, 0.9993106)
bones/10/scale = Vector3(1, 1, 1)
bones/11/position = Vector3(0.16112469, 0.046494268, -0.006244522)
bones/11/rotation = Quaternion(-0.0120373955, -0.007822201, 0.46056247, 0.8875113)
bones/11/scale = Vector3(1.0000001, 0.99999994, 1)
bones/13/position = Vector3(0.117486075, -0.1325843, -0.0696799)
bones/13/rotation = Quaternion(0.0004971096, -0.00088223023, -0.7120875, 0.70209)
bones/13/scale = Vector3(0.9999999, 0.9999999, 1)
bones/14/position = Vector3(0.12467118, -0.0022202404, -3.56783e-08)
bones/14/rotation = Quaternion(5.3701754e-08, 1.05572354e-07, 0.037125997, 0.9993106)
bones/14/scale = Vector3(1.0000001, 1.0000001, 1)
bones/15/position = Vector3(0.16112465, 0.04649423, 0.0062444974)
bones/15/rotation = Quaternion(0.016517976, 0.014013659, 0.46007556, 0.88761556)
bones/15/scale = Vector3(0.9999999, 0.9999999, 1)
bones/17/position = Vector3(0.04661899, 0.17346847, -1.18498086e-07)
bones/17/rotation = Quaternion(2.770023e-07, 3.177246e-07, 0.99957025, -0.029315341)
bones/17/scale = Vector3(1.000003, 1, 1)
bones/18/position = Vector3(0.14637275, -0.04410621, -9.865532e-08)
bones/18/rotation = Quaternion(-2.6851015e-07, -5.1783097e-08, -0.38697308, 0.92209107)
bones/18/scale = Vector3(1, 0.99999994, 1)
bones/19/position = Vector3(0.14074759, 0.012081423, -1.07438225e-07)
bones/19/rotation = Quaternion(-5.266017e-08, 3.9203155e-07, -0.22906616, 0.9734109)
bones/19/scale = Vector3(0.99999994, 1.0000001, 1)
bones/21/position = Vector3(0.08406017, 0.07054766, -0.046703663)
bones/21/rotation = Quaternion(2.472915e-07, 4.2034915e-07, 0.9653872, -0.26082113)
bones/21/scale = Vector3(0.99999994, 1.0000001, 1)
bones/22/position = Vector3(0.18519638, 0.014841081, -0.03856185)
bones/22/rotation = Quaternion(-1.04219914e-07, 2.4218835e-07, -0.36804387, 0.92980844)
bones/23/position = Vector3(0.09934621, 0.042793605, -0.011642947)
bones/23/rotation = Quaternion(0.00024863242, 5.0840557e-05, 0.45848417, 0.88870263)
bones/23/scale = Vector3(1, 0.9999999, 1)
bones/24/position = Vector3(0.10396489, 0.016853496, -0.010173391)
bones/24/rotation = Quaternion(9.3242754e-08, 2.4390525e-07, 0.5472883, 0.83694416)
bones/24/scale = Vector3(1.0000001, 1.0000001, 1)
bones/26/position = Vector3(0.08406015, 0.07054774, 0.046699274)
bones/26/rotation = Quaternion(2.1619995e-07, 5.3543306e-07, 0.96538764, -0.2608197)
bones/26/scale = Vector3(0.99999994, 1.0000001, 1)
bones/27/position = Vector3(0.18519638, 0.014841113, 0.038561605)
bones/27/rotation = Quaternion(-1.0420509e-07, 2.4219113e-07, -0.36804387, 0.92980844)
bones/27/scale = Vector3(1, 0.9999999, 1)
bones/28/position = Vector3(0.09934621, 0.04279366, 0.011642782)
bones/28/rotation = Quaternion(-0.00015323279, -7.909327e-05, 0.45790946, 0.8889988)
bones/28/scale = Vector3(0.9999999, 0.9999999, 1)
bones/29/position = Vector3(0.10396492, 0.01685347, 0.0101733515)
bones/29/rotation = Quaternion(6.860365e-08, 2.2637091e-07, 0.5472883, 0.83694416)
bones/29/scale = Vector3(1.0000001, 1, 1)
[editable path="Raccoon_rig"]

View File

@@ -1,46 +0,0 @@
[gd_scene format=3 uid="uid://bs1bdtm7jdtgb"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_smbiq"]
[ext_resource type="PackedScene" uid="uid://58u6viv3qd63" path="res://core/ai/agents/sheep/sheep_mannequin.tscn" id="2_hnenk"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_vlyix"]
[ext_resource type="Animation" uid="uid://bjvoxmyf4vdy8" path="res://core/ai/agents/sheep/idle.res" id="3_i3d22"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_uqv5v"]
[ext_resource type="Animation" uid="uid://8r05h8e7nmic" path="res://core/ai/agents/sheep/walking.res" id="4_hxh1r"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vlyix"]
_data = {
&"idle": ExtResource("3_i3d22"),
&"walking": ExtResource("4_hxh1r")
}
[node name="AiSheep" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_smbiq")]
anim_player = NodePath("SheepMannequin/AnimationPlayer")
entity_type = 1
entity_name = "Sheep"
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=190711451]
script = ExtResource("2_vlyix")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "custom/idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=431976868]
script = ExtResource("3_uqv5v")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "custom/walking"
exit_on_action_finished = true
[node name="SheepMannequin" parent="." index="3" unique_id=1153770042 instance=ExtResource("2_hnenk")]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, -0.9, 0)
[node name="Armature" parent="SheepMannequin" index="0" unique_id=1455361254]
transform = Transform3D(100, 0, 0, 0, -4.3711384e-06, 99.99999, 0, -99.99999, -4.3711384e-06, 0, 0, 0)
[node name="AnimationPlayer" parent="SheepMannequin" index="1" unique_id=2025108985]
libraries/custom = SubResource("AnimationLibrary_vlyix")
[editable path="SheepMannequin"]

Binary file not shown.

Binary file not shown.

View File

@@ -1,29 +0,0 @@
[gd_scene format=3 uid="uid://58u6viv3qd63"]
[ext_resource type="PackedScene" uid="uid://oog8biov508a" path="res://core/ai/agents/sheep/sheep.fbx" id="1_pnkxh"]
[node name="SheepMannequin" unique_id=1153770042 instance=ExtResource("1_pnkxh")]
[node name="Skeleton3D" parent="Armature" parent_id_path=PackedInt32Array(1644576745) index="0" unique_id=811031257]
bones/1/rotation = Quaternion(0.7071068, -7.052583e-07, -7.052583e-07, 0.7071067)
bones/4/rotation = Quaternion(0.0017592248, -0.0017595046, 0.7071046, 0.7071046)
bones/5/rotation = Quaternion(0.706397, -0.7005701, -0.057003256, 0.08339989)
bones/6/rotation = Quaternion(0.17354831, -0.018694565, 0.003295098, 0.98464245)
bones/8/rotation = Quaternion(0.0011415672, -0.0011422854, 0.7071059, 0.7071059)
bones/9/rotation = Quaternion(0.66940695, -0.67618734, 0.20153745, -0.23248184)
bones/10/rotation = Quaternion(-0.38440856, 0.017864142, 0.0074402345, 0.92296034)
bones/12/rotation = Quaternion(0.70710427, 0.7071044, 0.001866237, -0.0018665171)
bones/13/rotation = Quaternion(-0.033540055, -0.106803544, 0.7078988, 0.6973861)
bones/14/rotation = Quaternion(0.17334078, 0.051493812, -0.009075931, 0.9834729)
bones/16/rotation = Quaternion(0.70710605, 0.7071062, 0.0009843343, -0.0009850523)
bones/17/rotation = Quaternion(0.2082713, 0.22595985, 0.6673435, 0.67839366)
bones/18/rotation = Quaternion(-0.384463, -0.008772296, -0.0036537221, 0.92309153)
bones/20/rotation = Quaternion(0.6012591, 0.022893472, -0.005923484, 0.7987042)
bones/22/rotation = Quaternion(0.006586622, 0.9146406, 0.40345904, -0.02469813)
bones/23/rotation = Quaternion(0.07927493, -0.021147288, -0.014362239, 0.996525)
bones/24/rotation = Quaternion(-0.6495659, -0.19198355, 0.17329836, 0.71496445)
bones/26/rotation = Quaternion(3.4527793e-06, 0.6944211, 0.71956885, 3.3297817e-06)
bones/27/rotation = Quaternion(0.0651835, 0.0008379451, -0.017830681, 0.9977136)
bones/29/rotation = Quaternion(0.7071068, -7.052583e-07, -7.052583e-07, 0.7071067)
bones/31/rotation = Quaternion(0.7071068, -1.0424332e-06, -1.0424329e-06, 0.7071067)
bones/33/rotation = Quaternion(0.7071068, -1.0424332e-06, -1.0424329e-06, 0.7071067)

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,54 @@
[gd_scene format=3 uid="uid://cp8tf1uitoj57"]
[ext_resource type="PackedScene" uid="uid://clx701xdwelgx" path="res://core/ai/agents/base/ai_base.tscn" id="1_01jto"]
[ext_resource type="Script" uid="uid://d3hy70ec8vqo5" path="res://core/ai/framework/run_animation_state.gd" id="2_euyvm"]
[ext_resource type="PackedScene" uid="uid://dg6eq5bjdv77x" path="res://core/ai/agents/wagyu/Wagyu_rig.fbx" id="2_kinfw"]
[ext_resource type="Script" uid="uid://bngfthvt04ivv" path="res://core/ai/framework/patrol_state.gd" id="3_stslt"]
[node name="AiWagyu" unique_id=1228675528 node_paths=PackedStringArray("anim_player") instance=ExtResource("1_01jto")]
anim_player = NodePath("Wagyu_rig/AnimationPlayer")
entity_type = 1
entity_name = "Wagyu"
[node name="StateMachine" parent="." index="1" unique_id=1286404264 node_paths=PackedStringArray("initial_state")]
initial_state = NodePath("IdleState")
[node name="IdleState" type="Node" parent="StateMachine" index="0" unique_id=1768876006]
script = ExtResource("2_euyvm")
state_id = &"idle"
next_state_id = &"patrol"
animation_name = "wagyu_Idle"
[node name="PatrolState" type="Node" parent="StateMachine" index="1" unique_id=1424605081]
script = ExtResource("3_stslt")
state_id = &"patrol"
next_state_id = &"idle"
animation_name = "wagyu_walk"
exit_on_action_finished = true
[node name="Wagyu_rig" parent="." index="3" unique_id=434062845 instance=ExtResource("2_kinfw")]
[node name="Skeleton3D" parent="Wagyu_rig/Rig_wagyu" parent_id_path=PackedInt32Array(434062845, 984050088) index="0" unique_id=1381831503]
bones/1/position = Vector3(3.0605813e-06, 0.93198204, 1.5827273)
bones/1/rotation = Quaternion(0.12769, -0.69548225, -0.12769146, 0.6954816)
bones/2/rotation = Quaternion(-7.474808e-08, -1.0355375e-07, -0.5904155, 0.80709946)
bones/3/rotation = Quaternion(4.6805877e-08, -1.1830556e-07, 0.017411785, 0.9998484)
bones/4/rotation = Quaternion(1.771281e-08, 1.0884481e-07, 0.19398119, 0.9810053)
bones/7/rotation = Quaternion(3.415823e-08, -6.211047e-10, -0.29438308, 0.9556875)
bones/9/rotation = Quaternion(0.00046733156, -0.00044638076, -0.7121791, 0.7019975)
bones/10/rotation = Quaternion(1.1991547e-07, 8.809733e-08, 0.037125666, 0.9993106)
bones/11/rotation = Quaternion(-0.012037467, -0.007821967, 0.46056256, 0.88751113)
bones/13/rotation = Quaternion(0.00049730047, -0.0008825069, -0.71208733, 0.7020902)
bones/14/rotation = Quaternion(1.5469529e-07, -1.483681e-08, 0.037125666, 0.9993106)
bones/15/rotation = Quaternion(0.016517892, 0.014014246, 0.46007577, 0.8876154)
bones/17/rotation = Quaternion(9.343425e-08, 2.4610299e-07, 0.9818929, 0.18943687)
bones/18/rotation = Quaternion(2.348474e-07, -1.7702094e-07, 0.3209432, 0.9470985)
bones/19/rotation = Quaternion(2.0569273e-09, 2.3186735e-07, 0.008903695, 0.99996036)
bones/21/rotation = Quaternion(3.5893487e-07, 1.1177136e-06, 0.9652683, -0.2612609)
bones/22/rotation = Quaternion(-6.1835095e-07, -2.3081903e-07, -0.36804387, 0.92980844)
bones/23/rotation = Quaternion(0.0002490793, 5.1833915e-05, 0.45848417, 0.88870263)
bones/26/rotation = Quaternion(3.2779312e-07, 1.2327837e-06, 0.9652686, -0.2612597)
bones/27/rotation = Quaternion(-6.191086e-07, -2.305114e-07, -0.36804327, 0.9298087)
bones/28/rotation = Quaternion(-0.0001528551, -7.8230434e-05, 0.45790893, 0.8889991)
[editable path="Wagyu_rig"]

View File

@@ -0,0 +1,64 @@
extends State
class_name FlyAwayState
@export var fly_speed: float = 6.0
@export var fly_up_speed: float = 3.0
@export var destroy_after_seconds: float = 8.0
var _timer: float = 0.0
var _fly_direction: Vector3 = Vector3.UP
func enter() -> void:
super.enter()
run_animation()
# Disable NavigationAgent3D influence since we want manual flight
agent.nav_agent.process_mode = Node.PROCESS_MODE_DISABLED
var weather_nodes = get_tree().get_nodes_in_group("weather_node")
var train_node = null
for node in weather_nodes:
if "Treno" in node.name or "Train" in node.name:
train_node = node
break
if not train_node:
var train = get_tree().root.find_child("*Treno*", true, false)
if train and train is Node3D:
train_node = train
else:
train = get_tree().root.find_child("*Train*", true, false)
if train and train is Node3D:
train_node = train
if train_node:
# Fly away from the train
var dir_to_train = agent.global_position.direction_to(train_node.global_position)
dir_to_train.y = 0
if dir_to_train.length() > 0.1:
_fly_direction = -dir_to_train.normalized()
else:
_fly_direction = -agent.global_transform.basis.z.normalized()
else:
# If no train found, just fly forward relative to current facing
_fly_direction = -agent.global_transform.basis.z.normalized()
func physics_update(delta: float) -> void:
_timer += delta
if _timer >= destroy_after_seconds:
agent.queue_free()
return
var horizontal_vel = _fly_direction * fly_speed
agent.velocity.x = horizontal_vel.x
agent.velocity.y = fly_up_speed
agent.velocity.z = horizontal_vel.z
# Rotate agent to face flight direction
if horizontal_vel.length_squared() > 0.1:
var look_dir = Vector3(agent.velocity.x, 0, agent.velocity.z)
var target_transform = agent.global_transform.looking_at(agent.global_position - look_dir, Vector3.UP)
agent.global_transform = agent.global_transform.interpolate_with(target_transform, delta * 5.0)
agent.move_and_slide()

View File

@@ -0,0 +1 @@
uid://tys4fmqvneom

View File

@@ -7,4 +7,6 @@ func enter() -> void:
func physics_update(_delta) -> void:
if agent.nav_agent.is_navigation_finished():
transitioned.emit(self, next_state_id)
transitioned.emit(self, get_next_state())
elif agent.nav_agent.get_current_navigation_path().is_empty():
transitioned.emit(self, get_next_state())

View File

@@ -0,0 +1,18 @@
extends State
var starting_speed: float
func enter() -> void:
super.enter()
run_animation()
agent.navigate_to_random_point()
starting_speed = agent.speed
agent.speed = agent.speed * 1.5
func physics_update(_delta) -> void:
if agent.nav_agent.is_navigation_finished():
transitioned.emit(self, get_next_state())
func exit() -> void:
agent.speed = starting_speed
super.exit()

View File

@@ -0,0 +1 @@
uid://b5y4u0itec8g1

View File

@@ -4,7 +4,9 @@ class_name State
@export var state_id: StringName = &""
@export var next_state_id: StringName
@export var random_next_state_ids: Array[StringName] = []
@export var animation_name: String
@export var blend_time: float = 0.2
@export var exit_on_action_finished: bool
@export var exit_on_animation_finished: bool
@export var min_wait_time: float = 3.0
@@ -47,7 +49,7 @@ func physics_update(_delta: float) -> void:
func run_animation() -> void:
if agent.anim_player and agent.anim_player.has_animation(animation_name):
agent.anim_player.play(animation_name)
agent.anim_player.play(animation_name, blend_time)
func _on_animation_finished(anim_name: StringName) -> void:
if animation_name == anim_name:
@@ -57,7 +59,12 @@ func _on_animation_finished(anim_name: StringName) -> void:
var wait_time := randf_range(min_wait_time, max_wait_time)
runtime_timer.start(wait_time)
else:
transitioned.emit(self, next_state_id)
transitioned.emit(self, get_next_state())
func _on_timer_timeout() -> void:
transitioned.emit(self, next_state_id)
transitioned.emit(self, get_next_state())
func get_next_state() -> StringName:
if random_next_state_ids.size() > 0:
return random_next_state_ids.pick_random()
return next_state_id

View File

@@ -0,0 +1,37 @@
extends State
class_name WaitTrainState
@export var fly_distance_threshold: float = 30.0
var _train_node: Node3D = null
func enter() -> void:
super.enter()
run_animation()
_train_node = _find_train_node()
func physics_update(_delta: float) -> void:
if not _train_node:
_train_node = _find_train_node()
if _train_node:
var dist = agent.global_position.distance_to(_train_node.global_position)
if dist <= fly_distance_threshold:
transitioned.emit(self, get_next_state())
func _find_train_node() -> Node3D:
var weather_nodes = get_tree().get_nodes_in_group("weather_node")
for node in weather_nodes:
if "Treno" in node.name or "Train" in node.name:
return node as Node3D
var train = get_tree().root.find_child("*Treno*", true, false)
if train and train is Node3D:
return train as Node3D
train = get_tree().root.find_child("*Train*", true, false)
if train and train is Node3D:
return train as Node3D
return null

View File

@@ -0,0 +1 @@
uid://da5vhmxbxkdbc

View File

@@ -1,18 +1,17 @@
[gd_resource type="Resource" script_class="EntityPool" format=3 uid="uid://cmd6s6thq4f7r"]
[ext_resource type="PackedScene" uid="uid://dd8wn62anbts8" path="res://core/ai/agents/cow/ai_cow.tscn" id="1_iqga3"]
[ext_resource type="PackedScene" uid="uid://duppccreftg3v" path="res://core/ai/agents/cat/ai_cat.tscn" id="1_ow458"]
[ext_resource type="Script" uid="uid://53ryr0fsqiq7" path="res://core/biome_generator/entity_pool.gd" id="1_vccp2"]
[ext_resource type="PackedScene" uid="uid://c2hg6hu2y5srb" path="res://core/ai/agents/pig/ai_pig.tscn" id="2_76rvd"]
[ext_resource type="PackedScene" uid="uid://2md4l83fy8kr" path="res://core/ai/agents/pug/ai_pug.tscn" id="3_hq17p"]
[ext_resource type="PackedScene" uid="uid://cayakdk7gmlyg" path="res://core/ai/agents/horse/ai_horse.tscn" id="4_5yjl1"]
[ext_resource type="PackedScene" uid="uid://mvh2v6v72stt" path="res://core/ai/agents/human/ai_human.tscn" id="5_xd1cg"]
[ext_resource type="PackedScene" uid="uid://bs1bdtm7jdtgb" path="res://core/ai/agents/sheep/ai_sheep.tscn" id="6_ql0wl"]
[ext_resource type="PackedScene" uid="uid://cxi6phs4fieli" path="res://core/ai/agents/crow/ai_crow.tscn" id="2_iqga3"]
[ext_resource type="PackedScene" uid="uid://bk45etvtdd6m5" path="res://core/ai/agents/fox/ai_fox.tscn" id="3_76rvd"]
[ext_resource type="PackedScene" uid="uid://c8e8vy2yx0vuj" path="res://core/ai/agents/goat/ai_goat.tscn" id="4_hq17p"]
[ext_resource type="PackedScene" uid="uid://dgpkoccwlypct" path="res://core/ai/agents/racoon/ai_racoon.tscn" id="5_5yjl1"]
[ext_resource type="PackedScene" uid="uid://cp8tf1uitoj57" path="res://core/ai/agents/wagyu/ai_wagyu.tscn" id="6_xd1cg"]
[ext_resource type="PackedScene" uid="uid://ceqxsqfiotm5j" path="res://core/ai/agents/human/ai_farmer.tscn" id="7_hhs8l"]
[ext_resource type="PackedScene" uid="uid://bdqeshcwwnyc4" path="res://core/ai/agents/human/ai_citizen.tscn" id="8_8l6th"]
[ext_resource type="PackedScene" uid="uid://bbseno7clbepx" path="res://core/ai/agents/human/ai_citizen_sitter.tscn" id="9_x3pn3"]
[ext_resource type="PackedScene" uid="uid://bnnuke5e7e1yr" path="res://core/ai/agents/human/ai_citizen_walker.tscn" id="10_ctysb"]
[resource]
script = ExtResource("1_vccp2")
name = "Entity Pool"
available_entities = Array[PackedScene]([ExtResource("1_iqga3"), ExtResource("2_76rvd"), ExtResource("3_hq17p"), ExtResource("4_5yjl1"), ExtResource("5_xd1cg"), ExtResource("6_ql0wl"), ExtResource("7_hhs8l"), ExtResource("8_8l6th"), ExtResource("9_x3pn3"), ExtResource("10_ctysb")])
available_entities = Array[PackedScene]([ExtResource("1_ow458"), ExtResource("2_iqga3"), ExtResource("3_76rvd"), ExtResource("4_hq17p"), ExtResource("5_5yjl1"), ExtResource("6_xd1cg"), ExtResource("7_hhs8l"), ExtResource("9_x3pn3"), ExtResource("10_ctysb")])

View File

@@ -1,53 +1,41 @@
[gd_scene format=3 uid="uid://dqvrhiqgkd3w1"]
[ext_resource type="PackedScene" uid="uid://bnnuke5e7e1yr" path="res://core/ai/agents/human/ai_citizen_walker.tscn" id="1_a2xtd"]
[ext_resource type="PackedScene" uid="uid://ceqxsqfiotm5j" path="res://core/ai/agents/human/ai_farmer.tscn" id="2_n3ssi"]
[ext_resource type="PackedScene" uid="uid://bbseno7clbepx" path="res://core/ai/agents/human/ai_citizen_sitter.tscn" id="3_fdj8t"]
[ext_resource type="PackedScene" uid="uid://dd8wn62anbts8" path="res://core/ai/agents/cow/ai_cow.tscn" id="4_wr508"]
[ext_resource type="PackedScene" uid="uid://cayakdk7gmlyg" path="res://core/ai/agents/horse/ai_horse.tscn" id="5_7kg15"]
[ext_resource type="PackedScene" uid="uid://c2hg6hu2y5srb" path="res://core/ai/agents/pig/ai_pig.tscn" id="6_hw7u7"]
[ext_resource type="PackedScene" uid="uid://2md4l83fy8kr" path="res://core/ai/agents/pug/ai_pug.tscn" id="7_s6v14"]
[ext_resource type="PackedScene" uid="uid://bs1bdtm7jdtgb" path="res://core/ai/agents/sheep/ai_sheep.tscn" id="8_amn6p"]
[ext_resource type="PackedScene" uid="uid://cp8tf1uitoj57" path="res://core/ai/agents/wagyu/ai_wagyu.tscn" id="2_n3ssi"]
[ext_resource type="PackedScene" uid="uid://c8e8vy2yx0vuj" path="res://core/ai/agents/goat/ai_goat.tscn" id="3_a3kkd"]
[ext_resource type="PackedScene" uid="uid://bk45etvtdd6m5" path="res://core/ai/agents/fox/ai_fox.tscn" id="3_fdj8t"]
[ext_resource type="PackedScene" uid="uid://dgpkoccwlypct" path="res://core/ai/agents/racoon/ai_racoon.tscn" id="4_uj4wt"]
[ext_resource type="PackedScene" uid="uid://ceqxsqfiotm5j" path="res://core/ai/agents/human/ai_farmer.tscn" id="6_wr508"]
[ext_resource type="PackedScene" uid="uid://bnnuke5e7e1yr" path="res://core/ai/agents/human/ai_citizen_walker.tscn" id="7_7kg15"]
[ext_resource type="PackedScene" uid="uid://bbseno7clbepx" path="res://core/ai/agents/human/ai_citizen_sitter.tscn" id="8_hw7u7"]
[ext_resource type="PackedScene" uid="uid://duppccreftg3v" path="res://core/ai/agents/cat/ai_cat.tscn" id="9_7kg15"]
[sub_resource type="NavigationMesh" id="NavigationMesh_optuv"]
vertices = PackedVector3Array(8.984741, 0.25012434, -0.014038086, 9.234741, 0.25012434, -1.0140381, -18.015259, 0.25012434, -18.014038, 17.984741, 0.25012434, 17.985962, 10.984741, 0.25012434, 1.2359619, 9.234741, 0.25012434, 1.2359619, 10.984741, 0.25012434, -1.0140381, 17.984741, 0.25012434, -18.014038, -18.015259, 0.25012434, 17.985962, 11.234741, 0.25012434, 0.23596191)
polygons = [PackedInt32Array(2, 1, 0), PackedInt32Array(5, 4, 3), PackedInt32Array(7, 6, 1), PackedInt32Array(5, 8, 0), PackedInt32Array(0, 8, 2), PackedInt32Array(5, 3, 8), PackedInt32Array(1, 2, 7), PackedInt32Array(3, 4, 9), PackedInt32Array(6, 7, 9), PackedInt32Array(9, 7, 3)]
border_size = 2.0
[sub_resource type="NavigationMesh" id="NavigationMesh_a2xtd"]
vertices = PackedVector3Array(-19.5, -0.33473957, -19.5, -19.5, -0.33473957, 19.5, 19.5, -0.33473957, 19.5, 19.5, -0.33473957, -19.5)
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1)]
geometry_source_geometry_mode = 2
geometry_source_group_name = &"navigation_mesh_source_group1"
[sub_resource type="NavigationMesh" id="NavigationMesh_n3ssi"]
vertices = PackedVector3Array(0.64679813, -0.33499998, -18.241827, 0.64679813, -0.33499998, 18.258173, 18.146797, -0.33499998, 18.258173, 18.146797, -0.33499998, -18.241827)
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1)]
geometry_source_geometry_mode = 2
geometry_source_group_name = &"navigation_mesh_source_group2"
[sub_resource type="Environment" id="Environment_lmjyn"]
[sub_resource type="PlaneMesh" id="PlaneMesh_optuv"]
[sub_resource type="BoxShape3D" id="BoxShape3D_xtjak"]
size = Vector3(1.9942131, 0.09710693, 1.984024)
[sub_resource type="BoxMesh" id="BoxMesh_lmjyn"]
[sub_resource type="BoxShape3D" id="BoxShape3D_lmjyn"]
[sub_resource type="Environment" id="Environment_lmjyn"]
[node name="GymAI" type="Node3D" unique_id=868339787]
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="." unique_id=774907858]
navigation_mesh = SubResource("NavigationMesh_optuv")
navigation_mesh = SubResource("NavigationMesh_a2xtd")
[node name="Floor" type="MeshInstance3D" parent="NavigationRegion3D" unique_id=1976415311]
transform = Transform3D(20, 0, 0, 0, 20, 0, 0, 0, 20, 0, -0.83473957, 0)
mesh = SubResource("PlaneMesh_optuv")
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Floor" unique_id=2007477719]
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Floor/StaticBody3D" unique_id=1446628130]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0036563873, -0.009703338, -0.00868988)
shape = SubResource("BoxShape3D_xtjak")
[node name="Obstacle" type="MeshInstance3D" parent="NavigationRegion3D" unique_id=710701082]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.148018, 0.06508446, 0)
mesh = SubResource("BoxMesh_lmjyn")
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Obstacle" unique_id=67152580]
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Obstacle/StaticBody3D" unique_id=1663742898]
shape = SubResource("BoxShape3D_lmjyn")
[node name="NavigationRegion3D2" type="NavigationRegion3D" parent="." unique_id=527150023 groups=["navigation_mesh_source_group2"]]
navigation_mesh = SubResource("NavigationMesh_n3ssi")
navigation_layers = 2
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1772424900]
environment = SubResource("Environment_lmjyn")
@@ -93,29 +81,52 @@ Parameters:
- Area Radius: Radius of the SphereShape3D used by PatrolRadiusShape."
autowrap_mode = 2
[node name="AiCitizenWalker" parent="." unique_id=1228675528 instance=ExtResource("1_a2xtd")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.690094, 1, -11.367183)
[node name="Camera3D" type="Camera3D" parent="." unique_id=1753000680]
transform = Transform3D(1, 0, 0, 0, 0.42261824, 0.9063078, 0, -0.9063078, 0.42261824, 0, 18.361065, 15.377485)
[node name="AiFarmer" parent="." unique_id=1839077075 instance=ExtResource("2_n3ssi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2447205, 0.94226265, 2.9251099)
[node name="Floor" type="MeshInstance3D" parent="." unique_id=1976415311 groups=["navigation_mesh_source_group1"]]
transform = Transform3D(9.719975, 0, 0, 0, 20, 0, 0, 0, 20, -9.556898, -0.83473957, 0)
mesh = SubResource("PlaneMesh_optuv")
[node name="AiCitizenSitter" parent="." unique_id=127569260 instance=ExtResource("3_fdj8t")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.074956, 1.3552468, 11.883549)
[node name="StaticBody3D" type="StaticBody3D" parent="Floor" unique_id=2007477719]
[node name="AiCow" parent="." unique_id=1021070481 instance=ExtResource("4_wr508")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.4981034, 0.94226265, 15.013644)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor/StaticBody3D" unique_id=1446628130]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0036563873, -0.009703338, -0.00868988)
shape = SubResource("BoxShape3D_xtjak")
[node name="AiHorse" parent="." unique_id=71046494 instance=ExtResource("5_7kg15")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.385908, 0.94226265, 14.142443)
[node name="Floor2" type="MeshInstance3D" parent="." unique_id=309377168 groups=["navigation_mesh_source_group2"]]
transform = Transform3D(9.282202, 0, 0, 0, 20, 0, 0, 0, 18.741827, 9.429, -0.835, 0)
mesh = SubResource("PlaneMesh_optuv")
[node name="AiPig" parent="." unique_id=430569938 instance=ExtResource("6_hw7u7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.327689, 0.94226265, 6.6309185)
[node name="StaticBody3D" type="StaticBody3D" parent="Floor2" unique_id=1058766942]
[node name="AiPug" parent="." unique_id=1284695236 instance=ExtResource("7_s6v14")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4858246, 0.9422617, 9.294181)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor2/StaticBody3D" unique_id=2111078072]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0036563873, -0.009703338, -0.00868988)
shape = SubResource("BoxShape3D_xtjak")
[node name="AiSheep" parent="." unique_id=806542551 instance=ExtResource("8_amn6p")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.740941, 1.1779783, 16.328548)
[node name="AiGoat" parent="." unique_id=1397968422 instance=ExtResource("3_a3kkd")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.125751, 0, 9.623213)
navigation_layers = 2
[node name="AiRacoon" parent="." unique_id=170783736 instance=ExtResource("4_uj4wt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.993821, 0, 3.241497)
navigation_layers = 2
[node name="AiWagyu" parent="." unique_id=1980932035 instance=ExtResource("2_n3ssi")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.6312037, 0, -2.8999653)
navigation_layers = 2
[node name="AiCat" parent="." unique_id=1228675528 instance=ExtResource("9_7kg15")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0, 12)
[node name="AiFox" parent="." unique_id=1674280877 instance=ExtResource("3_fdj8t")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 6)
[node name="AiFarmer" parent="." unique_id=2065786320 instance=ExtResource("6_wr508")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0.6, 15)
[node name="AiCitizenWalker" parent="." unique_id=1790494026 instance=ExtResource("7_7kg15")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0.6, -5)
[node name="AiCitizenSitter" parent="." unique_id=827400114 instance=ExtResource("8_hw7u7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0.6, 3)