Initial Commit

This commit is contained in:
2025-07-05 13:32:33 +01:00
commit d4084fa60f
46 changed files with 3299 additions and 0 deletions

4
.editorconfig Normal file
View File

@ -0,0 +1,4 @@
root = true
[*]
charset = utf-8

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

63
Objects/gate_base.tscn Normal file
View File

@ -0,0 +1,63 @@
[gd_scene load_steps=9 format=3 uid="uid://dflfnwxsqakep"]
[ext_resource type="Script" uid="uid://rx1tvuhjo78w" path="res://scripts/gate_base.gd" id="1_3n5qp"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mkh1i"]
albedo_color = Color(0.589096, 0.589096, 0.589096, 1)
metallic = 1.0
[sub_resource type="CylinderMesh" id="CylinderMesh_3n5qp"]
material = SubResource("StandardMaterial3D_mkh1i")
top_radius = 0.2
bottom_radius = 0.2
[sub_resource type="BoxMesh" id="BoxMesh_3n5qp"]
resource_local_to_scene = true
size = Vector3(4, 2, 0.05)
[sub_resource type="SystemFont" id="SystemFont_1c4j8"]
subpixel_positioning = 0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kxyvy"]
albedo_color = Color(0, 0, 0, 1)
[sub_resource type="TextMesh" id="TextMesh_3n5qp"]
resource_local_to_scene = true
material = SubResource("StandardMaterial3D_kxyvy")
text = "Test
"
font = SubResource("SystemFont_1c4j8")
font_size = 50
[sub_resource type="BoxShape3D" id="BoxShape3D_n02vp"]
size = Vector3(4, 2, 0.1)
[node name="GateBase" type="Node3D" node_paths=PackedStringArray("physicsBody")]
script = ExtResource("1_3n5qp")
physicsBody = NodePath("Screen/StaticBody3D")
[node name="PostA" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2, 0, 0)
mesh = SubResource("CylinderMesh_3n5qp")
skeleton = NodePath("")
[node name="PostB" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.2, 0, 0)
mesh = SubResource("CylinderMesh_3n5qp")
skeleton = NodePath("")
[node name="Screen" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_3n5qp")
skeleton = NodePath("")
[node name="Sign" type="MeshInstance3D" parent="Screen"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.0538177)
mesh = SubResource("TextMesh_3n5qp")
[node name="StaticBody3D" type="StaticBody3D" parent="Screen"]
collision_layer = 4
collision_mask = 4
input_ray_pickable = false
[node name="CollisionShape3D" type="CollisionShape3D" parent="Screen/StaticBody3D"]
shape = SubResource("BoxShape3D_n02vp")

33
Objects/player.tscn Normal file
View File

@ -0,0 +1,33 @@
[gd_scene load_steps=5 format=3 uid="uid://bewcftupk7t2k"]
[ext_resource type="ArrayMesh" uid="uid://cfvx75mj0chak" path="res://meshes/14075_WWII_Tank_US_M3_v1_L1.obj" id="2_2i4gt"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bhwwd"]
albedo_color = Color(0, 0.484177, 0.0929359, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pdbwf"]
albedo_color = Color(0.295867, 0.295866, 0.295866, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_pdbwf"]
size = Vector3(3.12372, 1.56891, 1.62134)
[node name="Player" type="Node3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(-1.31134e-08, -0.3, 3.57746e-09, 0, 3.57746e-09, 0.3, -0.3, 1.31134e-08, -1.56376e-16, 0, -0.283992, 0)
mesh = ExtResource("2_2i4gt")
surface_material_override/0 = SubResource("StandardMaterial3D_bhwwd")
surface_material_override/1 = SubResource("StandardMaterial3D_bhwwd")
surface_material_override/2 = SubResource("StandardMaterial3D_pdbwf")
[node name="CharacterBody3D" type="CharacterBody3D" parent="MeshInstance3D"]
collision_layer = 6
collision_mask = 6
floor_max_angle = 0.0
platform_on_leave = 2
metadata/otherPlayer = true
metadata/isPlayer = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/CharacterBody3D"]
transform = Transform3D(1, 1.47082e-12, -1.3182e-20, -1.47082e-12, 1, 3.68594e-13, 4.12929e-21, -3.68594e-13, 1, 0.373564, -0.124176, 1.7493)
shape = SubResource("BoxShape3D_pdbwf")

30
Objects/playerClone.tscn Normal file
View File

@ -0,0 +1,30 @@
[gd_scene load_steps=5 format=3 uid="uid://bu0c2kjv4bwvb"]
[ext_resource type="ArrayMesh" uid="uid://cfvx75mj0chak" path="res://meshes/14075_WWII_Tank_US_M3_v1_L1.obj" id="2_yfm5c"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bhwwd"]
albedo_color = Color(0, 0.484177, 0.0929359, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pdbwf"]
albedo_color = Color(0.295867, 0.295866, 0.295866, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_70fy1"]
size = Vector3(3, 1.5, 1.2)
[node name="Player" type="Node3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(-1.31134e-08, -0.3, 3.57746e-09, 0, 3.57746e-09, 0.3, -0.3, 1.31134e-08, -1.56376e-16, 0, -0.283992, 0)
mesh = ExtResource("2_yfm5c")
surface_material_override/0 = SubResource("StandardMaterial3D_bhwwd")
surface_material_override/1 = SubResource("StandardMaterial3D_bhwwd")
surface_material_override/2 = SubResource("StandardMaterial3D_pdbwf")
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
collision_layer = 6
collision_mask = 6
metadata/isPlayer = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
transform = Transform3D(1, 3.55271e-14, -2.11758e-22, -3.55271e-14, 1, 9.76996e-15, 0, -9.76996e-15, 1, 0.370649, -0.0681, 1.58486)
shape = SubResource("BoxShape3D_70fy1")

4
Objects/player_prime.gd Normal file
View File

@ -0,0 +1,4 @@
extends Node3D
func _ready() -> void:
GameEngine.getGE().idaPrime = self

View File

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

BIN
animations/player_run.fbx Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
animations/player_run.res Normal file

Binary file not shown.

43
export_presets.cfg Normal file
View File

@ -0,0 +1,43 @@
[preset.0]
name="Web"
platform="Web"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path=""
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
variant/thread_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
html/custom_html_shell=""
html/head_include=""
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=false
progressive_web_app/ensure_cross_origin_isolation_headers=true
progressive_web_app/offline_page=""
progressive_web_app/display=1
progressive_web_app/orientation=0
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)

Binary file not shown.

1
icon.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>

After

Width:  |  Height:  |  Size: 994 B

37
icon.svg.import Normal file
View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjlqe6alvqoye"
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.svg"
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

Binary file not shown.

BIN
materials/sign_red.material Normal file

Binary file not shown.

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://cfvx75mj0chak"
path="res://.godot/imported/14075_WWII_Tank_US_M3_v1_L1.obj-35b4f0348b3e4e365c9427cb39621f09.mesh"
[deps]
files=["res://.godot/imported/14075_WWII_Tank_US_M3_v1_L1.obj-35b4f0348b3e4e365c9427cb39621f09.mesh"]
source_file="res://meshes/14075_WWII_Tank_US_M3_v1_L1.obj"
dest_files=["res://.godot/imported/14075_WWII_Tank_US_M3_v1_L1.obj-35b4f0348b3e4e365c9427cb39621f09.mesh", "res://.godot/imported/14075_WWII_Tank_US_M3_v1_L1.obj-35b4f0348b3e4e365c9427cb39621f09.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false

BIN
meshes/autorig_actor.fbx Normal file

Binary file not shown.

View File

@ -0,0 +1,45 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bmckbf0fxisng"
path="res://.godot/imported/autorig_actor.fbx-1fe2beb465c7a6d05afc181801a7f03f.scn"
[deps]
source_file="res://meshes/autorig_actor.fbx"
dest_files=["res://.godot/imported/autorig_actor.fbx-1fe2beb465c7a6d05afc181801a7f03f.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=100.0
nodes/import_as_skeleton_bones=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=""
_subresources={
"nodes": {
"PATH:Skeleton3D": {
"rest_pose/external_animation_library": null,
"rest_pose/selected_animation": "0_T-Pose"
}
}
}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

624
meshes/ida.tscn Normal file
View File

@ -0,0 +1,624 @@
[gd_scene load_steps=8 format=3 uid="uid://cwyajw7su6fay"]
[ext_resource type="PackedScene" uid="uid://bmckbf0fxisng" path="res://meshes/autorig_actor.fbx" id="1_ps5f2"]
[ext_resource type="Script" uid="uid://cpjbbfsvty7r" path="res://scripts/ida.gd" id="2_0kyud"]
[ext_resource type="ArrayMesh" uid="uid://cfvx75mj0chak" path="res://meshes/14075_WWII_Tank_US_M3_v1_L1.obj" id="3_tnfid"]
[ext_resource type="Animation" uid="uid://bu3kr3objgx54" path="res://animations/player_run.res" id="4_tnfid"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0y21p"]
[sub_resource type="Animation" id="Animation_ghp4k"]
resource_name = "0_T-Pose"
length = 0.0166667
tracks/0/type = "position_3d"
tracks/0/imported = true
tracks/0/enabled = true
tracks/0/path = NodePath("Skeleton3D:CC_Base_Hip")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0.747243)
tracks/1/type = "rotation_3d"
tracks/1/imported = true
tracks/1/enabled = true
tracks/1/path = NodePath("Skeleton3D:CC_Base_Hip")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = PackedFloat32Array(0, 1, 0.746793, -0.000656062, 0.000719953, 0.665056)
tracks/2/type = "rotation_3d"
tracks/2/imported = true
tracks/2/enabled = true
tracks/2/path = NodePath("Skeleton3D:CC_Base_Waist")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = PackedFloat32Array(0, 1, -0.0340425, -7.21859e-05, -0.000973729, 0.99942)
tracks/3/type = "rotation_3d"
tracks/3/imported = true
tracks/3/enabled = true
tracks/3/path = NodePath("Skeleton3D:CC_Base_L_Thigh")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = PackedFloat32Array(0, 1, -0.00342927, -0.16481, -0.986263, 0.0105712)
tracks/4/type = "rotation_3d"
tracks/4/imported = true
tracks/4/enabled = true
tracks/4/path = NodePath("Skeleton3D:CC_Base_R_Thigh")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = PackedFloat32Array(0, 1, -0.0035032, 0.166401, 0.985981, 0.0117884)
tracks/5/type = "rotation_3d"
tracks/5/imported = true
tracks/5/enabled = true
tracks/5/path = NodePath("Skeleton3D:CC_Base_L_Calf")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = PackedFloat32Array(0, 1, -0.0283306, 0.00139348, -0.0455882, 0.998558)
tracks/6/type = "rotation_3d"
tracks/6/imported = true
tracks/6/enabled = true
tracks/6/path = NodePath("Skeleton3D:CC_Base_L_ThighTwist01")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = PackedFloat32Array(0, 1, -8.49879e-06, 0.00183599, -6.33664e-05, 0.999998)
tracks/7/type = "rotation_3d"
tracks/7/imported = true
tracks/7/enabled = true
tracks/7/path = NodePath("Skeleton3D:CC_Base_R_ThighTwist01")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = PackedFloat32Array(0, 1, -1.5175e-05, -0.00180517, 8.42653e-06, 0.999998)
tracks/8/type = "rotation_3d"
tracks/8/imported = true
tracks/8/enabled = true
tracks/8/path = NodePath("Skeleton3D:CC_Base_R_Calf")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = PackedFloat32Array(0, 1, -0.0314355, -0.00136438, 0.0438781, 0.998541)
tracks/9/type = "rotation_3d"
tracks/9/imported = true
tracks/9/enabled = true
tracks/9/path = NodePath("Skeleton3D:CC_Base_L_Foot")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = PackedFloat32Array(0, 1, 0.573449, -0.0233868, 0.0503537, 0.817358)
tracks/10/type = "rotation_3d"
tracks/10/imported = true
tracks/10/enabled = true
tracks/10/path = NodePath("Skeleton3D:CC_Base_L_CalfTwist01")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = PackedFloat32Array(0, 1, 1.20512e-06, 0.00295697, -1.69489e-07, 0.999996)
tracks/11/type = "rotation_3d"
tracks/11/imported = true
tracks/11/enabled = true
tracks/11/path = NodePath("Skeleton3D:CC_Base_L_KneeShareBone")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = PackedFloat32Array(0, 1, 0.0140539, 0.00324285, 0.0227785, 0.999636)
tracks/12/type = "rotation_3d"
tracks/12/imported = true
tracks/12/enabled = true
tracks/12/path = NodePath("Skeleton3D:CC_Base_L_ThighTwist02")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = PackedFloat32Array(0, 1, -6.33393e-06, -0.00183944, 5.46431e-05, 0.999998)
tracks/13/type = "rotation_3d"
tracks/13/imported = true
tracks/13/enabled = true
tracks/13/path = NodePath("Skeleton3D:CC_Base_R_ThighTwist02")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = PackedFloat32Array(0, 1, -9.2205e-08, 0.0018083, -2.65941e-07, 0.999998)
tracks/14/type = "rotation_3d"
tracks/14/imported = true
tracks/14/enabled = true
tracks/14/path = NodePath("Skeleton3D:CC_Base_R_Foot")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = PackedFloat32Array(0, 1, 0.572471, 0.0195026, -0.0435234, 0.818537)
tracks/15/type = "rotation_3d"
tracks/15/imported = true
tracks/15/enabled = true
tracks/15/path = NodePath("Skeleton3D:CC_Base_R_KneeShareBone")
tracks/15/interp = 1
tracks/15/loop_wrap = true
tracks/15/keys = PackedFloat32Array(0, 1, 0.0156109, -0.0034009, -0.0219136, 0.999632)
tracks/16/type = "rotation_3d"
tracks/16/imported = true
tracks/16/enabled = true
tracks/16/path = NodePath("Skeleton3D:CC_Base_R_CalfTwist01")
tracks/16/interp = 1
tracks/16/loop_wrap = true
tracks/16/keys = PackedFloat32Array(0, 1, -6.95505e-05, -0.00300189, -1.16193e-05, 0.999995)
tracks/17/type = "rotation_3d"
tracks/17/imported = true
tracks/17/enabled = true
tracks/17/path = NodePath("Skeleton3D:CC_Base_L_Clavicle")
tracks/17/interp = 1
tracks/17/loop_wrap = true
tracks/17/keys = PackedFloat32Array(0, 1, 0.0217149, 0.184737, -0.684925, 0.704471)
tracks/18/type = "rotation_3d"
tracks/18/imported = true
tracks/18/enabled = true
tracks/18/path = NodePath("Skeleton3D:CC_Base_R_Clavicle")
tracks/18/interp = 1
tracks/18/loop_wrap = true
tracks/18/keys = PackedFloat32Array(0, 1, 0.0217173, -0.184732, 0.684925, 0.704472)
tracks/19/type = "rotation_3d"
tracks/19/imported = true
tracks/19/enabled = true
tracks/19/path = NodePath("Skeleton3D:CC_Base_R_RibsTwist")
tracks/19/interp = 1
tracks/19/loop_wrap = true
tracks/19/keys = PackedFloat32Array(0, 1, 9.99487e-07, -0.636629, -0.77117, 9.36242e-06)
tracks/20/type = "rotation_3d"
tracks/20/imported = true
tracks/20/enabled = true
tracks/20/path = NodePath("Skeleton3D:CC_Base_L_CalfTwist02")
tracks/20/interp = 1
tracks/20/loop_wrap = true
tracks/20/keys = PackedFloat32Array(0, 1, -3.74397e-06, 0.00369679, 4.24549e-07, 0.999993)
tracks/21/type = "rotation_3d"
tracks/21/imported = true
tracks/21/enabled = true
tracks/21/path = NodePath("Skeleton3D:CC_Base_R_CalfTwist02")
tracks/21/interp = 1
tracks/21/loop_wrap = true
tracks/21/keys = PackedFloat32Array(0, 1, 6.69839e-05, -0.00383375, 1.13138e-05, 0.999993)
tracks/22/type = "rotation_3d"
tracks/22/imported = true
tracks/22/enabled = true
tracks/22/path = NodePath("Skeleton3D:CC_Base_L_Upperarm")
tracks/22/interp = 1
tracks/22/loop_wrap = true
tracks/22/keys = PackedFloat32Array(0, 1, 0.115174, 0.00109441, 0.00389326, 0.993337)
tracks/23/type = "rotation_3d"
tracks/23/imported = true
tracks/23/enabled = true
tracks/23/path = NodePath("Skeleton3D:CC_Base_R_Upperarm")
tracks/23/interp = 1
tracks/23/loop_wrap = true
tracks/23/keys = PackedFloat32Array(0, 1, 0.115188, -0.00109309, -0.00388834, 0.993336)
tracks/24/type = "rotation_3d"
tracks/24/imported = true
tracks/24/enabled = true
tracks/24/path = NodePath("Skeleton3D:CC_Base_L_Forearm")
tracks/24/interp = 1
tracks/24/loop_wrap = true
tracks/24/keys = PackedFloat32Array(0, 1, 0.00122656, -0.00178012, -0.000365274, 0.999998)
tracks/25/type = "rotation_3d"
tracks/25/imported = true
tracks/25/enabled = true
tracks/25/path = NodePath("Skeleton3D:CC_Base_L_UpperarmTwist01")
tracks/25/interp = 1
tracks/25/loop_wrap = true
tracks/25/keys = PackedFloat32Array(0, 1, 6.75121e-07, -0.000209612, -5.27831e-07, 1)
tracks/26/type = "rotation_3d"
tracks/26/imported = true
tracks/26/enabled = true
tracks/26/path = NodePath("Skeleton3D:CC_Base_R_UpperarmTwist01")
tracks/26/interp = 1
tracks/26/loop_wrap = true
tracks/26/keys = PackedFloat32Array(0, 1, 4.45531e-07, 0.000195034, 1.43129e-17, 1)
tracks/27/type = "rotation_3d"
tracks/27/imported = true
tracks/27/enabled = true
tracks/27/path = NodePath("Skeleton3D:CC_Base_R_Forearm")
tracks/27/interp = 1
tracks/27/loop_wrap = true
tracks/27/keys = PackedFloat32Array(0, 1, 0.00122776, 0.00177987, 0.000358475, 0.999998)
tracks/28/type = "rotation_3d"
tracks/28/imported = true
tracks/28/enabled = true
tracks/28/path = NodePath("Skeleton3D:CC_Base_L_ForearmTwist01")
tracks/28/interp = 1
tracks/28/loop_wrap = true
tracks/28/keys = PackedFloat32Array(0, 1, -6.84993e-07, 0.00218254, -2.16209e-07, 0.999998)
tracks/29/type = "rotation_3d"
tracks/29/imported = true
tracks/29/enabled = true
tracks/29/path = NodePath("Skeleton3D:CC_Base_L_ElbowShareBone")
tracks/29/interp = 1
tracks/29/loop_wrap = true
tracks/29/keys = PackedFloat32Array(0, 1, 0.00577331, 0.00345354, -0.0148316, 0.999867)
tracks/30/type = "rotation_3d"
tracks/30/imported = true
tracks/30/enabled = true
tracks/30/path = NodePath("Skeleton3D:CC_Base_L_Hand")
tracks/30/interp = 1
tracks/30/loop_wrap = true
tracks/30/keys = PackedFloat32Array(0, 1, -0.020286, -0.000130235, 0.00700611, 0.99977)
tracks/31/type = "rotation_3d"
tracks/31/imported = true
tracks/31/enabled = true
tracks/31/path = NodePath("Skeleton3D:CC_Base_L_UpperarmTwist02")
tracks/31/interp = 1
tracks/31/loop_wrap = true
tracks/31/keys = PackedFloat32Array(0, 1, -1.57516e-06, 0.000211112, 1.02554e-06, 1)
tracks/32/type = "rotation_3d"
tracks/32/imported = true
tracks/32/enabled = true
tracks/32/path = NodePath("Skeleton3D:CC_Base_R_UpperarmTwist02")
tracks/32/interp = 1
tracks/32/loop_wrap = true
tracks/32/keys = PackedFloat32Array(0, 1, -1.4581e-06, -0.00019279, -6.61573e-07, 1)
tracks/33/type = "rotation_3d"
tracks/33/imported = true
tracks/33/enabled = true
tracks/33/path = NodePath("Skeleton3D:CC_Base_R_ForearmTwist01")
tracks/33/interp = 1
tracks/33/loop_wrap = true
tracks/33/keys = PackedFloat32Array(0, 1, -3.79906e-07, -0.0155731, 4.31151e-07, 0.999879)
tracks/34/type = "rotation_3d"
tracks/34/imported = true
tracks/34/enabled = true
tracks/34/path = NodePath("Skeleton3D:CC_Base_R_ElbowShareBone")
tracks/34/interp = 1
tracks/34/loop_wrap = true
tracks/34/keys = PackedFloat32Array(0, 1, -0.00900013, -0.0155639, -0.031651, 0.999337)
tracks/35/type = "rotation_3d"
tracks/35/imported = true
tracks/35/enabled = true
tracks/35/path = NodePath("Skeleton3D:CC_Base_R_Hand")
tracks/35/interp = 1
tracks/35/loop_wrap = true
tracks/35/keys = PackedFloat32Array(0, 1, -0.0202935, 0.000126656, -0.00699926, 0.99977)
tracks/36/type = "rotation_3d"
tracks/36/imported = true
tracks/36/enabled = true
tracks/36/path = NodePath("Skeleton3D:CC_Base_L_ForearmTwist02")
tracks/36/interp = 1
tracks/36/loop_wrap = true
tracks/36/keys = PackedFloat32Array(0, 1, -4.50166e-06, -0.00347628, -2.27264e-06, 0.999994)
tracks/37/type = "rotation_3d"
tracks/37/imported = true
tracks/37/enabled = true
tracks/37/path = NodePath("Skeleton3D:CC_Base_L_Mid1")
tracks/37/interp = 1
tracks/37/loop_wrap = true
tracks/37/keys = PackedFloat32Array(0, 1, 0.0214809, -0.00283419, -0.0164266, 0.99963)
tracks/38/type = "rotation_3d"
tracks/38/imported = true
tracks/38/enabled = true
tracks/38/path = NodePath("Skeleton3D:CC_Base_L_Index1")
tracks/38/interp = 1
tracks/38/loop_wrap = true
tracks/38/keys = PackedFloat32Array(0, 1, 0.0224229, -0.0034715, -0.0161635, 0.999612)
tracks/39/type = "rotation_3d"
tracks/39/imported = true
tracks/39/enabled = true
tracks/39/path = NodePath("Skeleton3D:CC_Base_L_Ring1")
tracks/39/interp = 1
tracks/39/loop_wrap = true
tracks/39/keys = PackedFloat32Array(0, 1, 0.0125478, 0.000580957, -0.0148386, 0.999811)
tracks/40/type = "rotation_3d"
tracks/40/imported = true
tracks/40/enabled = true
tracks/40/path = NodePath("Skeleton3D:CC_Base_L_Pinky1")
tracks/40/interp = 1
tracks/40/loop_wrap = true
tracks/40/keys = PackedFloat32Array(0, 1, 0.0164298, 0.000373399, -0.0154734, 0.999745)
tracks/41/type = "rotation_3d"
tracks/41/imported = true
tracks/41/enabled = true
tracks/41/path = NodePath("Skeleton3D:CC_Base_L_Thumb1")
tracks/41/interp = 1
tracks/41/loop_wrap = true
tracks/41/keys = PackedFloat32Array(0, 1, 0.405428, -0.120434, -0.0645488, 0.903857)
tracks/42/type = "rotation_3d"
tracks/42/imported = true
tracks/42/enabled = true
tracks/42/path = NodePath("Skeleton3D:CC_Base_R_ForearmTwist02")
tracks/42/interp = 1
tracks/42/loop_wrap = true
tracks/42/keys = PackedFloat32Array(0, 1, -4.7515e-06, 0.0304203, 2.00988e-06, 0.999537)
tracks/43/type = "rotation_3d"
tracks/43/imported = true
tracks/43/enabled = true
tracks/43/path = NodePath("Skeleton3D:CC_Base_R_Mid1")
tracks/43/interp = 1
tracks/43/loop_wrap = true
tracks/43/keys = PackedFloat32Array(0, 1, 0.0214807, 0.002834, 0.0164255, 0.99963)
tracks/44/type = "rotation_3d"
tracks/44/imported = true
tracks/44/enabled = true
tracks/44/path = NodePath("Skeleton3D:CC_Base_R_Ring1")
tracks/44/interp = 1
tracks/44/loop_wrap = true
tracks/44/keys = PackedFloat32Array(0, 1, 0.0125403, -0.000580492, 0.0147942, 0.999812)
tracks/45/type = "rotation_3d"
tracks/45/imported = true
tracks/45/enabled = true
tracks/45/path = NodePath("Skeleton3D:CC_Base_R_Thumb1")
tracks/45/interp = 1
tracks/45/loop_wrap = true
tracks/45/keys = PackedFloat32Array(0, 1, 0.405433, 0.120423, 0.0645565, 0.903856)
tracks/46/type = "rotation_3d"
tracks/46/imported = true
tracks/46/enabled = true
tracks/46/path = NodePath("Skeleton3D:CC_Base_R_Index1")
tracks/46/interp = 1
tracks/46/loop_wrap = true
tracks/46/keys = PackedFloat32Array(0, 1, 0.022423, 0.00347149, 0.0161638, 0.999612)
tracks/47/type = "rotation_3d"
tracks/47/imported = true
tracks/47/enabled = true
tracks/47/path = NodePath("Skeleton3D:CC_Base_R_Pinky1")
tracks/47/interp = 1
tracks/47/loop_wrap = true
tracks/47/keys = PackedFloat32Array(0, 1, 0.0164123, -0.000374, 0.0154865, 0.999745)
tracks/48/type = "rotation_3d"
tracks/48/imported = true
tracks/48/enabled = true
tracks/48/path = NodePath("Skeleton3D:CC_Base_Tongue01")
tracks/48/interp = 1
tracks/48/loop_wrap = true
tracks/48/keys = PackedFloat32Array(0, 1, 7.75534e-07, -1.45903e-05, 0.0534897, 0.998568)
tracks/49/type = "rotation_3d"
tracks/49/imported = true
tracks/49/enabled = true
tracks/49/path = NodePath("Skeleton3D:CC_Base_Teeth02")
tracks/49/interp = 1
tracks/49/loop_wrap = true
tracks/49/keys = PackedFloat32Array(0, 1, -1, 2.3395e-06, -9.73836e-05, 7.98946e-05)
tracks/50/type = "rotation_3d"
tracks/50/imported = true
tracks/50/enabled = true
tracks/50/path = NodePath("Skeleton3D:CC_Base_L_Mid2")
tracks/50/interp = 1
tracks/50/loop_wrap = true
tracks/50/keys = PackedFloat32Array(0, 1, -0.00198367, 0.00350004, -9.48373e-05, 0.999992)
tracks/51/type = "rotation_3d"
tracks/51/imported = true
tracks/51/enabled = true
tracks/51/path = NodePath("Skeleton3D:CC_Base_L_Index2")
tracks/51/interp = 1
tracks/51/loop_wrap = true
tracks/51/keys = PackedFloat32Array(0, 1, 0.00220363, 0.00525253, -0.000466208, 0.999984)
tracks/52/type = "rotation_3d"
tracks/52/imported = true
tracks/52/enabled = true
tracks/52/path = NodePath("Skeleton3D:CC_Base_L_Ring2")
tracks/52/interp = 1
tracks/52/loop_wrap = true
tracks/52/keys = PackedFloat32Array(0, 1, -0.00428584, -0.000131849, -0.0006377, 0.999991)
tracks/53/type = "rotation_3d"
tracks/53/imported = true
tracks/53/enabled = true
tracks/53/path = NodePath("Skeleton3D:CC_Base_L_Pinky2")
tracks/53/interp = 1
tracks/53/loop_wrap = true
tracks/53/keys = PackedFloat32Array(0, 1, -0.00906214, -0.00141906, 8.85255e-06, 0.999958)
tracks/54/type = "rotation_3d"
tracks/54/imported = true
tracks/54/enabled = true
tracks/54/path = NodePath("Skeleton3D:CC_Base_L_Thumb2")
tracks/54/interp = 1
tracks/54/loop_wrap = true
tracks/54/keys = PackedFloat32Array(0, 1, -0.165234, -0.0012071, 0.0496694, 0.985002)
tracks/55/type = "rotation_3d"
tracks/55/imported = true
tracks/55/enabled = true
tracks/55/path = NodePath("Skeleton3D:CC_Base_R_Mid2")
tracks/55/interp = 1
tracks/55/loop_wrap = true
tracks/55/keys = PackedFloat32Array(0, 1, -0.00198797, -0.00349992, 9.22244e-05, 0.999992)
tracks/56/type = "rotation_3d"
tracks/56/imported = true
tracks/56/enabled = true
tracks/56/path = NodePath("Skeleton3D:CC_Base_R_Ring2")
tracks/56/interp = 1
tracks/56/loop_wrap = true
tracks/56/keys = PackedFloat32Array(0, 1, -0.00425005, 0.000131802, 0.000696682, 0.999991)
tracks/57/type = "rotation_3d"
tracks/57/imported = true
tracks/57/enabled = true
tracks/57/path = NodePath("Skeleton3D:CC_Base_R_Thumb2")
tracks/57/interp = 1
tracks/57/loop_wrap = true
tracks/57/keys = PackedFloat32Array(0, 1, -0.165245, 0.00121027, -0.049689, 0.984999)
tracks/58/type = "rotation_3d"
tracks/58/imported = true
tracks/58/enabled = true
tracks/58/path = NodePath("Skeleton3D:CC_Base_R_Index2")
tracks/58/interp = 1
tracks/58/loop_wrap = true
tracks/58/keys = PackedFloat32Array(0, 1, 0.00220499, -0.0052531, 0.000448574, 0.999984)
tracks/59/type = "rotation_3d"
tracks/59/imported = true
tracks/59/enabled = true
tracks/59/path = NodePath("Skeleton3D:CC_Base_R_Pinky2")
tracks/59/interp = 1
tracks/59/loop_wrap = true
tracks/59/keys = PackedFloat32Array(0, 1, -0.00904071, 0.00141934, -2.04791e-05, 0.999958)
tracks/60/type = "rotation_3d"
tracks/60/imported = true
tracks/60/enabled = true
tracks/60/path = NodePath("Skeleton3D:CC_Base_Tongue02")
tracks/60/interp = 1
tracks/60/loop_wrap = true
tracks/60/keys = PackedFloat32Array(0, 1, 6.78387e-07, -1.02622e-05, 0.0774662, 0.996995)
tracks/61/type = "rotation_3d"
tracks/61/imported = true
tracks/61/enabled = true
tracks/61/path = NodePath("Skeleton3D:CC_Base_L_Mid3")
tracks/61/interp = 1
tracks/61/loop_wrap = true
tracks/61/keys = PackedFloat32Array(0, 1, 0.000804248, 9.73189e-05, -0.000637023, 0.999999)
tracks/62/type = "rotation_3d"
tracks/62/imported = true
tracks/62/enabled = true
tracks/62/path = NodePath("Skeleton3D:CC_Base_L_Index3")
tracks/62/interp = 1
tracks/62/loop_wrap = true
tracks/62/keys = PackedFloat32Array(0, 1, 0.00110733, -3.09412e-05, -0.00153646, 0.999998)
tracks/63/type = "rotation_3d"
tracks/63/imported = true
tracks/63/enabled = true
tracks/63/path = NodePath("Skeleton3D:CC_Base_L_Ring3")
tracks/63/interp = 1
tracks/63/loop_wrap = true
tracks/63/keys = PackedFloat32Array(0, 1, 0.00149854, -0.000177822, -0.0028127, 0.999995)
tracks/64/type = "rotation_3d"
tracks/64/imported = true
tracks/64/enabled = true
tracks/64/path = NodePath("Skeleton3D:CC_Base_L_Pinky3")
tracks/64/interp = 1
tracks/64/loop_wrap = true
tracks/64/keys = PackedFloat32Array(0, 1, 0.00187784, 0.000119077, -0.0269096, 0.999636)
tracks/65/type = "rotation_3d"
tracks/65/imported = true
tracks/65/enabled = true
tracks/65/path = NodePath("Skeleton3D:CC_Base_L_Thumb3")
tracks/65/interp = 1
tracks/65/loop_wrap = true
tracks/65/keys = PackedFloat32Array(0, 1, -0.0120659, 0.000974871, 0.0132252, 0.999839)
tracks/66/type = "rotation_3d"
tracks/66/imported = true
tracks/66/enabled = true
tracks/66/path = NodePath("Skeleton3D:CC_Base_R_Mid3")
tracks/66/interp = 1
tracks/66/loop_wrap = true
tracks/66/keys = PackedFloat32Array(0, 1, 0.00080329, -9.72428e-05, 0.00064122, 0.999999)
tracks/67/type = "rotation_3d"
tracks/67/imported = true
tracks/67/enabled = true
tracks/67/path = NodePath("Skeleton3D:CC_Base_R_Ring3")
tracks/67/interp = 1
tracks/67/loop_wrap = true
tracks/67/keys = PackedFloat32Array(0, 1, 0.00146734, 0.00017759, 0.00278745, 0.999995)
tracks/68/type = "rotation_3d"
tracks/68/imported = true
tracks/68/enabled = true
tracks/68/path = NodePath("Skeleton3D:CC_Base_R_Thumb3")
tracks/68/interp = 1
tracks/68/loop_wrap = true
tracks/68/keys = PackedFloat32Array(0, 1, -0.0120682, -0.000974711, -0.0132288, 0.999839)
tracks/69/type = "rotation_3d"
tracks/69/imported = true
tracks/69/enabled = true
tracks/69/path = NodePath("Skeleton3D:CC_Base_R_Index3")
tracks/69/interp = 1
tracks/69/loop_wrap = true
tracks/69/keys = PackedFloat32Array(0, 1, 0.00110771, 3.13867e-05, 0.0015478, 0.999998)
tracks/70/type = "rotation_3d"
tracks/70/imported = true
tracks/70/enabled = true
tracks/70/path = NodePath("Skeleton3D:CC_Base_R_Pinky3")
tracks/70/interp = 1
tracks/70/loop_wrap = true
tracks/70/keys = PackedFloat32Array(0, 1, 0.00187476, -0.000119691, 0.0269246, 0.999636)
[sub_resource type="AnimationLibrary" id="AnimationLibrary_o5d5n"]
_data = {
&"0_T-Pose": SubResource("Animation_ghp4k"),
&"player_run": ExtResource("4_tnfid")
}
[node name="ida" node_paths=PackedStringArray("charBody") instance=ExtResource("1_ps5f2")]
script = ExtResource("2_0kyud")
charBody = NodePath("Skeleton3D/default/CharacterBody3D")
[node name="Skeleton3D" parent="." index="0"]
bones/1/position = Vector3(0, 0, 0.747243)
bones/1/rotation = Quaternion(0.746793, -0.000656062, 0.000719953, 0.665056)
bones/3/rotation = Quaternion(0.00342927, 0.16481, 0.986263, -0.0105712)
bones/4/rotation = Quaternion(-0.0283306, 0.00139348, -0.0455882, 0.998558)
bones/5/rotation = Quaternion(0.573449, -0.0233868, 0.0503537, 0.817358)
bones/7/rotation = Quaternion(0.176392, 0.0252998, -0.0196793, 0.983798)
bones/13/rotation = Quaternion(1.20512e-06, 0.00295697, -1.69489e-07, 0.999996)
bones/14/rotation = Quaternion(-3.74397e-06, 0.00369679, 4.24549e-07, 0.999993)
bones/15/rotation = Quaternion(0.0140539, 0.00324285, 0.0227785, 0.999637)
bones/16/rotation = Quaternion(-8.49879e-06, 0.00183599, -6.33664e-05, 0.999998)
bones/17/rotation = Quaternion(-6.33393e-06, -0.00183944, 5.46431e-05, 0.999998)
bones/18/rotation = Quaternion(-0.0035032, 0.166401, 0.985982, 0.0117884)
bones/19/rotation = Quaternion(-1.5175e-05, -0.00180517, 8.42653e-06, 0.999998)
bones/20/rotation = Quaternion(-9.2205e-08, 0.0018083, -2.65941e-07, 0.999998)
bones/21/rotation = Quaternion(-0.0314355, -0.00136438, 0.0438781, 0.998541)
bones/22/rotation = Quaternion(0.572471, 0.0195026, -0.0435234, 0.818537)
bones/23/rotation = Quaternion(0.176598, -0.0253002, 0.0196993, 0.983761)
bones/30/rotation = Quaternion(0.0156109, -0.0034009, -0.0219136, 0.999632)
bones/31/rotation = Quaternion(-6.95506e-05, -0.00300189, -1.16193e-05, 0.999996)
bones/32/rotation = Quaternion(6.69839e-05, -0.00383375, 1.13138e-05, 0.999993)
bones/33/rotation = Quaternion(-0.0340425, -7.21859e-05, -0.000973729, 0.99942)
bones/34/rotation = Quaternion(-0.0142893, 4.17029e-07, 2.35412e-06, 0.999898)
bones/35/rotation = Quaternion(-0.155744, 1.3906e-06, 7.10606e-07, 0.987797)
bones/36/rotation = Quaternion(0.209689, -1.49834e-05, -3.92062e-06, 0.977768)
bones/37/rotation = Quaternion(9.22754e-06, -1.43796e-05, -4.59245e-07, 1)
bones/38/rotation = Quaternion(-0.117614, 3.70241e-05, 4.39154e-07, 0.993059)
bones/41/rotation = Quaternion(7.75534e-07, -1.45903e-05, 0.0534897, 0.998568)
bones/42/rotation = Quaternion(6.78387e-07, -1.02622e-05, 0.0774662, 0.996995)
bones/44/rotation = Quaternion(1, -2.3395e-06, 9.73836e-05, -7.98946e-05)
bones/46/rotation = Quaternion(0.707107, 6.59099e-07, 0.707107, -6.59099e-07)
bones/49/rotation = Quaternion(0.0217149, 0.184737, -0.684925, 0.704471)
bones/50/rotation = Quaternion(0.115174, 0.00109441, 0.00389326, 0.993337)
bones/51/rotation = Quaternion(0.00122656, -0.00178012, -0.000365273, 0.999998)
bones/52/rotation = Quaternion(-6.84993e-07, 0.00218254, -2.16209e-07, 0.999998)
bones/53/rotation = Quaternion(-4.50166e-06, -0.00347628, -2.27264e-06, 0.999994)
bones/54/rotation = Quaternion(0.00577331, 0.00345354, -0.0148316, 0.999867)
bones/55/rotation = Quaternion(-0.020286, -0.000130236, 0.00700611, 0.99977)
bones/56/rotation = Quaternion(0.0214809, -0.00283419, -0.0164266, 0.99963)
bones/57/rotation = Quaternion(-0.00198367, 0.00350004, -9.48353e-05, 0.999992)
bones/58/rotation = Quaternion(0.000804253, 9.73209e-05, -0.000637022, 1)
bones/59/rotation = Quaternion(0.0224229, -0.0034715, -0.0161635, 0.999612)
bones/60/rotation = Quaternion(0.00220363, 0.00525253, -0.000466205, 0.999984)
bones/61/rotation = Quaternion(0.00110733, -3.09424e-05, -0.00153646, 0.999998)
bones/62/rotation = Quaternion(0.0125478, 0.000580957, -0.0148386, 0.999811)
bones/63/rotation = Quaternion(-0.00428584, -0.000131847, -0.0006377, 0.999991)
bones/64/rotation = Quaternion(0.00149855, -0.000177819, -0.00281269, 0.999995)
bones/65/rotation = Quaternion(0.0164298, 0.000373398, -0.0154734, 0.999745)
bones/66/rotation = Quaternion(-0.00906214, -0.00141906, 8.85385e-06, 0.999958)
bones/67/rotation = Quaternion(0.00187784, 0.000119077, -0.0269096, 0.999636)
bones/68/rotation = Quaternion(0.405428, -0.120434, -0.0645488, 0.903857)
bones/69/rotation = Quaternion(-0.165234, -0.0012071, 0.0496694, 0.985002)
bones/70/rotation = Quaternion(-0.0120659, 0.000974872, 0.0132252, 0.999839)
bones/71/rotation = Quaternion(6.75121e-07, -0.000209612, -5.27831e-07, 1)
bones/72/rotation = Quaternion(-1.57516e-06, 0.000211112, 1.02554e-06, 1)
bones/73/rotation = Quaternion(0.0217173, -0.184732, 0.684925, 0.704472)
bones/74/rotation = Quaternion(0.115188, -0.00109309, -0.00388834, 0.993335)
bones/75/rotation = Quaternion(4.45531e-07, 0.000195034, 5.20417e-18, 1)
bones/76/rotation = Quaternion(-1.4581e-06, -0.00019279, -6.61573e-07, 1)
bones/77/rotation = Quaternion(0.00122776, 0.00177987, 0.000358473, 0.999998)
bones/78/rotation = Quaternion(-3.79906e-07, -0.0155731, 4.31151e-07, 0.999879)
bones/79/rotation = Quaternion(-4.7515e-06, 0.0304203, 2.00988e-06, 0.999537)
bones/80/rotation = Quaternion(-0.00900013, -0.0155639, -0.031651, 0.999337)
bones/81/rotation = Quaternion(-0.0202935, 0.000126656, -0.00699925, 0.99977)
bones/82/rotation = Quaternion(0.0214807, 0.002834, 0.0164255, 0.99963)
bones/83/rotation = Quaternion(-0.00198797, -0.00349992, 9.22244e-05, 0.999992)
bones/84/rotation = Quaternion(0.00080329, -9.72429e-05, 0.000641221, 1)
bones/85/rotation = Quaternion(0.0125403, -0.000580493, 0.0147942, 0.999812)
bones/86/rotation = Quaternion(-0.00425005, 0.000131802, 0.000696683, 0.999991)
bones/87/rotation = Quaternion(0.00146734, 0.00017759, 0.00278745, 0.999995)
bones/88/rotation = Quaternion(0.405433, 0.120423, 0.0645565, 0.903856)
bones/89/rotation = Quaternion(-0.165245, 0.00121028, -0.049689, 0.984999)
bones/90/rotation = Quaternion(-0.0120682, -0.000974711, -0.0132288, 0.999839)
bones/91/rotation = Quaternion(0.022423, 0.00347149, 0.0161638, 0.999612)
bones/92/rotation = Quaternion(0.00220499, -0.0052531, 0.000448579, 0.999984)
bones/93/rotation = Quaternion(0.00110771, 3.13866e-05, 0.0015478, 0.999998)
bones/94/rotation = Quaternion(0.0164123, -0.000374001, 0.0154865, 0.999745)
bones/95/rotation = Quaternion(-0.00904071, 0.00141934, -2.04812e-05, 0.999958)
bones/96/rotation = Quaternion(0.00187475, -0.000119691, 0.0269246, 0.999636)
bones/97/rotation = Quaternion(-9.99487e-07, 0.636629, 0.77117, -9.36242e-06)
[node name="default" parent="Skeleton3D" index="0"]
mesh = ExtResource("3_tnfid")
[node name="CharacterBody3D" type="CharacterBody3D" parent="Skeleton3D/default" index="0"]
collision_layer = 6
collision_mask = 6
floor_stop_on_slope = false
floor_max_angle = 0.174533
platform_on_leave = 2
platform_wall_layers = 2
safe_margin = 1.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Skeleton3D/default/CharacterBody3D" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.343679, 0)
shape = SubResource("CapsuleShape3D_0y21p")
[node name="AnimationPlayer" parent="." index="1"]
reset_on_save = false
libraries = {
&"": SubResource("AnimationLibrary_o5d5n")
}
playback_auto_capture = false
speed_scale = 0.8

7
meshes/ida_collisions.gd Normal file
View File

@ -0,0 +1,7 @@
extends CharacterBody3D
func _physics_process(delta: float) -> void:
var hasCollision = move_and_collide(velocity * delta)
if hasCollision:
if hasCollision.get_collider().has_method("playerHit"):
hasCollision.get_collider().playerHit()

View File

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

20
project.godot Normal file
View File

@ -0,0 +1,20 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=5
[application]
config/name="Mobile Run Garbo Game"
run/main_scene="uid://djviifpxqhes3"
config/features=PackedStringArray("4.4", "Mobile")
config/icon="res://icon.svg"
[rendering]
renderer/rendering_method="mobile"

3
resources/character.tres Normal file
View File

@ -0,0 +1,3 @@
[gd_resource type="MultiMesh" format=3 uid="uid://jku7uk7sftqn"]
[resource]

BIN
resources/default.res Normal file

Binary file not shown.

112
scenes/game_world.tscn Normal file
View File

@ -0,0 +1,112 @@
[gd_scene load_steps=18 format=3 uid="uid://djviifpxqhes3"]
[ext_resource type="Script" uid="uid://b2tpu7b87ak68" path="res://scripts/game_engine.gd" id="1_6c6v5"]
[ext_resource type="Script" uid="uid://bgh5muwu1ysof" path="res://scripts/main_view.gd" id="1_wbbl4"]
[ext_resource type="Script" uid="uid://dvhpy5a48w6nl" path="res://scripts/ida_pack.gd" id="2_6c6v5"]
[ext_resource type="Script" uid="uid://cdm3pkabmplbr" path="res://scripts/spawned_gates.gd" id="3_pdbwf"]
[ext_resource type="PackedScene" uid="uid://bewcftupk7t2k" path="res://Objects/player.tscn" id="5_6c6v5"]
[ext_resource type="Script" uid="uid://dm3rne2akywg7" path="res://scripts/control_box.gd" id="5_u1jpj"]
[ext_resource type="Script" uid="uid://du6em4hsmk4st" path="res://Objects/player_prime.gd" id="6_bhwwd"]
[ext_resource type="Script" uid="uid://kkxuvlkbotmx" path="res://scenes/ground_scroll.gd" id="8_pdbwf"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6ll7h"]
resource_local_to_scene = true
albedo_color = Color(0.513233, 0.513233, 0.513233, 1)
uv1_scale = Vector3(1, 10, 10)
[sub_resource type="BoxMesh" id="BoxMesh_bvgre"]
lightmap_size_hint = Vector2i(1554, 1516)
material = SubResource("StandardMaterial3D_6ll7h")
size = Vector3(10, 1, 300)
subdivide_width = 512
subdivide_height = 512
[sub_resource type="BoxShape3D" id="BoxShape3D_ea1x0"]
size = Vector3(10, 1, 300)
[sub_resource type="PlaceholderMesh" id="PlaceholderMesh_dlaip"]
[sub_resource type="BoxMesh" id="BoxMesh_e3xe6"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_bhwwd"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_pdbwf"]
width = 3048
height = 3048
in_3d_space = true
generate_mipmaps = false
seamless = true
normalize = false
noise = SubResource("FastNoiseLite_bhwwd")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_u1jpj"]
albedo_color = Color(0.413112, 0.278715, 0.129439, 1)
albedo_texture = SubResource("NoiseTexture2D_pdbwf")
[sub_resource type="CylinderMesh" id="CylinderMesh_bhwwd"]
material = SubResource("StandardMaterial3D_u1jpj")
radial_segments = 128
rings = 1
cap_top = false
cap_bottom = false
[node name="GameWorld" type="Node3D"]
script = ExtResource("1_6c6v5")
[node name="mainView" type="Camera3D" parent="."]
transform = Transform3D(-1, 4.37115e-08, -7.57103e-08, -1.64863e-08, 0.756196, 0.654346, 8.58542e-08, 0.654346, -0.756196, 0, 7.4595, -1.28195)
current = true
fov = 68.9808
script = ExtResource("1_wbbl4")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="mainView"]
[node name="GroundPlane" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 130.027)
mesh = SubResource("BoxMesh_bvgre")
[node name="StaticBody3D" type="StaticBody3D" parent="GroundPlane"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="GroundPlane/StaticBody3D"]
shape = SubResource("BoxShape3D_ea1x0")
[node name="GamePlane" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="SpawnedGates" type="Node3D" parent="GamePlane" node_paths=PackedStringArray("leftSpawnPoint", "rightSpawnPoint", "ground")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 68.9355)
script = ExtResource("3_pdbwf")
leftSpawnPoint = NodePath("../LeftSpawnPoint")
rightSpawnPoint = NodePath("../RightSpawnPoint")
ground = NodePath("../../GroundPlane")
[node name="LeftSpawnPoint" type="MeshInstance3D" parent="GamePlane"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0, 68.9355)
mesh = SubResource("PlaceholderMesh_dlaip")
[node name="RightSpawnPoint" type="MeshInstance3D" parent="GamePlane"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 0, 68.9355)
mesh = SubResource("PlaceholderMesh_dlaip")
[node name="PlayerPlane" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 2.35106)
[node name="idaPack" type="Node3D" parent="PlayerPlane"]
script = ExtResource("2_6c6v5")
[node name="Player" parent="PlayerPlane/idaPack" instance=ExtResource("5_6c6v5")]
script = ExtResource("6_bhwwd")
[node name="controlBox" type="MeshInstance3D" parent="PlayerPlane"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
visible = false
mesh = SubResource("BoxMesh_e3xe6")
skeleton = NodePath("../idaPack")
script = ExtResource("5_u1jpj")
[node name="groundScroll" type="MeshInstance3D" parent="."]
transform = Transform3D(-1.31134e-05, -300, 0, 300, -1.31134e-05, 0, 0, 0, 300, 0, -150.051, 99.7523)
mesh = SubResource("CylinderMesh_bhwwd")
skeleton = NodePath("../GroundPlane")
script = ExtResource("8_pdbwf")
rotationSpeed = 0.4

View File

@ -0,0 +1,51 @@
[gd_scene load_steps=9 format=3 uid="uid://djviifpxqhes3"]
[ext_resource type="Script" uid="uid://b2tpu7b87ak68" path="res://scripts/game_engine.gd" id="1_6c6v5"]
[ext_resource type="Script" uid="uid://bgh5muwu1ysof" path="res://scripts/main_view.gd" id="1_wbbl4"]
[ext_resource type="Script" uid="uid://dvhpy5a48w6nl" path="res://scripts/ida_pack.gd" id="2_6c6v5"]
[ext_resource type="PackedScene" uid="uid://cwyajw7su6fay" path="res://meshes/ida.tscn" id="3_bhwwd"]
[ext_resource type="Script" uid="uid://dm3rne2akywg7" path="res://scripts/control_box.gd" id="5_u1jpj"]
[sub_resource type="BoxMesh" id="BoxMesh_bvgre"]
size = Vector3(10, 1, 300)
[sub_resource type="BoxShape3D" id="BoxShape3D_ea1x0"]
size = Vector3(10, 1, 300)
[sub_resource type="BoxMesh" id="BoxMesh_e3xe6"]
[node name="GameWorld" type="Node3D"]
script = ExtResource("1_6c6v5")
[node name="mainView" type="Camera3D" parent="."]
transform = Transform3D(-1, 4.37114e-08, -7.57104e-08, -6.27181e-09, 0.827923, 0.560842, 8.71975e-08, 0.560842, -0.827923, 0, 7.4595, -2.14384)
current = true
fov = 68.9808
script = ExtResource("1_wbbl4")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="mainView"]
[node name="GroundPlane" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 130.027)
mesh = SubResource("BoxMesh_bvgre")
[node name="StaticBody3D" type="StaticBody3D" parent="GroundPlane"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="GroundPlane/StaticBody3D"]
shape = SubResource("BoxShape3D_ea1x0")
[node name="GamePlane" type="Node3D" parent="."]
[node name="PlayerPlane" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 2.35106)
[node name="idaPack" type="Node3D" parent="PlayerPlane"]
script = ExtResource("2_6c6v5")
[node name="ida" parent="PlayerPlane/idaPack" instance=ExtResource("3_bhwwd")]
[node name="controlBox" type="MeshInstance3D" parent="PlayerPlane"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
mesh = SubResource("BoxMesh_e3xe6")
skeleton = NodePath("../idaPack")
script = ExtResource("5_u1jpj")

View File

@ -0,0 +1,97 @@
[gd_scene load_steps=15 format=3 uid="uid://djviifpxqhes3"]
[ext_resource type="Script" uid="uid://b2tpu7b87ak68" path="res://scripts/game_engine.gd" id="1_6c6v5"]
[ext_resource type="Script" uid="uid://bgh5muwu1ysof" path="res://scripts/main_view.gd" id="1_wbbl4"]
[ext_resource type="Script" uid="uid://dvhpy5a48w6nl" path="res://scripts/ida_pack.gd" id="2_6c6v5"]
[ext_resource type="Script" uid="uid://cdm3pkabmplbr" path="res://scripts/spawned_gates.gd" id="3_pdbwf"]
[ext_resource type="PackedScene" uid="uid://bewcftupk7t2k" path="res://Objects/player.tscn" id="5_6c6v5"]
[ext_resource type="Script" uid="uid://dm3rne2akywg7" path="res://scripts/control_box.gd" id="5_u1jpj"]
[sub_resource type="Gradient" id="Gradient_uh34q"]
offsets = PackedFloat32Array(0, 0.373016, 1)
colors = PackedColorArray(0.214323, 0.221763, 0.217545, 1, 0.755707, 0.759293, 0.757257, 1, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ph1f2"]
noise_type = 3
frequency = 0.092
offset = Vector3(0, -42.55, 0)
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_odt01"]
height = 1024
generate_mipmaps = false
seamless_blend_skirt = 0.0
normalize = false
color_ramp = SubResource("Gradient_uh34q")
noise = SubResource("FastNoiseLite_ph1f2")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6ll7h"]
resource_local_to_scene = true
albedo_color = Color(0.513233, 0.513233, 0.513233, 1)
albedo_texture = SubResource("NoiseTexture2D_odt01")
uv1_scale = Vector3(1, 10, 10)
[sub_resource type="BoxMesh" id="BoxMesh_bvgre"]
lightmap_size_hint = Vector2i(1554, 1516)
material = SubResource("StandardMaterial3D_6ll7h")
size = Vector3(10, 1, 300)
subdivide_width = 512
subdivide_height = 512
[sub_resource type="BoxShape3D" id="BoxShape3D_ea1x0"]
size = Vector3(10, 1, 300)
[sub_resource type="PlaceholderMesh" id="PlaceholderMesh_dlaip"]
[sub_resource type="BoxMesh" id="BoxMesh_e3xe6"]
[node name="GameWorld" type="Node3D"]
script = ExtResource("1_6c6v5")
[node name="mainView" type="Camera3D" parent="."]
transform = Transform3D(-1, 4.37114e-08, -7.57104e-08, -6.27181e-09, 0.827923, 0.560842, 8.71975e-08, 0.560842, -0.827923, 0, 7.4595, -2.14384)
current = true
fov = 68.9808
script = ExtResource("1_wbbl4")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="mainView"]
[node name="GroundPlane" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 130.027)
mesh = SubResource("BoxMesh_bvgre")
[node name="StaticBody3D" type="StaticBody3D" parent="GroundPlane"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="GroundPlane/StaticBody3D"]
shape = SubResource("BoxShape3D_ea1x0")
[node name="GamePlane" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="SpawnedGates" type="Node3D" parent="GamePlane" node_paths=PackedStringArray("leftSpawnPoint", "rightSpawnPoint", "ground")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 200)
script = ExtResource("3_pdbwf")
leftSpawnPoint = NodePath("../LeftSpawnPoint")
rightSpawnPoint = NodePath("../RightSpawnPoint")
ground = NodePath("../../GroundPlane")
[node name="LeftSpawnPoint" type="MeshInstance3D" parent="GamePlane"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0, 200)
mesh = SubResource("PlaceholderMesh_dlaip")
[node name="RightSpawnPoint" type="MeshInstance3D" parent="GamePlane"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 0, 200)
mesh = SubResource("PlaceholderMesh_dlaip")
[node name="PlayerPlane" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 2.35106)
[node name="idaPack" type="Node3D" parent="PlayerPlane"]
script = ExtResource("2_6c6v5")
[node name="Player" parent="PlayerPlane/idaPack" instance=ExtResource("5_6c6v5")]
[node name="controlBox" type="MeshInstance3D" parent="PlayerPlane"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
mesh = SubResource("BoxMesh_e3xe6")
skeleton = NodePath("../idaPack")
script = ExtResource("5_u1jpj")

6
scenes/ground_scroll.gd Normal file
View File

@ -0,0 +1,6 @@
extends MeshInstance3D
@export var rotationSpeed: float = 10
func _process(delta: float) -> void:
rotation.x -= clampf(rotationSpeed, -rotationSpeed * delta, rotationSpeed * delta)

View File

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

20
scripts/control_box.gd Normal file
View File

@ -0,0 +1,20 @@
extends MeshInstance3D
var movingTowards: Vector3
var currentLocation: Vector3
func _ready() -> void:
GameEngine.getGE().controlBox = self
currentLocation = self.position
movingTowards = currentLocation
func _process(delta: float) -> void:
var currentMousePos = GameEngine.getGE().mainCamera.getMouseRayCast();
if currentMousePos != Vector3.INF && currentMousePos != movingTowards:
movingTowards.x = currentMousePos.x
self.position = self.position.move_toward(movingTowards, GameEngine.getGE().getGameSpeed(delta))
func getMoveToLocation() -> Vector3:
return self.position

View File

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

80
scripts/game_engine.gd Normal file
View File

@ -0,0 +1,80 @@
extends Node
class_name GameEngine
enum OPS {ADD,SUB,MUL,DIV}
static var gameEngineInstance: GameEngine = null
static var idaArray: Array
var idaCount: int
var gameSpeed: float = 3.0
var mainCamera: Camera3D = null
static var idaPack: Node3D = null
var idaBase: PackedScene = (load("res://Objects/playerClone.tscn") as PackedScene)
static var idaPrime: Node3D = null
var controlBox: Node3D = null
var gateSpawner: Node3D = null
var gateMovementSpeed: float = 10.0
var gateSpawnTime: float = 2.0
var gateSpawnChance: int = 3
func setupEngine() -> void:
idaArray.clear()
idaCount = 0
static func getGE() -> GameEngine:
if gameEngineInstance == null:
gameEngineInstance = GameEngine.new()
gameEngineInstance.setupEngine()
return gameEngineInstance
func moveIda(ida: Node3D, delta: float, prime: bool) -> void:
if prime:
idaPack.position.x = idaPack.position.move_toward(getGE().controlBox.getMoveToLocation(), getGE().getGameSpeed(delta)).x
ida.look_at(getGE().controlBox.getMoveToLocation(), Vector3(0,1,0), true)
func _process(delta: float) -> void:
moveIda(idaPrime, delta, true)
for ida in idaArray:
moveIda(ida, delta, false)
func getGameSpeed(delta: float) -> float:
return gameSpeed * delta
func calculateIdas(value: int) -> void:
var newValue: int = idaCount + value
if newValue < 0:
newValue = 0
idaCount = clampi(idaCount + value, 0, 2000)
var idaOffset: int = idaArray.size() - idaCount
print(str(idaCount) + " - " + str(idaOffset))
for i in range(abs(idaOffset)):
if idaOffset < 0:
var newIda = idaBase.instantiate()
newIda.position = (idaPrime.position + (Vector3(-1.5 + randf() * 3, 0, -1.5 + randf() * 1.5)))
idaPack.add_child(newIda)
idaArray.push_back(newIda)
elif idaOffset > 0:
var currentIda = idaArray.pop_at(randi() % idaArray.size())
currentIda.queue_free()
func modifyIdas(value: int, operation: OPS) -> void:
var baseVal: int = 0
match operation:
OPS.ADD:
baseVal += value
OPS.SUB:
baseVal -= value
OPS.MUL:
var newVal = ceil((1 + idaCount) * value) - idaCount
baseVal += newVal - 1
OPS.DIV:
if idaCount != 0:
var newVal = floor(float(1 + idaCount) / value)
baseVal -= idaCount - (newVal - 1)
else:
baseVal = 0
calculateIdas(baseVal)

View File

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

50
scripts/gate_base.gd Normal file
View File

@ -0,0 +1,50 @@
extends "res://scripts/obsticle_base.gd"
var operation: GameEngine.OPS
var value: int
@onready var screenObject: MeshInstance3D = $Screen
@onready var signObject: MeshInstance3D = $Screen/Sign
var screenGreenMat: StandardMaterial3D = preload("res://materials/sign_green.material")
var screenRedMat: StandardMaterial3D = preload("res://materials/sign_red.material")
func playerHit() -> void:
GameEngine.getGE().modifyIdas(value, operation)
physicsBody.queue_free()
func updateSignText(valueIn: int, opSign: String, negative: bool) -> void:
signObject.mesh.text = opSign + " " + str(valueIn)
if negative:
screenObject.mesh.material = screenRedMat
else:
screenObject.mesh.material = screenGreenMat
func _ready() -> void:
var opPreSelected: int = randi() % 100
var minValue: int = 2
var maxValue: int = 10
var opSign: String = ""
var negative: bool = false
if (opPreSelected < 35):
operation = GameEngine.OPS.ADD
opSign = "+"
elif (opPreSelected < 70):
operation = GameEngine.OPS.SUB
opSign = "-"
negative = true
elif (opPreSelected < 85):
operation = GameEngine.OPS.MUL
opSign = "x"
maxValue = 5
elif (opPreSelected < 100):
operation = GameEngine.OPS.DIV
opSign = "÷"
maxValue = 5
negative = true
value = randi() % maxValue
if value < minValue:
value = minValue
updateSignText(value, opSign, negative)

1
scripts/gate_base.gd.uid Normal file
View File

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

4
scripts/ida_pack.gd Normal file
View File

@ -0,0 +1,4 @@
extends Node3D
func _ready() -> void:
GameEngine.getGE().idaPack = self

1
scripts/ida_pack.gd.uid Normal file
View File

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

22
scripts/main_view.gd Normal file
View File

@ -0,0 +1,22 @@
extends Camera3D
func _ready() -> void:
GameEngine.getGE().mainCamera = self
func getMouseRayCast() -> Vector3:
var mousePos: Vector2 = get_viewport().get_mouse_position()
var originPoint: Vector3 = self.project_ray_origin(mousePos)
var directionVec: Vector3 = self.project_ray_normal(mousePos)
var rayLen: float = self.far
var endPoint: Vector3 = originPoint + directionVec * rayLen
var spaceState = get_world_3d().direct_space_state
var query = PhysicsRayQueryParameters3D.create(originPoint, endPoint)
var result = spaceState.intersect_ray(query)
if not result.is_empty():
return result["position"]
else:
return Vector3.INF

1
scripts/main_view.gd.uid Normal file
View File

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

15
scripts/obsticle_base.gd Normal file
View File

@ -0,0 +1,15 @@
extends Node3D
@export var physicsBody: PhysicsBody3D
func playerHit() -> void:
pass
func moveObsticle(moveDistance: float) -> void:
position.z -= moveDistance
func _physics_process(delta: float) -> void:
if is_instance_valid(physicsBody):
var hasCollision = physicsBody.move_and_collide(Vector3(0,0,-1), true)
if hasCollision:
if hasCollision.get_collider().has_meta("isPlayer"):
playerHit()

View File

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

36
scripts/spawned_gates.gd Normal file
View File

@ -0,0 +1,36 @@
extends Node3D
var gateArray: Array = []
var spawnTimer: float = 0.0
@export var leftSpawnPoint: Node3D = null
@export var rightSpawnPoint: Node3D = null
@export var ground: MeshInstance3D = null
func _ready() -> void:
GameEngine.getGE().gateSpawner = self
func generateGateStats(spawnFrom: Node3D) -> void:
var newGate: Node3D = (load("res://Objects/gate_base.tscn") as PackedScene).instantiate()
newGate.position = spawnFrom.position
self.add_child(newGate)
gateArray.push_back(newGate)
func _process(delta: float) -> void:
for gate in gateArray:
if gate.position.z <= -300:
gateArray.erase(gate)
gate.queue_free()
else:
gate.moveObsticle(GameEngine.getGE().gateMovementSpeed * GameEngine.getGE().getGameSpeed(delta))
if spawnTimer >= GameEngine.getGE().gateSpawnTime:
var spawnLeft: bool = ((randi() % GameEngine.getGE().gateSpawnChance) == 0)
var spawnRight: bool = ((randi() % GameEngine.getGE().gateSpawnChance) == 0)
spawnTimer = 0.0
if spawnLeft:
generateGateStats(leftSpawnPoint)
if spawnRight:
generateGateStats(rightSpawnPoint)
else:
spawnTimer += delta

View File

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

View File

@ -0,0 +1,14 @@
shader_type spatial;
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
// Called for every pixel the material is visible on.
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

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