[gd_scene load_steps=15 format=2] [ext_resource path="res://tenniscourts/shaders/tennis_bounce.gdshader" type="Shader" id=1] [ext_resource path="res://tenniscourts/shaders/depth_map.gdshader" type="Shader" id=2] [ext_resource path="res://tenniscourts/meshes/tennis_launcher.mesh" type="ArrayMesh" id=3] [ext_resource path="res://tenniscourts/TennisRamp.gd" type="Script" id=4] [sub_resource type="ViewportTexture" id=44] viewport_path = NodePath("TennisParticles/DepthMap") [sub_resource type="ShaderMaterial" id=45] resource_local_to_scene = true shader = ExtResource( 1 ) shader_param/direction = Vector3( 0, -1, 0 ) shader_param/spread = 5.0 shader_param/flatness = 0.0 shader_param/initial_linear_velocity = 20.0 shader_param/initial_angle = 0.0 shader_param/angular_velocity = 0.0 shader_param/orbit_velocity = 0.0 shader_param/linear_accel = 0.0 shader_param/radial_accel = 0.0 shader_param/tangent_accel = 0.0 shader_param/damping = 0.0 shader_param/scale = 1.0 shader_param/hue_variation = 0.0 shader_param/anim_speed = 0.0 shader_param/anim_offset = 0.0 shader_param/initial_linear_velocity_random = 0.2 shader_param/initial_angle_random = 0.0 shader_param/angular_velocity_random = 0.0 shader_param/orbit_velocity_random = 0.0 shader_param/linear_accel_random = 0.0 shader_param/radial_accel_random = 0.0 shader_param/tangent_accel_random = 0.0 shader_param/damping_random = 0.0 shader_param/scale_random = 0.0 shader_param/hue_variation_random = 0.0 shader_param/anim_speed_random = 0.0 shader_param/anim_offset_random = 0.0 shader_param/lifetime_randomness = 0.0 shader_param/emission_box_extents = Vector3( 8, 0, 8 ) shader_param/color_value = Color( 1, 1, 1, 1 ) shader_param/trail_divisor = 1 shader_param/gravity = Vector3( 0, -9.8, 0 ) shader_param/occlusion_margin = 0.04 shader_param/depth_cam_size = 16.0 shader_param/example_normal = Vector3( -0.342, 0.94, 0 ) shader_param/depth_map = SubResource( 44 ) [sub_resource type="SpatialMaterial" id=37] albedo_color = Color( 0.615686, 1, 0, 1 ) metallic_specular = 1.0 [sub_resource type="SphereMesh" id=46] material = SubResource( 37 ) radius = 0.065 height = 0.13 radial_segments = 8 rings = 4 [sub_resource type="ShaderMaterial" id=42] resource_local_to_scene = true shader = ExtResource( 2 ) [sub_resource type="PlaneMesh" id=47] resource_local_to_scene = true material = SubResource( 42 ) size = Vector2( 16, 16 ) [sub_resource type="ConvexPolygonShape" id=50] points = PoolVector3Array( 30.1523, 1.28426, 7.57614, -30.1523, -1.15228, -7.65228, -30.1523, -1.15228, 7.57614, -30.1523, 1.28426, -7.65228, 30.1523, -1.15228, -7.65228, -30.1523, 1.28426, 7.57614, 30.1523, -1.15228, 7.57614, 30.1523, 1.28426, -7.65228 ) [sub_resource type="NoiseTexture" id=48] [sub_resource type="SpatialMaterial" id=39] roughness = 0.0 clearcoat_enabled = true clearcoat = 1.0 clearcoat_gloss = 1.0 clearcoat_texture = SubResource( 48 ) [sub_resource type="CubeMesh" id=49] material = SubResource( 39 ) size = Vector3( 60, 2, 15 ) [node name="Tennis" type="Spatial"] [node name="TennisParticles" type="Particles" parent="."] transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, -20, 3, 11.9878 ) amount = 64 lifetime = 12.0 visibility_aabb = AABB( -25.0795, -42.2433, -10.4403, 32.4784, 42.5881, 20.8805 ) local_coords = false process_material = SubResource( 45 ) draw_pass_1 = SubResource( 46 ) [node name="RemoteTransform" type="RemoteTransform" parent="TennisParticles"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0 ) remote_path = NodePath("../DepthMap/Camera") [node name="DepthMap" type="Viewport" parent="TennisParticles"] size = Vector2( 256, 256 ) keep_3d_linear = true render_target_v_flip = true render_target_update_mode = 3 [node name="Camera" type="Camera" parent="TennisParticles/DepthMap"] transform = Transform( -4.37114e-08, 4.37114e-08, -1, 1, 1.91069e-15, -4.37114e-08, 0, -1, -4.37114e-08, -20, 3, 11.9878 ) cull_mask = 2 projection = 1 current = true size = 16.0 [node name="Texture" type="MeshInstance" parent="TennisParticles/DepthMap/Camera"] transform = Transform( 1, -1.27992e-16, 5.59471e-24, 0, -4.37114e-08, -1, 1.27992e-16, 1, -4.37114e-08, 4.76837e-07, -2.84217e-14, -0.1 ) layers = 2 mesh = SubResource( 47 ) skeleton = NodePath("../..") [node name="TennisLauncher" type="MeshInstance" parent="TennisParticles"] transform = Transform( 1.91069e-15, 1, -4.37114e-08, 4.37114e-08, -4.37114e-08, -1, -1, 0, -4.37114e-08, 0, 2, 0 ) layers = 3 mesh = ExtResource( 3 ) skeleton = NodePath("../..") [node name="StaticBody" type="StaticBody" parent="TennisParticles"] transform = Transform( 0.34202, 0.939693, 0, -0.939693, 0.34202, 0, 0, 0, 1, 4, -40, 0 ) [node name="CollisionShape" type="CollisionShape" parent="TennisParticles/StaticBody"] shape = SubResource( 50 ) [node name="TennisRamp" type="MeshInstance" parent="TennisParticles/StaticBody"] layers = 3 mesh = SubResource( 49 ) skeleton = NodePath("../../..") script = ExtResource( 4 ) audible_range_max = 50.0 use_embeded_patch = true patch = "#N canvas 56 89 446 513 12; #X obj 21 22 r fromGodot\\$0; #X obj 21 46 list trim; #X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; #X obj 300 349 line~; #X msg 300 325 \\$1 100; #X obj 300 278 expr ($f1 + 1)/8; #X floatatom 300 302 5 0 0 0 - - - 0; #N canvas 68 97 450 300 pan2~ 0; #X obj 51 98 cos~; #X obj 111 98 cos~; #X obj 33 128 *~; #X obj 93 128 *~; #X obj 33 158 outlet~; #X obj 93 158 outlet~; #X obj 33 24 inlet~; #X obj 111 24 inlet~; #X obj 111 74 +~ 0.75; #X connect 0 0 2 1; #X connect 1 0 3 1; #X connect 2 0 4 0; #X connect 3 0 5 0; #X connect 6 0 2 0; #X connect 6 0 3 0; #X connect 7 0 8 0; #X connect 7 0 0 0; #X connect 8 0 1 0; #X restore 199 437 pd pan2~; #X obj 199 467 dac~ 1 2; #X obj 199 407 *~; #X obj 189 127 unpack f f; #X floatatom 296 159 5 0 0 0 - - - 0; #X obj 296 182 sin; #X floatatom 296 206 5 0 0 0 - - - 0; #X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 361 21 loadbang; #X obj 21 70 route bang panvol param preset; #X obj 20 470 *~; #X obj 38 446 vline~; #X msg 38 422 0 \\, 1 1000 300; #X obj 38 398 loadbang; #X msg 361 51 \\; pd dsp 1; #N canvas 0 23 1440 805 synth 0; #X obj 308 770 outlet~; #X obj 57 359 vline~; #X obj 57 625 osc~; #X obj 27 649 *~; #X obj 27 393 *~; #X obj 57 601 +~; #X obj 57 272 metro 500; #X obj 75 580 *~; #X obj 57 315 f; #X msg 57 337 1 1 0 \\, 0 \\$1 1; #X obj 73 294 * 200; #X obj 134 690 *~; #X obj 89 222 line; #X obj 152 415 sig~; #X obj 57 491 *~; #X obj 57 199 t b a; #X msg 57 177 1 \\, 0 3000; #X obj 57 427 *~; #X obj 117 248 * 3000; #X obj 57 513 +~ 30; #X obj 94 555 *~ 100; #X floatatom 212 504 5 0 0 0 - - - 0; #X obj 74 100 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; #X floatatom 331 330 5 0 0 0 - - - 0; #X obj 322 257 random 9; #X obj 75 466 *~ 30; #X obj 180 261 mtof; #X obj 240 289 mtof; #X obj 92 141 t b b b b; #X obj 239 256 + 10; #X obj 222 711 *~; #X obj 446 361 vline~; #X obj 446 627 osc~; #X obj 416 651 *~; #X obj 416 395 *~; #X obj 446 603 +~; #X obj 446 274 metro 500; #X obj 464 582 *~; #X obj 446 317 f; #X msg 446 339 1 1 0 \\, 0 \\$1 1; #X obj 462 296 * 200; #X obj 523 692 *~; #X obj 478 224 line; #X obj 541 417 sig~; #X obj 446 493 *~; #X obj 446 201 t b a; #X msg 446 179 1 \\, 0 3000; #X obj 446 429 *~; #X obj 506 250 * 3000; #X obj 446 515 +~ 30; #X obj 483 557 *~ 100; #X floatatom 601 506 5 0 0 0 - - - 0; #X obj 463 102 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; #X floatatom 720 332 5 0 0 0 - - - 0; #X obj 711 259 random 9; #X obj 465 536 osc~ 70; #X obj 464 468 *~ 30; #X obj 569 263 mtof; #X obj 629 291 mtof; #X obj 481 143 t b b b b; #X obj 628 258 + 10; #X obj 475 719 *~; #X obj 201 109 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; #X obj 179 228 + 10; #X obj 568 230 + 10; #X obj 175 204 random 60; #X obj 564 206 random 60; #X obj 235 232 random 50; #X obj 624 234 random 50; #X obj 76 535 osc~ 700; #X floatatom 577 309 5 0 0 0 - - - 0; #X obj 325 304 / 14; #X obj 795 362 vline~; #X obj 795 628 osc~; #X obj 765 652 *~; #X obj 765 396 *~; #X obj 795 604 +~; #X obj 795 275 metro 500; #X obj 813 583 *~; #X obj 795 318 f; #X msg 795 340 1 1 0 \\, 0 \\$1 1; #X obj 811 297 * 200; #X obj 872 693 *~; #X obj 827 225 line; #X obj 890 418 sig~; #X obj 795 494 *~; #X obj 795 202 t b a; #X msg 795 180 1 \\, 0 3000; #X obj 795 430 *~; #X obj 855 251 * 3000; #X obj 795 516 +~ 30; #X obj 832 558 *~ 100; #X floatatom 950 507 5 0 0 0 - - - 0; #X obj 812 103 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; #X floatatom 1069 333 5 0 0 0 - - - 0; #X obj 1060 260 random 9; #X obj 814 537 osc~ 70; #X obj 813 469 *~ 30; #X obj 918 264 mtof; #X obj 978 292 mtof; #X obj 830 144 t b b b b; #X obj 977 259 + 10; #X obj 824 720 *~; #X obj 917 231 + 10; #X obj 913 207 random 60; #X obj 973 235 random 50; #X floatatom 926 310 5 0 0 0 - - - 0; #X obj 1062 305 / 60; #X obj 711 280 + 4; #X obj 1060 281 + 5; #X obj 713 304 / 20; #X obj 322 278 + 5; #N canvas 386 23 374 377 retro 0; #X obj 43 211 del; #X obj 43 261 spigot; #X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; #X obj 145 216 random; #X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 50 47 inlet; #X obj 43 286 outlet; #X obj 50 104 t b f; #X obj 113 191 t b b; #X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; #X obj 234 37 inlet; #X obj 266 135 unpack f f; #X obj 234 107 expr $f2-$f1; #X floatatom 234 197 5 0 0 0 range - - 0; #X floatatom 266 223 5 0 0 0 start - - 0; #X obj 145 242 +; #X floatatom 171 69 5 0 0 1 r - - 0; #X obj 145 286 outlet; #X obj 234 71 t a a; #X connect 0 0 1 0; #X connect 1 0 6 0; #X connect 1 0 9 0; #X connect 2 0 7 0; #X connect 3 0 15 0; #X connect 4 0 1 1; #X connect 5 0 2 0; #X connect 7 0 9 0; #X connect 7 1 4 0; #X connect 8 0 0 0; #X connect 8 1 3 0; #X connect 9 0 8 0; #X connect 10 0 18 0; #X connect 11 0 14 0; #X connect 12 0 13 0; #X connect 13 0 3 1; #X connect 14 0 15 1; #X connect 15 0 0 1; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 18 0 12 0; #X connect 18 1 11 0; #X coords 0 -1 1 1 85 40 1 135 50; #X restore 232 101 pd retro; #X obj 232 34 loadbang; #X obj 232 58 t b b; #X msg 310 77 800 2000; #N canvas 386 23 374 377 retro 0; #X obj 43 211 del; #X obj 43 261 spigot; #X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; #X obj 145 216 random; #X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 50 47 inlet; #X obj 43 286 outlet; #X obj 50 104 t b f; #X obj 113 191 t b b; #X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; #X obj 234 37 inlet; #X obj 266 135 unpack f f; #X obj 234 107 expr $f2-$f1; #X floatatom 234 197 5 0 0 0 range - - 0; #X floatatom 266 223 5 0 0 0 start - - 0; #X obj 145 242 +; #X floatatom 171 69 5 0 0 1 r - - 0; #X obj 145 286 outlet; #X obj 234 71 t a a; #X connect 0 0 1 0; #X connect 1 0 6 0; #X connect 1 0 9 0; #X connect 2 0 7 0; #X connect 3 0 15 0; #X connect 4 0 1 1; #X connect 5 0 2 0; #X connect 7 0 9 0; #X connect 7 1 4 0; #X connect 8 0 0 0; #X connect 8 1 3 0; #X connect 9 0 8 0; #X connect 10 0 18 0; #X connect 11 0 14 0; #X connect 12 0 13 0; #X connect 13 0 3 1; #X connect 14 0 15 1; #X connect 15 0 0 1; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 18 0 12 0; #X connect 18 1 11 0; #X coords 0 -1 1 1 85 40 1 135 50; #X restore 615 120 pd retro; #X obj 615 53 loadbang; #X obj 615 77 t b b; #X msg 693 96 500 1200; #N canvas 386 23 374 377 retro 0; #X obj 43 211 del; #X obj 43 261 spigot; #X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; #X obj 145 216 random; #X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 50 47 inlet; #X obj 43 286 outlet; #X obj 50 104 t b f; #X obj 113 191 t b b; #X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; #X obj 234 37 inlet; #X obj 266 135 unpack f f; #X obj 234 107 expr $f2-$f1; #X floatatom 234 197 5 0 0 0 range - - 0; #X floatatom 266 223 5 0 0 0 start - - 0; #X obj 145 242 +; #X floatatom 171 69 5 0 0 1 r - - 0; #X obj 145 286 outlet; #X obj 234 71 t a a; #X connect 0 0 1 0; #X connect 1 0 6 0; #X connect 1 0 9 0; #X connect 2 0 7 0; #X connect 3 0 15 0; #X connect 4 0 1 1; #X connect 5 0 2 0; #X connect 7 0 9 0; #X connect 7 1 4 0; #X connect 8 0 0 0; #X connect 8 1 3 0; #X connect 9 0 8 0; #X connect 10 0 18 0; #X connect 11 0 14 0; #X connect 12 0 13 0; #X connect 13 0 3 1; #X connect 14 0 15 1; #X connect 15 0 0 1; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 18 0 12 0; #X connect 18 1 11 0; #X coords 0 -1 1 1 85 40 1 135 50; #X restore 938 99 pd retro; #X obj 938 32 loadbang; #X obj 938 56 t b b; #X msg 1016 75 500 1000; #X connect 1 0 4 0; #X connect 1 0 4 1; #X connect 2 0 3 1; #X connect 3 0 11 0; #X connect 4 0 3 0; #X connect 4 0 17 0; #X connect 4 0 17 1; #X connect 5 0 2 0; #X connect 6 0 8 0; #X connect 7 0 5 1; #X connect 8 0 9 0; #X connect 9 0 1 0; #X connect 10 0 8 1; #X connect 11 0 30 0; #X connect 12 0 10 0; #X connect 12 0 13 0; #X connect 12 0 18 0; #X connect 13 0 11 1; #X connect 13 0 20 0; #X connect 13 0 25 0; #X connect 14 0 19 0; #X connect 15 0 6 0; #X connect 15 1 12 0; #X connect 16 0 15 0; #X connect 17 0 14 0; #X connect 18 0 6 1; #X connect 19 0 5 0; #X connect 20 0 7 1; #X connect 21 0 20 1; #X connect 22 0 28 0; #X connect 23 0 30 1; #X connect 24 0 111 0; #X connect 25 0 14 1; #X connect 26 0 19 1; #X connect 26 0 69 1; #X connect 27 0 21 0; #X connect 28 0 16 0; #X connect 28 1 65 0; #X connect 28 2 67 0; #X connect 28 3 24 0; #X connect 29 0 27 0; #X connect 30 0 0 0; #X connect 31 0 34 0; #X connect 31 0 34 1; #X connect 32 0 33 1; #X connect 33 0 41 0; #X connect 34 0 33 0; #X connect 34 0 47 0; #X connect 34 0 47 1; #X connect 35 0 32 0; #X connect 36 0 38 0; #X connect 37 0 35 1; #X connect 38 0 39 0; #X connect 39 0 31 0; #X connect 40 0 38 1; #X connect 41 0 61 0; #X connect 42 0 40 0; #X connect 42 0 43 0; #X connect 42 0 48 0; #X connect 43 0 41 1; #X connect 43 0 50 0; #X connect 43 0 56 0; #X connect 44 0 49 0; #X connect 45 0 36 0; #X connect 45 1 42 0; #X connect 46 0 45 0; #X connect 47 0 44 0; #X connect 48 0 36 1; #X connect 49 0 35 0; #X connect 50 0 37 1; #X connect 51 0 50 1; #X connect 52 0 59 0; #X connect 53 0 61 1; #X connect 54 0 108 0; #X connect 55 0 37 0; #X connect 56 0 44 1; #X connect 57 0 49 1; #X connect 57 0 70 0; #X connect 57 0 55 1; #X connect 58 0 51 0; #X connect 59 0 46 0; #X connect 59 1 66 0; #X connect 59 2 68 0; #X connect 59 3 54 0; #X connect 60 0 58 0; #X connect 61 0 0 0; #X connect 62 0 28 0; #X connect 63 0 26 0; #X connect 64 0 57 0; #X connect 65 0 63 0; #X connect 66 0 64 0; #X connect 67 0 29 0; #X connect 68 0 60 0; #X connect 69 0 7 0; #X connect 71 0 23 0; #X connect 72 0 75 0; #X connect 72 0 75 1; #X connect 73 0 74 1; #X connect 74 0 82 0; #X connect 75 0 74 0; #X connect 75 0 88 0; #X connect 75 0 88 1; #X connect 76 0 73 0; #X connect 77 0 79 0; #X connect 78 0 76 1; #X connect 79 0 80 0; #X connect 80 0 72 0; #X connect 81 0 79 1; #X connect 82 0 102 0; #X connect 83 0 81 0; #X connect 83 0 84 0; #X connect 83 0 89 0; #X connect 84 0 82 1; #X connect 84 0 91 0; #X connect 84 0 97 0; #X connect 85 0 90 0; #X connect 86 0 77 0; #X connect 86 1 83 0; #X connect 87 0 86 0; #X connect 88 0 85 0; #X connect 89 0 77 1; #X connect 90 0 76 0; #X connect 91 0 78 1; #X connect 92 0 91 1; #X connect 93 0 100 0; #X connect 94 0 102 1; #X connect 95 0 109 0; #X connect 96 0 78 0; #X connect 97 0 85 1; #X connect 98 0 90 1; #X connect 98 0 106 0; #X connect 98 0 96 1; #X connect 99 0 92 0; #X connect 100 0 87 0; #X connect 100 1 104 0; #X connect 100 2 105 0; #X connect 100 3 95 0; #X connect 101 0 99 0; #X connect 103 0 98 0; #X connect 104 0 103 0; #X connect 105 0 101 0; #X connect 107 0 94 0; #X connect 108 0 110 0; #X connect 109 0 107 0; #X connect 110 0 53 0; #X connect 111 0 71 0; #X connect 112 0 62 0; #X connect 113 0 114 0; #X connect 114 0 112 0; #X connect 114 1 115 0; #X connect 115 0 112 1; #X connect 116 0 52 0; #X connect 117 0 118 0; #X connect 118 0 116 0; #X connect 118 1 119 0; #X connect 119 0 116 1; #X connect 120 0 93 0; #X connect 121 0 122 0; #X connect 122 0 120 0; #X connect 122 1 123 0; #X connect 123 0 120 1; #X restore 50 300 pd synth; #X obj 204 329 *~; #X obj 189 276 line~; #X msg 189 252 \\$1 100; #X floatatom 189 189 5 0 0 0 - - - 0; #X obj 132 322 switch~; #X obj 132 298 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; #X obj 132 274 change; #X text 89 167 switch on/off before 0 to stop startup pops, f 12; #X obj 189 228 max 0; #X obj 132 250 > -0.3; #X connect 0 0 1 0; #X connect 1 0 16 0; #X connect 2 0 5 0; #X connect 3 0 7 1; #X connect 4 0 3 0; #X connect 5 0 6 0; #X connect 6 0 4 0; #X connect 7 0 8 0; #X connect 7 1 8 1; #X connect 9 0 7 0; #X connect 10 0 26 0; #X connect 10 1 11 0; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 13 0 2 0; #X connect 16 0 14 0; #X connect 16 1 10 0; #X connect 18 0 17 1; #X connect 19 0 18 0; #X connect 20 0 19 0; #X connect 22 0 9 0; #X connect 23 0 9 1; #X connect 24 0 23 0; #X connect 24 0 23 1; #X connect 25 0 24 0; #X connect 26 0 31 0; #X connect 26 0 32 0; #X connect 28 0 27 0; #X connect 29 0 28 0; #X connect 31 0 25 0; #X connect 32 0 29 0; "