diff --git a/assets/converted/individuals/balls/billiard_ball_mat_baseColor.png b/assets/converted/individuals/balls/billiard_ball_mat_baseColor.png new file mode 100644 index 0000000..43fbb5e Binary files /dev/null and b/assets/converted/individuals/balls/billiard_ball_mat_baseColor.png differ diff --git a/assets/converted/individuals/balls/billiard_ball_mat_baseColor.png.import b/assets/converted/individuals/balls/billiard_ball_mat_baseColor.png.import new file mode 100644 index 0000000..4ad14f1 --- /dev/null +++ b/assets/converted/individuals/balls/billiard_ball_mat_baseColor.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn4cqc7qmvdft" +path.s3tc="res://.godot/imported/billiard_ball_mat_baseColor.png-62e10d1cb1ceefcc74241b18811fddc1.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/converted/individuals/balls/billiard_ball_mat_baseColor.png" +dest_files=["res://.godot/imported/billiard_ball_mat_baseColor.png-62e10d1cb1ceefcc74241b18811fddc1.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=0 diff --git a/assets/converted/individuals/balls/billiard_ball_mat_metallicRoughness.png b/assets/converted/individuals/balls/billiard_ball_mat_metallicRoughness.png new file mode 100644 index 0000000..5587a55 Binary files /dev/null and b/assets/converted/individuals/balls/billiard_ball_mat_metallicRoughness.png differ diff --git a/assets/converted/individuals/balls/billiard_ball_mat_metallicRoughness.png.import b/assets/converted/individuals/balls/billiard_ball_mat_metallicRoughness.png.import new file mode 100644 index 0000000..6146fa0 --- /dev/null +++ b/assets/converted/individuals/balls/billiard_ball_mat_metallicRoughness.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfsg6dmymh16w" +path.s3tc="res://.godot/imported/billiard_ball_mat_metallicRoughness.png-07dc58746be0b125f6d186b6ca6d94b5.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/converted/individuals/balls/billiard_ball_mat_metallicRoughness.png" +dest_files=["res://.godot/imported/billiard_ball_mat_metallicRoughness.png-07dc58746be0b125f6d186b6ca6d94b5.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=0 diff --git a/project.godot b/project.godot index 5464b1b..7cf9d35 100644 --- a/project.godot +++ b/project.godot @@ -15,6 +15,7 @@ config/description="A billiards game with many game mode options plus the abilit run/main_scene="uid://04nv87epssf4" run/print_header=false config/features=PackedStringArray("4.5", "Forward Plus") +run/max_fps=30 boot_splash/bg_color=Color(0, 0, 0, 1) boot_splash/image="uid://cwqth1sgffu3c" config/icon="res://icon.svg" @@ -27,6 +28,7 @@ MessageBus="*res://globals/message_bus.gd" [editor] +movie_writer/fps=30 naming/node_name_casing=2 naming/script_name_casing=2 diff --git a/scenes/individual_parts/balls/balls.tscn b/scenes/individual_parts/balls/balls.tscn index 78a4f40..c61d5a2 100644 --- a/scenes/individual_parts/balls/balls.tscn +++ b/scenes/individual_parts/balls/balls.tscn @@ -584,6 +584,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.62) [node name="white_ball" parent="bodies" instance=ExtResource("3_sma13")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.62) +axis_lock_linear_y = false [node name="01_ball" type="RigidBody3D" parent="bodies"] collision_layer = 3 diff --git a/scenes/individual_parts/cue/cue_base.gd b/scenes/individual_parts/cue/cue_base.gd index 75c77c5..f0c508d 100644 --- a/scenes/individual_parts/cue/cue_base.gd +++ b/scenes/individual_parts/cue/cue_base.gd @@ -43,6 +43,8 @@ func cue_kick() -> void: animation_player.stop() animation_player.set_current_animation("RESET") + # NOTE: If 'set_speed_scale' set to a negative value, the animation + # is played in reverse. If set to 0, the animation will not advance. animation_player.set_speed_scale( -1 / animation_player.get_current_animation_position() ) diff --git a/scenes/individual_parts/cue/cue_multiplayer.gd b/scenes/individual_parts/cue/cue_multiplayer.gd index 0a0ad99..2e82ca3 100644 --- a/scenes/individual_parts/cue/cue_multiplayer.gd +++ b/scenes/individual_parts/cue/cue_multiplayer.gd @@ -21,10 +21,13 @@ func rpc_input(event: String) -> void: if event == "aim_pulse": animation_player.play("aim_pulse") elif event == "aim_release": + if animation_player.get_current_animation_position() < 0.2: + animation_player.set_current_animation("RESET") + return + # NOTE: Here, 'anim_pos' is used to gague strength of impulse pool_cue_tip.anim_pos = animation_player.get_current_animation_position() - cue_shape.set_deferred("disabled", false) - + cue_shape.disabled = false cue_kick() @rpc("any_peer", "call_remote", "reliable") diff --git a/scenes/individual_parts/cue/cue_tips/pool_cue_tip.gd b/scenes/individual_parts/cue/cue_tips/pool_cue_tip.gd index 11260b5..f5dc461 100644 --- a/scenes/individual_parts/cue/cue_tips/pool_cue_tip.gd +++ b/scenes/individual_parts/cue/cue_tips/pool_cue_tip.gd @@ -2,11 +2,11 @@ class_name PoolCueTip extends Area3D const MAX_CHARGE_TIME: float = 2.0 -const EFFECTIVE_CHARGE: float = 1.2 -const DEAD_TIME: float = 0.18 # seconds (tweak 0.1 – 0.18) +const EFFECTIVE_CHARGE: float = 1.8 +const DEAD_TIME: float = 0.2 -const MIN_FORCE: float = 0.03 -const MAX_FORCE: float = 1.4 +const MIN_FORCE: float = 0.2 +const MAX_FORCE: float = 2.0 var anim_pos: float = 0.0 var impulse: Vector3 = Vector3.ZERO @@ -18,12 +18,12 @@ func _on_body_entered(body: Node) -> void: var usable = min(anim_pos - DEAD_TIME, EFFECTIVE_CHARGE) var time = usable / EFFECTIVE_CHARGE var direction = -global_transform.basis.z - time = pow(time, 0.6) + time = pow(time, 2) impulse = lerp(MIN_FORCE, MAX_FORCE, time) * direction body.apply_impulse( impulse, - body.global_position - $shape.global_position + $shape.global_position - body.global_position ) #body.apply_central_impulse(impulse) diff --git a/scenes/individual_parts/table/ball_detector.tscn b/scenes/individual_parts/table/ball_detector.tscn index 8fd6f40..6b7fe9c 100644 --- a/scenes/individual_parts/table/ball_detector.tscn +++ b/scenes/individual_parts/table/ball_detector.tscn @@ -1,51 +1,6 @@ -[gd_scene load_steps=8 format=4 uid="uid://bvcrjsid0ovw0"] +[gd_scene load_steps=3 format=3 uid="uid://bvcrjsid0ovw0"] [ext_resource type="Script" uid="uid://dhlnn74on8qfa" path="res://scenes/individual_parts/table/ball_detector.gd" id="1_xepxh"] -[ext_resource type="Texture2D" uid="uid://bfktfrmou6dd5" path="res://assets/converted/individuals/white_ball/billiard_ball_mat_baseColor.png" id="2_gplgj"] -[ext_resource type="Texture2D" uid="uid://bru1jrugev0cv" path="res://assets/converted/individuals/white_ball/billiard_ball_mat_metallicRoughness.png" id="3_hjc50"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d2qia"] -resource_name = "billiard_ball_mat.002" -cull_mode = 2 -albedo_texture = ExtResource("2_gplgj") -metallic_texture = ExtResource("3_hjc50") -metallic_texture_channel = 2 -roughness_texture = ExtResource("3_hjc50") -roughness_texture_channel = 1 - -[sub_resource type="ArrayMesh" id="ArrayMesh_v1ebh"] -_surfaces = [{ -"aabb": AABB(-0.028575, -0.028574998, -0.031198442, 0.05715, 0.057150006, 0.057150066), -"format": 34896613377, -"index_count": 576, -"index_data": PackedByteArray("QgBDAAAAAABDAEQAQgASAEMARQBCAAAABgASAEIAIgAGAEIAIgBCAEUAEgAGABUAFQAGACIAEgAuAEMAFQAvABIALgASAC8AIgAkABUAIwAiAEUAJAAiACMALwAVAEYARgAVACQARgBHAC8AJABIAEYAMAAvAEcALwAwAC4ARwAYADAAMQBHAEYAMQBGAEgAMgAYAEcAMgBHADEAMAAYAAkACQAYADIACQBJADAALgAwAEkAMgA1AAkANAAyADEANQAyADQASQAJAEoASgAJADUASQAKAC4ASgBLAEkACgBJAEsASwAaAAoAOQBLAEoAEAAaAEsAEABLADkATAAaABAACgAaAEwALgAKAE0ATABNAAoATQAtAC4AQwAuAC0AQwAtAEQARAAtABQALQBNAE4ATgAUAC0ATQBMAAIAAgBOAE0AAgBMADwAEAA8AEwARAAUABEAEQAUAE4AEQAoAEQAAABEACgAEQBOACwALABOAAIAKAARACoAKgARACwAKABPAAAARQAAAE8ALAACAFAAPABQAAIAHgAsAFAAKgAsAB4AHgBQAB0ADgBFAE8AUAA8ABsAGwAdAFAAOwAbADwAPAAQADsAUQAdABsAHgAdAFEAOwAQADkAUQArAB4AKgAeACsAPQBRABsAPQAbADsAKwBRAAMAAwBRAD0AKwAfACoAAwBSACsAHwArAFIAUgAgAB8APwBSAAMAIQAgAFIAUgA/ACEAIQBTACAAIABTAB8AHwApACoAUwApAB8AKQAHACoAKgAHACgATwAoAAcABwATAE8ADgBPABMAVAATAAcADgATAFQAKQBUAAcAUwAEACkABABUACkAVQAEAFMAIQBVAFMAJwBUAAQAVAAnAA4AVQBWAAQABABWACcAQQBVACEAQQAhAD8ACABWAFUAQQAIAFUACAAXAFYAFgAnAFYAVgAXABYAIwAOACcAJwAWACMAIwBFAA4AVwAXAAgAFwBXABYAFgAmACMAVwAmABYAJgAMACMAIwAMACQASAAkAAwADAAlAEgACABYAFcAWAAIAEEAVwBZACYAWQBXAFgAJgBaAAwAWQBaACYAWgAlAAwAAQBIACUAAQAlAFoAAQAxAEgANAAxAAEAWgAzAAEAMwBaAFkANAABADMAWQANADMAWAANAFkAMwA2ADQANgAzAA0ADQBYAEAADQBbADYAQABbAA0AQQBAAFgAWwAZADYAGQBbAEAANgA3ADQAGQA3ADYANwALADQANAALADUAXABAAEEAXAAZAEAADwBcAEEAPwAPAEEAXQAZAFwAGQBdADcAXgBcAA8AXgBdAFwAPgBeAA8ADwA/AF8AXwA+AA8AAwBfAD8AXwADAD0APgBfABwAXwA9ABwAXgA+ABwAHAA9ADsAHAA6AF4AOgAcADsAXQBeADoAOwAFADoAOgBgAF0AXQBgADcAYAA6AAUAOwA5AAUANwBgAAsABQA4AGAAYAA4AAsABQA5AGEABQBhADgACwA4AGEAOQBKAGEAYQA1AAsANQBhAEoA"), -"lods": [0.0028408587, PackedByteArray("BgASAAAADgAGAAAAEgAGABUAIgAGAA4AFQAGACIAIwAiAA4AIgAkABUAJAAiACMAIwAMACQAJQAkAAwAJAAlABUAJgAMACMAJgAlAAwAFgAmACMAIwAOACcAJwAWACMAFwAmABYAFgAnABcADQAlACYAFwANACYABAAnAA4ABAAXACcADgATAAQADgAAABMAIQAXAAQAKAATAAAABAATAAcAEwAoAAcAAAAUACgAKQAEAAcAAAASABQAIAAEACkAIQAEACAAKQAHACoAKgAHACgAIAApAB8AHwApACoAAwAgAB8AIQAgAAMAEQAoABQAKAARACoAKwAfACoAHwArAAMAKgAeACsAKgARACwAKgAsAB4AHQArAB4AHgAsAB0AKwAdAAMAEQACACwAEQAUAAIALAACAB0AAgAUAC0AEgAtABQALQAKAAIAEgAuAC0ACgAtAC4ALgASAC8AFQAvABIAMAAKAC4ALwAwAC4ACgAaAAIACgAwABoAMAAvABgAFQAYAC8AMAAYAAkACQAaADAAMQAYABUAMQAVACUAMgAYADEACQAYADIAAQAxACUAJQAzAAEANAAxAAEANAAyADEANAABADMAMwAlAA0ANQAyADQAMgA1AAkAMwA2ADQANgAzAA0ANAALADUANgA3ADQANwALADQAOAA1AAsANwA4AAsANQA4AAkAGQA3ADYADQAZADYAGQA4ADcAOQAJADgAOQAaAAkABQA5ADgAEAAaADkAOAA6AAUAOgA4ABkAOwA5AAUAOwAFADoAOwAQADkAEAA8ABoAPAAQADsAAgAaADwAPAAdAAIAOwAbADwAHQA8ABsAOgAcADsAPQAdABsAPQAbADsAHAA9ADsAAwAdAD0AHAA6AD4APgA9ABwAPgADAD0AGQA+ADoAAwA+AD8AAwA/ACEAPgAZAA8ADwA/AD4ADwAZAEAAGQANAEAAPwAPAEEAQQAhAD8ADwBAAEEAQQAIACEAQAAIAEEACAAXACEADQAXAEAACABAABcA"), 0.0045521096, PackedByteArray("BgASAAAADgAGAAAADgAAABMABwATAAAADgATAAQABAATAAcAAAAUAAcAAAASABQADAAGAA4ABgAMABUAEgAGABUADgAWAAwADAABABUAFgABAAwAFgAOABcABAAXAA4AFQAYABIAAQAYABUADQABABYAFwANABYACwAYAAEACAANABcAGAALAAkACQASABgAAQAZAAsAGQABAA0ACwAFAAkAGQAFAAsAEgAJAAoAEgAKABQABQAaAAkACgAJABoAEAAaAAUAFAAKAAIACgAaAAIAEAAbABoAAgAaABsABQAcABAAGQAcAAUAHAAbABAADwAZAA0AHAAZAA8ADwANAAgAHAADABsADwADABwAGwAdAAIAAwAdABsAHgACAB0AHgAdAAMAEQACAB4AEQAUAAIAEQAeAAMAEQAHABQAHwAHABEAAwAfABEAHwAEAAcAAwAgAB8AIAAEAB8AIQAgAAMAIQAEACAAAwAPACEACAAhAA8AIQAXAAQACAAXACEA"), 0.011153684, PackedByteArray("BgAKAAAABgAJAAoABQAKAAkAAQAJAAYACwAFAAkACwAJAAEADAABAAYACwABAA0ACAABAAwADQABAAgADAAGAA4ADgAIAAwADgAGAAAADwALAA0ADwANAAgACwAPAAUABAAIAA4ADgAAAAQAAwAPAAgACAAEAAMABQAPABAAEAAKAAUADwADABAAAgAKABAAAAAKAAIAAwACABAABAAAAAcAAwAEAAcAEQAAAAIAEQACAAMAEQAHAAAAAwAHABEA"), 0.020460369, PackedByteArray("BgACAAAABwAAAAIABAAAAAcABgAAAAQABwACAAMAAwAEAAcABAAIAAYACAAEAAMABgAJAAIACAABAAYAAQAJAAYAAwABAAgABQACAAkAAwACAAUAAQAFAAkAAQADAAUA"), 0.035439603, PackedByteArray("AAABAAIABAABAAAABAAAAAIAAwABAAQABAACAAMABQACAAEAAwACAAUAAQADAAUA"), 0.05620349, PackedByteArray("AAABAAIAAQADAAIAAAACAAMAAwABAAAA")], -"name": "billiard_ball_mat.002", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 98, -"vertex_data": PackedByteArray("GTblyeXJAACjTf9/UgoAAOXJ5cnlyQAA5ckZNuXJAAAZNhk25ckAAKz1/3+jTQAAfSWB2v9/AACjTf9/rPUAAKNNUgr/fwAA/qo/1b8qAABbsqz1/38AAFuy/39SCgAAUgr/f6NNAAAAVb8qvyoAAFIK/39bsgAAW7JSCv9/AACs9Vuy/38AAP9/W7Ks9QAAo02s9f9/AAB9Jf9/gdoAAP9/gdqB2gAAvyo/1QBVAABSCqNN/38AAH0lfSX/fwAA/3+B2n0lAAD+qr8qvyoAAIHagdr/fwAArPX/f1uyAACs9aNN/38AAIHa/3+B2gAAW7L/f6z1AAD/f6NNrPUAAP9/fSWB2gAA/39SCluyAABSCluy/38AAAAA/3//fwAAchLOrjBRAAB9Jf9/fSUAAHISMFEwUQAAchIwUc6uAAAwUc6ujO0AADBRMFGM7QAA/3//f///AADOrjBRjO0AAM6uzq6M7QAA/3+s9VuyAAD/f////38AADBRjO0wUQAA/3+s9aNNAAAwUc6uchIAAP9/W7JSCgAAMFEwUXISAAD/f/9/AAAAAM6uzq5yEgAA/3+jTVIKAADOrjBRchIAAIHa/399JQAAjO3OrjBRAACM7TBRMFEAAP///3//fwAAjO3Ors6uAACM7TBRzq4AAIHafSX/fwAAzq5yEs6uAAD/f1IKo00AAP9/AAD/fwAAvyo/1f6qAAAwUYztzq4AAABVP9U/1QAAchLOrs6uAAAZNuXJGTYAAABVP9W/KgAAvyr+qr8qAADOroztMFEAAOXJ5ckZNgAAP9U/1QBVAAA/1T/V/qoAAM6ujO3OrgAA/qo/1T/VAAC/Kv6qP9UAAD/V/qo/1QAAP9UAVT/VAAD+qr8qP9UAAABVvyo/1QAAvyoAVT/VAAAwUXISzq4AAL8qvyr+qgAAvyq/KgBVAAAwUXISMFEAABk2GTYZNgAAvyoAVb8qAAD/f30lfSUAAM6uchIwUQAA5ckZNhk2AAA/1b8qAFUAAD/Vvyr+qgAAP9UAVb8qAAA/1f6qvyoAAA==") -}] -blend_shape_mode = 0 - -[sub_resource type="ArrayMesh" id="ArrayMesh_dq2y1"] -resource_name = "white_ball_billiard_ball015_billiard_ball_mat_0_002" -_surfaces = [{ -"aabb": AABB(-0.028575, -0.028574998, -0.031198442, 0.05715, 0.057150006, 0.057150066), -"attribute_data": PackedByteArray("LTS4Ce43gBW+S7gJvktJIfMJuAmDIbgJgyFJIS00SSG4UoAV8wlJIYcxEgfuN0Mo0EbpB7QNgBX9R70CuFJ5Df1HQygzLYAVMy2AFRs5GCP9R4AVuxV5De43vQKHMYAV9j8SB14y6QczLYgd9j8SB2ROEge4UoAVZE6AFbhSiB3QRhgj9j9DKPY/7iOHMe4jwx2AFSkkgBW7FRIHuxWIHbsV7iNNB4AVMy15DY0rgBX2P70Cfi73HPY/GAF/OAkE9j+9An84Cg5tUQoObVEKDl5UgBVtUfccZE7uI21R9xxkToAVbEf4JvY/6Sn2P0Mofi73HH4uCg6HMYAVfzj3HPY/iB32P4AVbEf3HPY/eQ1sRwoOMh0KDrsVgBUyHfccRQ4KDkUO9xxeMukHfzgJBBs56QfQRukHbEcJBI1N6Qd+LgoOXjKlDl4yWxxeMhgjfzj4Jhs5GCPQRhgjXjIYI384+CYtNEkhXjJbHPY/7iNeMqUObEf4Jr5LSSGNTRgjjU0YI41NWxyNTaUOjU3pB2xHCQS+S7gJjU2lDo1NWxwbOekHLTS4CVMjpQ6WHOkHUyNbHOAO6QckCKUOJAhbHOAOGCOWHBgj"), -"format": 34896613399, -"index_count": 576, -"index_data": PackedByteArray("SgBLAAAAAABLAEwASwAsAEwATAAsABgATQAYACwALABOAE0AAgBNAE4ASwAuACwATgAsAC4ATgBPAAIAFgAuAEsASgAWAEsACgAWAEoAUABKAAAAUAAAAFEAKgAKAEoAKgBKAFAAFgAKABkAGQAKACoAGQAvABYALgAWAC8AEQBQAFEAEQBRABcAEQAXAFIAKwBQABEAKwAqAFAAUgAtABEAKwARAC0ALQBSAAcAPQAqACsAKgA9ABkALQAaACsABwBTAC0AGgAtAFMAVABTAAcAVAAHAFUAUwAjABoAIQBUAFUAIQBVACIAIQAiAFYACwBTAFQACwAjAFMAOgBUACEAOgALAFQAVgA5ACEAOgAhADkAOQBWAAMAVwAjAAsAIwBXABoACwBYAFcAWAALADoAVwA8ABoAGgA8ACsAWQBXAFgAVwBZADwAOgA7AFgAPAASACsAKwASAD0AWQBaADwAPABaABIAWAATAFkAEwBYADsAPwBaAFkAWQATAD8AWgA+ABIAOwBbABMAAQA+AFoAWgA/AAEAEgA+AFwAAQBcAD4AXAA9ABIAEwBbAEAAQAA/ABMAWwAgAEAAIABbADsAPwBAAEEAQQABAD8AIABCAEAAQABCAEEAXQAgADsAXQA7ADoAIABeAEIAXgAgAF0AEABdADoAOQAQADoAXwBeAF0AXwBdABAAEAA5AGAANgBfABAAYAA2ABAAAwBgADkAXwA2AB8ANgBgAB8AYAADADUAYAA1AB8AAwBhADUAHwA3AF8AXgBfADcAHwA1ADQANwAfADQANQBhAB0ANQAdADQAYQAeAB0AHQAeAGIAYgAyAB0ANAAdADIAMgBiAAIAAgBPADIAMgAPADQADwAyAE8ATwAcAA8ADgAcAE8ATwBOAA4ALgAOAE4AYwAcAA4ADwAcAGMAZAAOAC4ADgBkAGMADwBjADMANAAPADMAZQBjAGQAMwBjAGUALgAwAGQALwAwAC4AZAAMAGUADABkADAANAAzAAgANAAIADcAMwBlAGYACAAzAGYAMAAbAAwACABmADgAZwA3AAgACAA4AGcANwBnAF4AXgBnAEIAZwA4ABQAQgBnABQAFAA4AGYAQgAUAEEAZgBEABQARABmAGUAQQAUAEQAZQAMAEQAQwBEAAwARABDAEEADAAbAEMAQQBDADEAQQAxAAEAAQAxAFwAQwAbAGgAQwBoADEAaAAbADAAMAAvAGgAMQBoAGkAMQBpAFwAaQBoAC8APQBcAGkALwAZAGkAaQAZAD0ARQAFAGoARQBrAAUAJABFAGoAJABqACUAJAAlAGwAFQBrAEUAFQAmAGsAbQAmABUARgAVAEUARgBFACQAFQBIAG0ASAAVAEYABABtAEgASABuAAQAbgBIAA0ARgANAEgADQApAG4AbwApAA0ASQBvAA0ASQANAEYACQBvAEkAcAAJAEkAcABJACcAJwBJAEYAKABwACcAcQAoACcARwAnAEYAJwBHAHEARgAkAEcABgBxAEcAbABHACQARwBsAAYA"), -"lods": [0.0028408587, PackedByteArray("CgAWAAAAEQAKAAAAEQAAABcAAAAWABgAEQAXAAcAKgAKABEAGQAKACoAFgAKABkAKwAqABEAFgAsABgAAgAYACwABwAtABEAKwARAC0AFgAuACwALAAOAAIADgAsAC4ALgAWAC8AGQAvABYAMAAOAC4ALwAwAC4ADgAcAAIADgAwABwAMAAvABsAGQAbAC8AMAAbAAwADAAcADAAMQAbABkAAgAcADIAMgAeAAIADwAyABwAHgAyAB0ADwAcADMAMwAcAAwAMgAPADQANAAPADMANAAdADIANQAeAB0ANQAdADQAAwAeADUANAAzAAgAHwA1ADQANgADADUANgA1AB8ANwAfADQANAAIADcAHwA3ADYACAAzADgAOAA3AAgAMwAMADgAIAA2ADcANwA4ACAAAwA2ADkAAwA5ACEAIQAiAAMAEAA5ADYANgAgABAAIQAHACIAOgAhADkAOQAQADoAIQAjAAcABwAjAC0AOgALACEACwAjACEAEAA7ADoAOwALADoACwA7ACMAEAAgADsAGgAtACMALQAaACsAEwAjADsAIAATADsAIwA8ABoAGgA8ACsAIwATADwAPAASACsAKwASAD0APQAqACsAKgA9ABkAPgA9ABIAPAA+ABIAPQA+ABkAEwA+ADwAMQAZAD4AAQAxAD4APwA+ABMAPgA/AAEAQAA/ABMAEwAgAEAAQQABAD8AQQAxAAEAPwBAAEEAIABCAEAAQABCAEEAIAA4AEIAQgAUAEEAQgA4ABQAQQBDADEAQwAbADEADAAbAEMARABDAEEAQwBEAAwAQQAUAEQARAA4AAwAOABEABQARQAFACUAJABFACUAFQAFAEUAFQAmAAUARgBFACQARgAVAEUAJQBHACQARgAkAEcARwAlAAYAJwBHAAYARwAnAEYABgAoACcAFQBIACYASAAVAEYABAAmAEgASAApAAQAKABJACcAJwBJAEYAKAAJAEkARgANAEgAKQBIAA0ASQANAEYACQApAA0ASQAJAA0A"), 0.0045521096, PackedByteArray("CgAWAAAAEQAKAAAAEQAAABcAAAAWABgAEQAXAAcAEgAKABEACgASABkAFgAKABkAEQAaABIAFgAOABgAGAAOAAIAEgABABkAGgABABIAGQAbABYAAQAbABkAFgAMAA4ADAAWABsADgAcAAIADgAMABwAAgAcAB0AHQAeAAIAAwAeAB0ADwAdABwAGwAUAAwAFAAbAAEACAAcAAwAFAAIAAwADwAcAAgAHwAdAA8ACAAfAA8AHwADAB0AIAAIABQAIAAfAAgAAQAgABQAEAADAB8AHwAgABAAIAABABMAEAAgABMAEwABABoAEAATAAsAAwAQACEACwAhABAAIQAiAAMAIQAHACIACwAjACEAIQAjAAcACwATACMAIwATABoABwAjABEAGgARACMAJAAFACUAJAAlAAYAFQAFACQAFQAkAAYAFQAmAAUABgAnABUABgAoACcAKAAJACcAJwANABUAFQANACYAJwAJAA0ABAAmAA0ACQApAA0ADQApAAQA"), 0.011153684, PackedByteArray("CgAOAAAAAAAOAAIAAgAOAA8AAwACAA8ADwAOAAgAEAADAA8ACAAQAA8AAwAQAAsACAAOAAwACgAMAA4ACwAHAAMAEQAAAAcAEQAKAAAABwALABEAEgAKABEAEQALABIAEgABAAoAAQAMAAoACwABABIAEwABAAsAEAATAAsAFAAMAAEAFAABABMAEAAUABMAFAAIAAwAFAAQAAgAFQAEAAUAFQAFAAYAFQANAAQABgANABUACQAEAA0ABgAJAA0A"), 0.020460369, PackedByteArray("CgACAAAACgAAAAcABwALAAoACwAHAAMACgAMAAIACwABAAoAAQAMAAoAAwABAAsACAACAAwAAwACAAgAAQAIAAwAAQADAAgADQAEAAUACQAEAA0ADQAFAAYABgAJAA0A"), 0.035439603, PackedByteArray("AAABAAIABwABAAAAAwABAAcACAACAAEAAwACAAgAAQADAAgACQAEAAUACQAFAAYA"), 0.05620349, PackedByteArray("AAABAAIAAQADAAIAAwABAAAABAAFAAYA")], -"material": SubResource("StandardMaterial3D_d2qia"), -"name": "billiard_ball_mat.002", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 114, -"vertex_data": PackedByteArray("GTblyeXJ56ijTf9/UgoAAOXJ5cnlyeeo5ckZNuXJ56gZNuXJ5clRp+XJ5cnlyVGn5ckZNuXJUacZNhk25cnnqKz1/3+jTQAAGTYZNuXJUad9JYHa/38vG6NNUgr/fxwt/qo/1b8qLB2jTf9/rPXxj1uyrPX/fxwtrPVbsv9//8BbslIK/3+QxFIK/39bsgywUgr/f6NNAAAAVb8qvyosHVuy/39SCgAA/39bsqz18Y+jTaz1/38cLX0l/3+B2v+f/3+B2oHa/5+/Kj/VAFXiGFIKo03/f//A/3+B2n0l/x+B2oHa/3+mw6z1/39bsgywgdr/f4Ha/5+s9aNN/39tDf6qvyq/Kiwd/39SCluyDLD/f30lgdr/n30lfSX/f6bDW7L/f6z18Y+B2v9/gdr/n/9/gdqB2v+f/3+jTaz18Y//f30lgdr/n30l/3+B2v+fUgpbsv9/bQ0AAP9//3//v/9/rPVbsgywchIwUc6uK7L/f////3//PzBRjO0wUSwn/3+s9aNNDTAwUc6uchJqDoztzq7OriqyjO3OrjBRKwz///9//38AAIztMFHOriuygdp9Jf9/LxuM7TBRMFErDIHa/399JQAAzq5yEs6udbT/fwAA/3//v/9/UgqjTQ0wchIwUTBRKwxyEs6uMFErDH0l/399JQAAMFEwUXISaw7/f6NNUgryD/9//38AAAAAzq4wUXISbw7/f1uyUgryD86uzq5yEmwOzq7OrozteJX/f/9///8AgM6uMFGM7XuVMFHOroztfJUwUTBRjO1/lb8qP9X+qsi1MFGM7c6ucbQAVT/VP9Uio/6qP9U/1SKjzq6M7c6udbQ/1T/V/qrItXISzq7Oriuyvyr+qj/VC6O/KgBVP9ULo78qvyr+qsi1MFFyEs6udrQAVb8qP9Uio/6qvyo/1SKjvyq/KgBV4hgwUXISMFEtJxk2GTYZNhwXvyoAVb8qaQz/f30lfSX/H78q/qq/KmkMzq5yEjBRLCflyRk2GTYcFz/VvyoAVeIYP9W/Kv6qyLU/1QBVP9ULoz/V/qo/1QujP9U/1QBV4hjOroztMFEoJ+XJ5ckZNhwXP9X+qr8qaQw/1QBVvyppDABVP9W/KiwdGTblyRk2Gxc/1f6qP9VEov6qP9U/1XSiP9UAVT/VRKIAVT/VP9V0or8q/qo/1USivyoAVT/VRKIAVb8qP9V0ov6qvyo/1XSi6avkvP7/LJUaw+krFVQaQx62d76GwR824EmHQeQ8FdSvzP9/eD7fyRjuEzn+Qf5pw+EIiP9//v8AvgCWiaTPFYJJ/07/f/7///+vTDse9nfR6v9/////f/7pAD7/f///////fyvvNUR1Wy/q////fy+78yP/fwAA/38AAHgJR8QICDueAAD/fwAA/3/PRArc/38AAP9/AAD+//9/AAD/fwAA/3//f///hva3O/9//v/+//9/Clgg6P///3917WZN/v//f0389Wf0p94XS8fCiP+//38iaPIn5hHrxsIIsriB2v9/7EP1VAAA/38AAP9/sjg9dzz3TEf//3ylDBhOfAAA/3////9/sQMPmP///3/y57CDasNsOP9///+UR2hDbLiUvJY8kcfApiHAD7wNq2/D5akZ1nBD9dQTPN2/wCbclwzYN53Cz8NPxuIhQD7ZCSvrw+UpjryPPBlWyjssb5gydW0yLRh1sikLegAA/38L+kxWiRKYsuYKMq3TEMm7PlndP8diPDA7sDcdNMTSkGfNh5LM0uaKTNbzhfMFsqn298NhGPXNUmespyQl1sVKWFtoLMTK2KmmpJbTl1NX29kpObU6NSZW") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_v1ebh") [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_4pdss"] points = PackedVector3Array(0, -0.028574998, -0.0026290044, -0.010449901, -0.024457691, -0.013073323, 0, -0.026275795, -0.013867697, 0.01044431, -0.024457691, -0.013073323, 0.011238679, -0.026275795, -0.0026290044, 0.01044431, -0.024457691, 0.007820912, 0, -0.026275795, 0.008615281, -0.010449901, -0.024457691, 0.007820912, -0.011244273, -0.026275795, -0.0026290044, -0.019036947, -0.019036943, -0.012223009, -0.01650279, -0.016502786, -0.019126218, -0.009599589, -0.019036943, -0.021660378, 0, -0.020206124, -0.02282956, 0.009593993, -0.019036943, -0.021660378, 0.019031353, -0.019036943, -0.012223009, 0.016497195, -0.016502786, -0.019126218, 0.020200532, -0.020206124, -0.0026290044, 0.019031353, -0.019036943, 0.0069705956, 0.016497195, -0.016502786, 0.013873804, 0.009593993, -0.019036943, 0.016407963, 0, -0.020206124, 0.017577145, -0.009599589, -0.019036943, 0.016407963, -0.01650279, -0.016502786, 0.013873804, -0.019036947, -0.019036943, 0.0069705956, -0.020206127, -0.020206124, -0.0026290044, -0.024457693, -0.0104498975, -0.013073323, -0.026275797, -0.011244269, -0.0026290044, -0.019036947, -0.009599583, -0.021660378, -0.010449901, -0.0104498975, -0.027081132, 0, -0.011244269, -0.028899238, 0.01044431, -0.0104498975, -0.027081132, 0.024452098, -0.0104498975, -0.013073323, 0.026270203, -0.011244269, -0.0026290044, 0.019031353, -0.009599583, -0.021660378, 0.024452098, -0.0104498975, 0.007820912, 0.019031353, -0.009599583, 0.016407963, 0.01044431, -0.0104498975, 0.021828718, 0, -0.011244269, 0.023646824, -0.010449901, -0.0104498975, 0.021828718, -0.024457693, -0.0104498975, 0.007820912, -0.019036947, -0.009599583, 0.016407963, -0.028575, -5.5879354e-06, -0.0026290044, -0.026275797, -5.5879354e-06, -0.013867697, -0.020206127, -5.5879354e-06, -0.02282956, -0.011244273, -5.5879354e-06, -0.028899238, 0, -5.5879354e-06, -0.031198442, 0.011238679, -5.5879354e-06, -0.028899238, 0.028575, -5.5879354e-06, -0.0026290044, 0.026270203, -5.5879354e-06, -0.013867697, 0.020200532, -5.5879354e-06, -0.02282956, 0.026270203, -5.5879354e-06, 0.008615281, 0.020200532, -5.5879354e-06, 0.017577145, 0.011238679, -5.5879354e-06, 0.023646824, -5.5935234e-06, -5.5879354e-06, 0.025951624, -0.011244273, -5.5879354e-06, 0.023646824, -0.026275797, -5.5879354e-06, 0.008615281, -0.020206127, -5.5879354e-06, 0.017577145, -0.024457693, 0.010444315, 0.007820912, -0.026275797, 0.011238689, -0.0026290044, -0.024457693, 0.010444315, -0.013073323, -0.019036947, 0.009594003, -0.021660378, -0.010449901, 0.010444315, -0.027081132, 0, 0.011238689, -0.028899238, 0.01044431, 0.010444315, -0.027081132, 0.019031353, 0.009594003, -0.021660378, 0.026270203, 0.011238689, -0.0026290044, 0.024452098, 0.010444315, 0.007820912, 0.024452098, 0.010444315, -0.013073323, 0.019031353, 0.009594003, 0.016407963, 0.01044431, 0.010444315, 0.021828718, -5.5935234e-06, 0.011238689, 0.023646824, -0.010449901, 0.010444315, 0.021828718, -0.019036947, 0.009594003, 0.016407963, -0.01650279, 0.016497204, 0.013873804, -0.019036947, 0.019031363, 0.0069705956, -0.020206127, 0.020200545, -0.0026290044, -0.019036947, 0.019031363, -0.012223009, -0.01650279, 0.016497204, -0.019126218, -0.009599589, 0.019031363, -0.021660378, -5.5935234e-06, 0.020200545, -0.02282956, 0.009593993, 0.019031363, -0.021660378, 0.016497195, 0.016497204, -0.019126218, 0.019031353, 0.019031363, -0.012223009, 0.020200532, 0.020200545, -0.0026290044, 0.019031353, 0.019031363, 0.0069705956, 0.016497195, 0.016497204, 0.013873804, 0.009593993, 0.019031363, 0.016407963, -5.5935234e-06, 0.020200545, 0.017577145, -0.009599589, 0.019031363, 0.016407963, -0.010449901, 0.02445211, 0.007820912, -0.011244273, 0.026270213, -0.0026290044, -0.010449901, 0.02445211, -0.013073323, -5.5935234e-06, 0.026270213, -0.013867697, 0.01044431, 0.02445211, -0.013073323, 0.011238679, 0.026270213, -0.0026290044, 0.01044431, 0.02445211, 0.007820912, -5.5935234e-06, 0.026270213, 0.008615281, -5.5935234e-06, 0.028569417, -0.0026290044) @@ -53,11 +8,6 @@ points = PackedVector3Array(0, -0.028574998, -0.0026290044, -0.010449901, -0.024 [node name="ball_detector" type="Area3D"] script = ExtResource("1_xepxh") -[node name="mesh" type="MeshInstance3D" parent="."] -visible = false -mesh = SubResource("ArrayMesh_dq2y1") -skeleton = NodePath("") - [node name="shape" type="CollisionShape3D" parent="."] transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0) shape = SubResource("ConvexPolygonShape3D_4pdss")