From 20b6f773b0d0455dc451b345e6909a9bb5b3894a Mon Sep 17 00:00:00 2001 From: Otto Naderer Date: Wed, 7 Aug 2024 00:12:56 +0200 Subject: [PATCH] cannon code separation, added sounds & effects --- .gitattributes | 1 + assets/meshes/scout/gun.obj | 548 +++++++++++++++++---- assets/meshes/scout/turret.obj | 344 +++++-------- assets/scenes/tank_scout.tscn | 116 ++++- assets/scripts/ammo/round_autocannon.gd | 2 +- assets/scripts/vehicles/scout/tank-base.gd | 41 +- assets/scripts/weapons/autocannon.gd | 28 ++ assets/sounds/autocannon.ogg | 3 + assets/sounds/autocannon.ogg.import | 19 + blender/tbody.blend | 4 +- map.tscn | 3 +- 11 files changed, 743 insertions(+), 366 deletions(-) create mode 100644 assets/scripts/weapons/autocannon.gd create mode 100644 assets/sounds/autocannon.ogg create mode 100644 assets/sounds/autocannon.ogg.import diff --git a/.gitattributes b/.gitattributes index 11f949d..3f2f057 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ *.png filter=lfs diff=lfs merge=lfs -text *.blend filter=lfs diff=lfs merge=lfs -text +*.ogg filter=lfs diff=lfs merge=lfs -text diff --git a/assets/meshes/scout/gun.obj b/assets/meshes/scout/gun.obj index ec24284..deffddf 100644 --- a/assets/meshes/scout/gun.obj +++ b/assets/meshes/scout/gun.obj @@ -2,104 +2,328 @@ # www.blender.org mtllib gun.mtl o Cylinder.001 -v 0.100000 0.000000 0.000000 -v 0.110753 0.005956 2.517020 -v 0.098078 -0.019509 0.000000 -v 0.108831 -0.013553 2.517020 -v 0.092388 -0.038268 0.000000 -v 0.103140 -0.032313 2.517020 -v 0.083147 -0.055557 0.000000 -v 0.093899 -0.049601 2.517020 -v 0.070711 -0.070710 0.000000 -v 0.081463 -0.064755 2.517020 -v 0.055557 -0.083147 -0.000000 -v 0.066310 -0.077191 2.517020 -v 0.038268 -0.092388 -0.000000 -v 0.049021 -0.086432 2.517020 -v 0.019509 -0.098078 -0.000000 -v 0.030262 -0.092123 2.517020 -v -0.000000 -0.100000 -0.000000 -v 0.010753 -0.094044 2.517020 -v -0.019509 -0.098078 -0.000000 -v -0.008756 -0.092123 2.517020 -v -0.038268 -0.092388 -0.000000 -v -0.027516 -0.086432 2.517020 -v -0.055557 -0.083147 -0.000000 -v -0.044804 -0.077191 2.517020 -v -0.070711 -0.070710 -0.000000 -v -0.059958 -0.064755 2.517020 -v -0.083147 -0.055557 -0.000000 -v -0.072394 -0.049601 2.517020 -v -0.092388 -0.038268 -0.000000 -v -0.081635 -0.032313 2.517020 -v -0.098079 -0.019509 -0.000000 -v -0.087326 -0.013553 2.517020 -v -0.100000 0.000000 -0.000000 -v -0.089247 0.005956 2.517020 -v -0.098079 0.019509 -0.000000 -v -0.087326 0.025465 2.517020 -v -0.092388 0.038269 -0.000000 -v -0.081635 0.044224 2.517020 -v -0.083147 0.055557 -0.000000 -v -0.072394 0.061513 2.517020 -v -0.070711 0.070711 0.000000 -v -0.059958 0.076667 2.517020 -v -0.055557 0.083147 0.000000 -v -0.044804 0.089103 2.517020 -v -0.038268 0.092388 0.000000 -v -0.027516 0.098344 2.517020 -v -0.019509 0.098079 0.000000 -v -0.008756 0.104034 2.517020 -v 0.000000 0.100000 0.000000 -v 0.010753 0.105956 2.517020 -v 0.019509 0.098079 0.000000 -v 0.030262 0.104034 2.517020 -v 0.038268 0.092388 0.000000 -v 0.049021 0.098344 2.517020 -v 0.055557 0.083147 0.000000 -v 0.066310 0.089103 2.517020 -v 0.070711 0.070711 0.000000 -v 0.081463 0.076666 2.517020 -v 0.083147 0.055557 0.000000 -v 0.093900 0.061513 2.517020 -v 0.092388 0.038268 0.000000 -v 0.103141 0.044224 2.517020 -v 0.098079 0.019509 0.000000 -v 0.108831 0.025465 2.517020 -vn 0.9952 -0.0980 -0.0040 -vn 0.9569 -0.2903 -0.0034 -vn 0.8819 -0.4714 -0.0027 -vn 0.7730 -0.6344 -0.0018 -vn 0.6344 -0.7730 -0.0009 -vn 0.4714 -0.8819 0.0001 -vn 0.2903 -0.9569 0.0010 -vn 0.0980 -0.9952 0.0019 -vn -0.0980 -0.9952 0.0028 -vn -0.2903 -0.9569 0.0035 -vn -0.4714 -0.8819 0.0041 -vn -0.6344 -0.7730 0.0045 -vn -0.7730 -0.6344 0.0048 -vn -0.8819 -0.4714 0.0049 -vn -0.9569 -0.2903 0.0048 -vn -0.9952 -0.0980 0.0045 -vn -0.9952 0.0980 0.0040 -vn -0.9569 0.2903 0.0034 -vn -0.8819 0.4714 0.0027 -vn -0.7730 0.6344 0.0018 -vn -0.6344 0.7730 0.0009 -vn -0.4714 0.8819 -0.0001 -vn -0.2903 0.9569 -0.0010 -vn -0.0980 0.9952 -0.0019 -vn 0.0980 0.9952 -0.0028 -vn 0.2903 0.9569 -0.0035 -vn 0.4714 0.8819 -0.0041 -vn 0.6344 0.7730 -0.0045 -vn 0.7730 0.6344 -0.0048 -vn 0.8819 0.4714 -0.0049 -vn -0.0000 -0.0000 1.0000 -vn 0.9569 0.2903 -0.0048 -vn 0.9952 0.0980 -0.0045 +v 0.025000 0.000000 0.000000 +v 0.027688 0.001489 1.906421 +v 0.024520 -0.004877 0.000000 +v 0.027208 -0.003388 1.906421 +v 0.023097 -0.009567 0.000000 +v 0.025785 -0.008078 1.906421 +v 0.020787 -0.013889 0.000000 +v 0.023475 -0.012400 1.906421 +v 0.017678 -0.017678 0.000000 +v 0.020366 -0.016189 1.906421 +v 0.013889 -0.020787 -0.000000 +v 0.016577 -0.019298 1.906421 +v 0.009567 -0.023097 -0.000000 +v 0.012255 -0.021608 1.906421 +v 0.004877 -0.024520 -0.000000 +v 0.007565 -0.023031 1.906421 +v -0.000000 -0.025000 -0.000000 +v 0.002688 -0.023511 1.906421 +v -0.004877 -0.024520 -0.000000 +v -0.002189 -0.023031 1.906421 +v -0.009567 -0.023097 -0.000000 +v -0.006879 -0.021608 1.906421 +v -0.013889 -0.020787 -0.000000 +v -0.011201 -0.019298 1.906421 +v -0.017678 -0.017678 -0.000000 +v -0.014990 -0.016189 1.906421 +v -0.020787 -0.013889 -0.000000 +v -0.018099 -0.012400 1.906421 +v -0.023097 -0.009567 -0.000000 +v -0.020409 -0.008078 1.906421 +v -0.024520 -0.004877 -0.000000 +v -0.021832 -0.003388 1.906421 +v -0.025000 0.000000 -0.000000 +v -0.022312 0.001489 1.906421 +v -0.024520 0.004877 -0.000000 +v -0.021832 0.006366 1.906421 +v -0.023097 0.009567 -0.000000 +v -0.020409 0.011056 1.906421 +v -0.020787 0.013889 -0.000000 +v -0.018099 0.015378 1.906421 +v -0.017678 0.017678 0.000000 +v -0.014990 0.019167 1.906421 +v -0.013889 0.020787 0.000000 +v -0.011201 0.022276 1.906421 +v -0.009567 0.023097 0.000000 +v -0.006879 0.024586 1.906421 +v -0.004877 0.024520 0.000000 +v -0.002189 0.026009 1.906421 +v 0.000000 0.025000 0.000000 +v 0.002688 0.026489 1.906421 +v 0.004877 0.024520 0.000000 +v 0.007565 0.026009 1.906421 +v 0.009567 0.023097 0.000000 +v 0.012255 0.024586 1.906421 +v 0.013889 0.020787 0.000000 +v 0.016577 0.022276 1.906421 +v 0.017678 0.017678 0.000000 +v 0.020366 0.019167 1.906421 +v 0.020787 0.013889 0.000000 +v 0.023475 0.015378 1.906421 +v 0.023097 0.009567 0.000000 +v 0.025785 0.011056 1.906421 +v 0.024520 0.004877 0.000000 +v 0.027208 0.006366 1.906421 +v 0.036760 -0.005289 1.918258 +v 0.037428 0.001489 1.918258 +v 0.034783 -0.011805 1.918258 +v 0.031573 -0.017812 1.918258 +v 0.027253 -0.023076 1.918258 +v 0.021988 -0.027396 1.918258 +v 0.015982 -0.030607 1.918258 +v 0.009465 -0.032583 1.918258 +v 0.002688 -0.033251 1.918258 +v -0.004089 -0.032583 1.918258 +v -0.010606 -0.030607 1.918258 +v -0.016612 -0.027396 1.918258 +v -0.021877 -0.023076 1.918258 +v -0.026197 -0.017812 1.918258 +v -0.029407 -0.011805 1.918258 +v -0.031384 -0.005289 1.918258 +v -0.032052 0.001489 1.918258 +v -0.031384 0.008266 1.918258 +v -0.029407 0.014783 1.918258 +v -0.026197 0.020789 1.918258 +v -0.021877 0.026054 1.918258 +v -0.016612 0.030374 1.918258 +v -0.010606 0.033584 1.918258 +v -0.004089 0.035561 1.918258 +v 0.002688 0.036229 1.918258 +v 0.009465 0.035561 1.918258 +v 0.015982 0.033584 1.918258 +v 0.021988 0.030374 1.918258 +v 0.027253 0.026054 1.918258 +v 0.031573 0.020789 1.918258 +v 0.034783 0.014783 1.918258 +v 0.036760 0.008266 1.918258 +v 0.036760 -0.005289 1.932688 +v 0.037428 0.001489 1.932688 +v 0.034783 -0.011805 1.932688 +v 0.031573 -0.017812 1.932688 +v 0.027253 -0.023076 1.932688 +v 0.021988 -0.027396 1.932688 +v 0.015982 -0.030607 1.932688 +v 0.009465 -0.032583 1.932688 +v 0.002688 -0.033251 1.932688 +v -0.004089 -0.032583 1.932688 +v -0.010606 -0.030607 1.932688 +v -0.016612 -0.027396 1.932688 +v -0.021877 -0.023076 1.932688 +v -0.026197 -0.017812 1.932688 +v -0.029407 -0.011805 1.932688 +v -0.031384 -0.005289 1.932688 +v -0.032052 0.001489 1.932688 +v -0.031384 0.008266 1.932688 +v -0.029407 0.014783 1.932688 +v -0.026197 0.020789 1.932688 +v -0.021877 0.026054 1.932688 +v -0.016612 0.030374 1.932688 +v -0.010606 0.033584 1.932688 +v -0.004089 0.035561 1.932688 +v 0.002688 0.036229 1.932688 +v 0.009465 0.035561 1.932688 +v 0.015982 0.033584 1.932688 +v 0.021988 0.030374 1.932688 +v 0.027253 0.026054 1.932688 +v 0.031573 0.020789 1.932688 +v 0.034783 0.014783 1.932688 +v 0.036760 0.008266 1.932688 +v 0.030030 -0.003950 1.932688 +v 0.030566 0.001489 1.932688 +v 0.028444 -0.009180 1.932688 +v 0.025868 -0.013999 1.932688 +v 0.022401 -0.018224 1.932688 +v 0.018176 -0.021691 1.932688 +v 0.013356 -0.024267 1.932688 +v 0.008127 -0.025853 1.932688 +v 0.002688 -0.026389 1.932688 +v -0.002751 -0.025853 1.932688 +v -0.007980 -0.024267 1.932688 +v -0.012800 -0.021691 1.932688 +v -0.017025 -0.018224 1.932688 +v -0.020491 -0.013999 1.932688 +v -0.023068 -0.009179 1.932688 +v -0.024654 -0.003950 1.932688 +v -0.025190 0.001489 1.932688 +v -0.024654 0.006928 1.932688 +v -0.023068 0.012157 1.932688 +v -0.020491 0.016977 1.932688 +v -0.017025 0.021201 1.932688 +v -0.012800 0.024668 1.932688 +v -0.007980 0.027245 1.932688 +v -0.002751 0.028831 1.932688 +v 0.002688 0.029367 1.932688 +v 0.008127 0.028831 1.932688 +v 0.013356 0.027245 1.932688 +v 0.018176 0.024668 1.932688 +v 0.022401 0.021201 1.932688 +v 0.025868 0.016977 1.932688 +v 0.028444 0.012157 1.932688 +v 0.030030 0.006928 1.932688 +v 0.041146 -0.006161 2.022426 +v 0.041899 0.001489 2.022426 +v 0.038914 -0.013517 2.022426 +v 0.035291 -0.020296 2.022426 +v 0.030414 -0.026237 2.022426 +v 0.024472 -0.031114 2.022426 +v 0.017693 -0.034737 2.022426 +v 0.010338 -0.036969 2.022426 +v 0.002688 -0.037722 2.022426 +v -0.004962 -0.036969 2.022426 +v -0.012317 -0.034737 2.022426 +v -0.019096 -0.031114 2.022426 +v -0.025038 -0.026237 2.022426 +v -0.029915 -0.020296 2.022426 +v -0.033538 -0.013517 2.022426 +v -0.035770 -0.006161 2.022426 +v -0.036523 0.001489 2.022426 +v -0.035770 0.009139 2.022426 +v -0.033538 0.016494 2.022426 +v -0.029915 0.023273 2.022426 +v -0.025038 0.029215 2.022426 +v -0.019096 0.034092 2.022426 +v -0.012317 0.037715 2.022426 +v -0.004962 0.039946 2.022426 +v 0.002688 0.040700 2.022426 +v 0.010338 0.039946 2.022426 +v 0.017693 0.037715 2.022426 +v 0.024473 0.034092 2.022426 +v 0.030414 0.029215 2.022426 +v 0.035291 0.023273 2.022426 +v 0.038914 0.016494 2.022426 +v 0.041146 0.009138 2.022426 +vn 0.9952 -0.0980 -0.0013 +vn 0.9569 -0.2903 -0.0011 +vn 0.8819 -0.4714 -0.0009 +vn 0.7730 -0.6344 -0.0006 +vn 0.6344 -0.7730 -0.0003 +vn 0.4714 -0.8819 -0.0000 +vn 0.2903 -0.9569 0.0003 +vn 0.0980 -0.9952 0.0006 +vn -0.0980 -0.9952 0.0009 +vn -0.2903 -0.9569 0.0012 +vn -0.4714 -0.8819 0.0014 +vn -0.6344 -0.7730 0.0015 +vn -0.7730 -0.6344 0.0016 +vn -0.8819 -0.4714 0.0016 +vn -0.9569 -0.2903 0.0016 +vn -0.9952 -0.0980 0.0015 +vn -0.9952 0.0980 0.0013 +vn -0.9569 0.2903 0.0011 +vn -0.8819 0.4714 0.0009 +vn -0.7730 0.6344 0.0006 +vn -0.6344 0.7730 0.0003 +vn -0.4714 0.8819 -0.0000 +vn -0.2903 0.9569 -0.0003 +vn -0.0980 0.9952 -0.0006 +vn 0.0980 0.9952 -0.0009 +vn 0.2903 0.9569 -0.0012 +vn 0.4714 0.8819 -0.0014 +vn 0.6344 0.7730 -0.0015 +vn 0.7730 0.6344 -0.0016 +vn 0.8819 0.4714 -0.0016 +vn -0.0758 0.7700 -0.6335 +vn 0.9569 0.2903 -0.0016 +vn 0.9952 0.0980 -0.0015 vn -0.0000 -0.0000 -1.0000 +vn 0.8819 -0.4714 -0.0000 +vn 0.7404 -0.2246 -0.6335 +vn -0.3647 -0.6824 -0.6335 +vn -0.5981 0.4908 -0.6335 +vn 0.5981 0.4908 -0.6335 +vn 0.2246 -0.7404 -0.6335 +vn -0.7700 -0.0758 -0.6335 +vn 0.0758 0.7700 -0.6336 +vn 0.6823 -0.3647 -0.6335 +vn -0.4908 -0.5981 -0.6335 +vn -0.4908 0.5981 -0.6335 +vn 0.6823 0.3647 -0.6335 +vn 0.0758 -0.7700 -0.6335 +vn -0.7700 0.0758 -0.6335 +vn 0.2246 0.7404 -0.6335 +vn 0.5981 -0.4908 -0.6335 +vn -0.5981 -0.4908 -0.6335 +vn -0.3647 0.6823 -0.6335 +vn 0.7404 0.2246 -0.6335 +vn -0.0758 -0.7700 -0.6335 +vn -0.7404 0.2246 -0.6335 +vn 0.3647 0.6824 -0.6335 +vn 0.4908 -0.5981 -0.6335 +vn -0.6823 -0.3647 -0.6335 +vn -0.2246 0.7404 -0.6335 +vn 0.7700 -0.0758 -0.6335 +vn 0.7700 0.0758 -0.6335 +vn -0.2246 -0.7404 -0.6335 +vn -0.6824 0.3647 -0.6335 +vn 0.4908 0.5981 -0.6335 +vn 0.3647 -0.6823 -0.6335 +vn -0.7404 -0.2246 -0.6335 +vn -0.0000 0.0001 1.0000 +vn 0.8819 0.4714 -0.0000 +vn -0.9952 0.0980 -0.0000 +vn 0.7730 -0.6344 -0.0000 +vn 0.9569 0.2903 -0.0000 +vn -0.9569 0.2903 -0.0000 +vn 0.6344 -0.7730 -0.0000 +vn 0.9952 0.0980 -0.0000 +vn -0.8819 0.4714 -0.0000 +vn -0.7730 0.6344 -0.0000 +vn 0.2903 -0.9569 -0.0000 +vn -0.6344 0.7730 -0.0000 +vn 0.0980 -0.9952 -0.0000 +vn -0.0980 -0.9952 -0.0000 +vn -0.2903 0.9569 -0.0000 +vn -0.2903 -0.9569 -0.0000 +vn -0.0980 0.9952 -0.0000 +vn -0.4714 -0.8819 -0.0000 +vn 0.0980 0.9952 -0.0000 +vn -0.6344 -0.7730 -0.0000 +vn 0.2903 0.9569 -0.0000 +vn -0.7730 -0.6344 -0.0000 +vn 0.4714 0.8819 -0.0000 +vn -0.8819 -0.4714 -0.0000 +vn 0.9952 -0.0980 -0.0000 +vn 0.6344 0.7730 -0.0000 +vn -0.9569 -0.2903 -0.0000 +vn 0.9569 -0.2903 -0.0000 +vn 0.7730 0.6344 -0.0000 +vn -0.9952 -0.0980 -0.0000 +vn -0.0973 -0.9874 -0.1247 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0001 1.0000 +vn -0.2880 0.9495 -0.1247 +vn -0.2880 -0.9495 -0.1247 +vn -0.0973 0.9874 -0.1247 +vn -0.4677 -0.8750 -0.1247 +vn 0.0973 0.9874 -0.1247 +vn -0.6294 -0.7670 -0.1247 +vn 0.2880 0.9495 -0.1247 +vn -0.7670 -0.6294 -0.1247 +vn 0.4677 0.8750 -0.1247 +vn -0.8750 -0.4677 -0.1247 +vn 0.9874 -0.0973 -0.1247 +vn 0.6294 0.7670 -0.1247 +vn -0.9495 -0.2880 -0.1247 +vn 0.9495 -0.2880 -0.1247 +vn 0.7670 0.6294 -0.1247 +vn -0.9874 -0.0973 -0.1247 +vn 0.8750 -0.4677 -0.1247 +vn 0.8750 0.4677 -0.1247 +vn -0.9874 0.0973 -0.1247 +vn 0.7670 -0.6294 -0.1247 +vn 0.9495 0.2880 -0.1247 +vn -0.9495 0.2880 -0.1247 +vn 0.6294 -0.7670 -0.1247 +vn 0.9874 0.0973 -0.1247 +vn -0.8750 0.4677 -0.1247 +vn 0.4677 -0.8750 -0.1247 +vn -0.7670 0.6294 -0.1247 +vn 0.2880 -0.9495 -0.1247 +vn -0.6294 0.7670 -0.1247 +vn 0.0973 -0.9874 -0.1247 +vn -0.4677 0.8750 -0.1247 s 0 f 1//1 2//1 4//1 3//1 f 3//2 4//2 6//2 5//2 @@ -131,7 +355,135 @@ f 53//27 54//27 56//27 55//27 f 55//28 56//28 58//28 57//28 f 57//29 58//29 60//29 59//29 f 59//30 60//30 62//30 61//30 -f 4//31 2//31 64//31 62//31 60//31 58//31 56//31 54//31 52//31 50//31 48//31 46//31 44//31 42//31 40//31 38//31 36//31 34//31 32//31 30//31 28//31 26//31 24//31 22//31 20//31 18//31 16//31 14//31 12//31 10//31 8//31 6//31 +f 50//31 48//31 88//31 89//31 f 61//32 62//32 64//32 63//32 f 63//33 64//33 2//33 1//33 f 1//34 3//34 5//34 7//34 9//34 11//34 13//34 15//34 17//34 19//34 21//34 23//34 25//34 27//34 29//34 31//34 33//34 35//34 37//34 39//34 41//34 43//34 45//34 47//34 49//34 51//34 53//34 55//34 57//34 59//34 61//34 63//34 +f 68//35 67//35 99//35 100//35 +f 6//36 4//36 65//36 67//36 +f 24//37 22//37 75//37 76//37 +f 42//38 40//38 84//38 85//38 +f 60//39 58//39 93//39 94//39 +f 16//40 14//40 71//40 72//40 +f 34//41 32//41 80//41 81//41 +f 52//42 50//42 89//42 90//42 +f 8//43 6//43 67//43 68//43 +f 26//44 24//44 76//44 77//44 +f 44//45 42//45 85//45 86//45 +f 62//46 60//46 94//46 95//46 +f 18//47 16//47 72//47 73//47 +f 36//48 34//48 81//48 82//48 +f 54//49 52//49 90//49 91//49 +f 10//50 8//50 68//50 69//50 +f 28//51 26//51 77//51 78//51 +f 46//52 44//52 86//52 87//52 +f 64//53 62//53 95//53 96//53 +f 20//54 18//54 73//54 74//54 +f 38//55 36//55 82//55 83//55 +f 56//56 54//56 91//56 92//56 +f 12//57 10//57 69//57 70//57 +f 30//58 28//58 78//58 79//58 +f 48//59 46//59 87//59 88//59 +f 4//60 2//60 66//60 65//60 +f 2//61 64//61 96//61 66//61 +f 22//62 20//62 74//62 75//62 +f 40//63 38//63 83//63 84//63 +f 58//64 56//64 92//64 93//64 +f 14//65 12//65 70//65 71//65 +f 32//66 30//66 79//66 80//66 +f 103//67 102//67 134//67 135//67 +f 95//68 94//68 126//68 127//68 +f 82//69 81//69 113//69 114//69 +f 69//70 68//70 100//70 101//70 +f 96//71 95//71 127//71 128//71 +f 83//72 82//72 114//72 115//72 +f 70//73 69//73 101//73 102//73 +f 66//74 96//74 128//74 98//74 +f 84//75 83//75 115//75 116//75 +f 71//6 70//6 102//6 103//6 +f 85//76 84//76 116//76 117//76 +f 72//77 71//77 103//77 104//77 +f 86//78 85//78 117//78 118//78 +f 73//79 72//79 104//79 105//79 +f 87//22 86//22 118//22 119//22 +f 74//80 73//80 105//80 106//80 +f 88//81 87//81 119//81 120//81 +f 75//82 74//82 106//82 107//82 +f 89//83 88//83 120//83 121//83 +f 76//84 75//84 107//84 108//84 +f 90//85 89//85 121//85 122//85 +f 77//86 76//86 108//86 109//86 +f 91//87 90//87 122//87 123//87 +f 78//88 77//88 109//88 110//88 +f 92//89 91//89 123//89 124//89 +f 79//90 78//90 110//90 111//90 +f 65//91 66//91 98//91 97//91 +f 93//92 92//92 124//92 125//92 +f 80//93 79//93 111//93 112//93 +f 67//94 65//94 97//94 99//94 +f 94//95 93//95 125//95 126//95 +f 81//96 80//96 112//96 113//96 +f 138//97 137//97 169//97 170//97 +f 117//98 116//98 148//98 149//98 +f 104//98 103//98 135//98 136//98 +f 118//99 117//99 149//99 150//99 +f 105//98 104//98 136//98 137//98 +f 119//98 118//98 150//98 151//98 +f 106//98 105//98 137//98 138//98 +f 120//99 119//99 151//99 152//99 +f 107//98 106//98 138//98 139//98 +f 121//98 120//98 152//98 153//98 +f 108//98 107//98 139//98 140//98 +f 122//98 121//98 153//98 154//98 +f 109//98 108//98 140//98 141//98 +f 123//98 122//98 154//98 155//98 +f 110//98 109//98 141//98 142//98 +f 124//98 123//98 155//98 156//98 +f 111//98 110//98 142//98 143//98 +f 97//98 98//98 130//98 129//98 +f 125//98 124//98 156//98 157//98 +f 112//98 111//98 143//98 144//98 +f 99//98 97//98 129//98 131//98 +f 126//98 125//98 157//98 158//98 +f 113//98 112//98 144//98 145//98 +f 100//98 99//98 131//98 132//98 +f 127//98 126//98 158//98 159//98 +f 114//98 113//98 145//98 146//98 +f 101//98 100//98 132//98 133//98 +f 128//98 127//98 159//98 160//98 +f 115//98 114//98 146//98 147//98 +f 102//98 101//98 133//98 134//98 +f 98//98 128//98 160//98 130//98 +f 116//98 115//98 147//98 148//98 +f 161//98 162//98 192//98 191//98 190//98 189//98 188//98 187//98 186//98 185//98 184//98 183//98 182//98 181//98 180//98 179//98 178//98 177//98 176//98 175//98 174//98 173//98 172//98 171//98 170//98 169//98 168//98 167//98 166//98 165//98 164//98 163//98 +f 152//100 151//100 183//100 184//100 +f 139//101 138//101 170//101 171//101 +f 153//102 152//102 184//102 185//102 +f 140//103 139//103 171//103 172//103 +f 154//104 153//104 185//104 186//104 +f 141//105 140//105 172//105 173//105 +f 155//106 154//106 186//106 187//106 +f 142//107 141//107 173//107 174//107 +f 156//108 155//108 187//108 188//108 +f 143//109 142//109 174//109 175//109 +f 129//110 130//110 162//110 161//110 +f 157//111 156//111 188//111 189//111 +f 144//112 143//112 175//112 176//112 +f 131//113 129//113 161//113 163//113 +f 158//114 157//114 189//114 190//114 +f 145//115 144//115 176//115 177//115 +f 132//116 131//116 163//116 164//116 +f 159//117 158//117 190//117 191//117 +f 146//118 145//118 177//118 178//118 +f 133//119 132//119 164//119 165//119 +f 160//120 159//120 191//120 192//120 +f 147//121 146//121 178//121 179//121 +f 134//122 133//122 165//122 166//122 +f 130//123 160//123 192//123 162//123 +f 148//124 147//124 179//124 180//124 +f 135//125 134//125 166//125 167//125 +f 149//126 148//126 180//126 181//126 +f 136//127 135//127 167//127 168//127 +f 150//128 149//128 181//128 182//128 +f 137//129 136//129 168//129 169//129 +f 151//130 150//130 182//130 183//130 diff --git a/assets/meshes/scout/turret.obj b/assets/meshes/scout/turret.obj index 355203c..6b8554e 100644 --- a/assets/meshes/scout/turret.obj +++ b/assets/meshes/scout/turret.obj @@ -1,233 +1,123 @@ # Blender 4.2.0 # www.blender.org mtllib turret.mtl -o Cylinder -v -0.000000 0.000000 -0.750000 -v -0.000000 0.274418 -0.750000 -v 0.146318 0.000000 -0.735589 -v 0.146318 0.274418 -0.735589 -v 0.287012 0.000000 -0.692909 -v 0.287012 0.274418 -0.692909 -v 0.416678 0.000000 -0.623602 -v 0.416678 0.274418 -0.623602 -v 0.530330 0.000000 -0.530330 -v 0.530330 0.274418 -0.530330 -v 0.623602 0.000000 -0.416677 -v 0.623602 0.274418 -0.416677 -v 0.692909 0.000000 -0.287012 -v 0.692909 0.274418 -0.287012 -v 0.735589 0.000000 -0.146318 -v 0.735589 0.274418 -0.146318 -v 0.750000 0.000000 0.000000 -v 0.750000 0.274418 0.000000 -v 0.735589 0.000000 0.146318 -v 0.735589 0.274418 0.146318 -v 0.692910 0.000000 0.287013 -v 0.692910 0.274418 0.287013 -v 0.623602 0.000000 0.416678 -v 0.623602 0.274418 0.416678 -v 0.530330 0.000000 0.530330 -v 0.530330 0.274418 0.530330 -v 0.416678 0.000000 0.623602 -v 0.416678 0.274418 0.623602 -v 0.287012 0.000000 0.692910 -v 0.287012 0.274418 0.692910 -v 0.146317 0.000000 0.735589 -v 0.146317 0.274418 0.735589 -v -0.000000 0.000000 0.750000 -v -0.000000 0.274418 0.750000 -v -0.146318 0.000000 0.735589 -v -0.146318 0.274418 0.735589 -v -0.287013 0.000000 0.692910 -v -0.287013 0.274418 0.692910 -v -0.416678 0.000000 0.623602 -v -0.416678 0.274418 0.623602 -v -0.530331 0.000000 0.530330 -v -0.530331 0.274418 0.530330 -v -0.623603 0.000000 0.416677 -v -0.623603 0.274418 0.416677 -v -0.692910 0.000000 0.287012 -v -0.692910 0.274418 0.287012 -v -0.735589 0.000000 0.146317 -v -0.735589 0.274418 0.146317 -v -0.750000 0.000000 -0.000001 -v -0.750000 0.274418 -0.000001 -v -0.735589 0.000000 -0.146318 -v -0.735589 0.274418 -0.146318 -v -0.692909 0.000000 -0.287013 -v -0.692909 0.274418 -0.287013 -v -0.623602 0.000000 -0.416678 -v -0.623602 0.274418 -0.416678 -v -0.530330 0.000000 -0.530330 -v -0.530330 0.274418 -0.530330 -v -0.416677 0.000000 -0.623603 -v -0.416677 0.274418 -0.623603 -v -0.287012 0.000000 -0.692910 -v -0.287012 0.274418 -0.692910 -v -0.146317 0.000000 -0.735589 -v -0.146317 0.274418 -0.735589 -v 0.114716 0.488240 -0.576718 -v -0.000000 0.488240 -0.588016 -v 0.225024 0.488240 -0.543256 -v 0.326684 0.488240 -0.488918 -v 0.415790 0.488240 -0.415790 -v 0.488918 0.488240 -0.326684 -v 0.543256 0.488240 -0.225024 -v 0.576718 0.488240 -0.114716 -v 0.588016 0.488240 0.000000 -v 0.576718 0.488240 0.114716 -v 0.543256 0.488240 0.225024 -v 0.488918 0.488240 0.326685 -v 0.415790 0.488240 0.415791 -v 0.326684 0.488240 0.488918 -v 0.225024 0.488240 0.543256 -v 0.114716 0.488240 0.576718 -v -0.000000 0.488240 0.588017 -v -0.114717 0.488240 0.576718 -v -0.225024 0.488240 0.543256 -v -0.326685 0.488240 0.488918 -v -0.415791 0.488240 0.415790 -v -0.488918 0.488240 0.326684 -v -0.543257 0.488240 0.225024 -v -0.576718 0.488240 0.114716 -v -0.588017 0.488240 -0.000000 -v -0.576718 0.488240 -0.114717 -v -0.543256 0.488240 -0.225025 -v -0.488917 0.488240 -0.326685 -v -0.415790 0.488240 -0.415791 -v -0.326684 0.488240 -0.488918 -v -0.225023 0.488240 -0.543256 -v -0.114716 0.488240 -0.576718 -vn 0.0980 -0.0000 -0.9952 -vn 0.2903 -0.0000 -0.9569 -vn 0.4714 -0.0000 -0.8819 -vn 0.6344 -0.0000 -0.7730 -vn 0.7730 -0.0000 -0.6344 -vn 0.8819 -0.0000 -0.4714 -vn 0.9569 -0.0000 -0.2903 -vn 0.9952 -0.0000 -0.0980 -vn 0.9952 -0.0000 0.0980 -vn 0.9569 -0.0000 0.2903 -vn 0.8819 -0.0000 0.4714 -vn 0.7730 -0.0000 0.6344 -vn 0.6344 -0.0000 0.7730 -vn 0.4714 -0.0000 0.8819 -vn 0.2903 -0.0000 0.9569 -vn 0.0980 -0.0000 0.9952 -vn -0.0980 -0.0000 0.9952 -vn -0.2903 -0.0000 0.9569 -vn -0.4714 -0.0000 0.8819 -vn -0.6344 -0.0000 0.7730 -vn -0.7730 -0.0000 0.6344 -vn -0.8819 -0.0000 0.4714 -vn -0.9569 -0.0000 0.2903 -vn -0.9952 -0.0000 0.0980 -vn -0.9952 -0.0000 -0.0980 -vn -0.9569 -0.0000 -0.2903 -vn -0.8819 -0.0000 -0.4714 -vn -0.7730 -0.0000 -0.6344 -vn -0.6344 -0.0000 -0.7730 -vn -0.4714 -0.0000 -0.8819 -vn 0.7947 0.6020 0.0783 -vn -0.2903 -0.0000 -0.9569 -vn -0.0980 -0.0000 -0.9952 +o Cube.001 +v 0.718044 0.114953 -0.469450 +v 0.718044 -0.285047 -0.469450 +v -0.681956 0.114953 -0.469450 +v -0.681956 -0.285047 -0.469450 +v 0.718044 0.114953 0.530550 +v 0.718044 -0.285047 0.530550 +v -0.681956 0.114953 0.530550 +v -0.681956 -0.285047 0.530550 +v -0.681956 -0.285047 0.671479 +v -0.681956 0.114953 0.671479 +v 0.718044 0.114953 0.671479 +v 0.718044 -0.285047 0.671479 +v -0.580714 -0.256120 0.783791 +v -0.580714 0.086027 0.742402 +v 0.616802 0.086027 0.742402 +v 0.616802 -0.256120 0.783791 +v -0.808563 -0.248187 -0.377302 +v -0.808563 0.078094 -0.377302 +v -0.808563 0.078094 0.438402 +v -0.808563 -0.248187 0.438402 +v 0.830501 0.075177 -0.370010 +v 0.830501 -0.245271 -0.370010 +v 0.830501 -0.245271 0.431110 +v 0.830501 0.075177 0.431110 +v -0.681956 0.114953 -0.656874 +v 0.718044 0.114953 -0.656874 +v 0.718044 -0.285047 -0.656874 +v -0.681956 -0.285047 -0.656874 +v -0.322517 0.012257 -0.757676 +v 0.358605 0.012257 -0.757676 +v 0.358605 -0.182350 -0.757676 +v -0.322517 -0.182350 -0.757676 +v -0.435744 0.161454 -0.297673 +v 0.471832 0.161454 -0.297673 +v -0.435744 0.161454 0.350596 +v 0.471832 0.161454 0.350596 +v 0.471832 0.161454 0.441956 +v -0.435744 0.161454 0.441956 +v -0.435744 0.161454 -0.419174 +v 0.471832 0.161454 -0.419174 +vn 1.0000 -0.0000 -0.0000 +vn -0.5885 -0.0000 0.8085 +vn -0.0000 0.9801 0.1986 +vn 0.6624 -0.0000 -0.7491 +vn -0.1856 0.9826 -0.0000 vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.9684 0.2494 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 0.1201 0.9928 +vn -0.6704 0.0413 0.7408 +vn 0.6704 0.0413 0.7408 +vn -0.0000 0.9259 0.3776 +vn -0.2795 0.9601 -0.0000 +vn -0.2795 -0.9601 -0.0000 +vn -0.5885 -0.0000 -0.8085 +vn 0.3335 0.9428 -0.0000 +vn 0.3335 -0.9428 -0.0000 +vn 0.6624 -0.0000 0.7491 +vn -0.0000 -0.7005 -0.7137 +vn 0.1856 0.9826 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 0.7005 -0.7137 +vn -0.2700 -0.0000 -0.9629 +vn 0.2700 -0.0000 -0.9629 vn -0.0000 1.0000 -0.0000 -vn -0.2318 0.6020 0.7641 -vn -0.7042 0.6020 -0.3764 -vn 0.6172 0.6020 -0.5066 -vn 0.3764 0.6020 0.7042 -vn 0.0783 0.6020 -0.7947 -vn -0.7641 0.6020 0.2318 -vn -0.0783 0.6020 -0.7947 -vn 0.7641 0.6020 0.2318 -vn -0.3764 0.6020 0.7042 -vn -0.6172 0.6020 -0.5066 -vn 0.7042 0.6020 -0.3764 -vn 0.2318 0.6020 0.7641 -vn -0.7947 0.6020 0.0783 -vn 0.2318 0.6020 -0.7641 -vn 0.7042 0.6020 0.3764 -vn -0.5066 0.6020 0.6172 -vn -0.5066 0.6020 -0.6172 -vn 0.7641 0.6020 -0.2318 -vn 0.0783 0.6020 0.7947 -vn -0.7947 0.6020 -0.0783 -vn 0.3764 0.6020 -0.7042 -vn 0.6172 0.6020 0.5066 -vn -0.6172 0.6020 0.5066 -vn -0.3764 0.6020 -0.7042 -vn 0.7947 0.6020 -0.0783 -vn -0.0783 0.6020 0.7947 -vn -0.7641 0.6020 -0.2318 -vn 0.5066 0.6020 -0.6172 -vn 0.5066 0.6020 0.6172 -vn -0.7042 0.6020 0.3764 -vn -0.2318 0.6020 -0.7641 +vn -0.0000 0.9814 -0.1920 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.125000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 0.750000 s 0 -f 1//1 2//1 4//1 3//1 -f 3//2 4//2 6//2 5//2 -f 5//3 6//3 8//3 7//3 -f 7//4 8//4 10//4 9//4 -f 9//5 10//5 12//5 11//5 -f 11//6 12//6 14//6 13//6 -f 13//7 14//7 16//7 15//7 -f 15//8 16//8 18//8 17//8 -f 17//9 18//9 20//9 19//9 -f 19//10 20//10 22//10 21//10 -f 21//11 22//11 24//11 23//11 -f 23//12 24//12 26//12 25//12 -f 25//13 26//13 28//13 27//13 -f 27//14 28//14 30//14 29//14 -f 29//15 30//15 32//15 31//15 -f 31//16 32//16 34//16 33//16 -f 33//17 34//17 36//17 35//17 -f 35//18 36//18 38//18 37//18 -f 37//19 38//19 40//19 39//19 -f 39//20 40//20 42//20 41//20 -f 41//21 42//21 44//21 43//21 -f 43//22 44//22 46//22 45//22 -f 45//23 46//23 48//23 47//23 -f 47//24 48//24 50//24 49//24 -f 49//25 50//25 52//25 51//25 -f 51//26 52//26 54//26 53//26 -f 53//27 54//27 56//27 55//27 -f 55//28 56//28 58//28 57//28 -f 57//29 58//29 60//29 59//29 -f 59//30 60//30 62//30 61//30 -f 20//31 18//31 73//31 74//31 -f 61//32 62//32 64//32 63//32 -f 63//33 64//33 2//33 1//33 -f 1//34 3//34 5//34 7//34 9//34 11//34 13//34 15//34 17//34 19//34 21//34 23//34 25//34 27//34 29//34 31//34 33//34 35//34 37//34 39//34 41//34 43//34 45//34 47//34 49//34 51//34 53//34 55//34 57//34 59//34 61//34 63//34 -f 65//35 66//35 96//35 95//35 94//35 93//35 92//35 91//35 90//35 89//35 88//35 87//35 86//35 85//35 84//35 83//35 82//35 81//35 80//35 79//35 78//35 77//35 76//35 75//35 74//35 73//35 72//35 71//35 70//35 69//35 68//35 67//35 -f 38//36 36//36 82//36 83//36 -f 56//37 54//37 91//37 92//37 -f 12//38 10//38 69//38 70//38 -f 30//39 28//39 78//39 79//39 -f 4//40 2//40 66//40 65//40 -f 48//41 46//41 87//41 88//41 -f 2//42 64//42 96//42 66//42 -f 22//43 20//43 74//43 75//43 -f 40//44 38//44 83//44 84//44 -f 58//45 56//45 92//45 93//45 -f 14//46 12//46 70//46 71//46 -f 32//47 30//47 79//47 80//47 -f 50//48 48//48 88//48 89//48 -f 6//49 4//49 65//49 67//49 -f 24//50 22//50 75//50 76//50 -f 42//51 40//51 84//51 85//51 -f 60//52 58//52 93//52 94//52 -f 16//53 14//53 71//53 72//53 -f 34//54 32//54 80//54 81//54 -f 52//55 50//55 89//55 90//55 -f 8//56 6//56 67//56 68//56 -f 26//57 24//57 76//57 77//57 -f 44//58 42//58 85//58 86//58 -f 62//59 60//59 94//59 95//59 -f 18//60 16//60 72//60 73//60 -f 36//61 34//61 81//61 82//61 -f 54//62 52//62 90//62 91//62 -f 10//63 8//63 68//63 69//63 -f 28//64 26//64 77//64 78//64 -f 46//65 44//65 86//65 87//65 -f 64//66 62//66 95//66 96//66 +f 1/1/1 2/2/1 27/2/1 26/1/1 +f 8/3/2 7/4/2 19/4/2 20/3/2 +f 10/4/3 11/5/3 37/5/3 38/4/3 +f 2/2/4 1/1/4 21/1/4 22/2/4 +f 3/6/5 7/4/5 35/4/5 33/6/5 +f 8/3/6 4/7/6 2/8/6 6/9/6 +f 9/3/7 12/9/7 16/9/7 13/3/7 +f 8/3/6 6/9/6 12/9/6 9/3/6 +f 7/4/8 8/3/8 9/3/8 10/4/8 +f 6/9/1 5/5/1 11/5/1 12/9/1 +f 14/4/9 13/3/9 16/9/9 15/5/9 +f 10/4/10 9/3/10 13/3/10 14/4/10 +f 12/9/11 11/5/11 15/5/11 16/9/11 +f 11/5/12 10/4/12 14/4/12 15/5/12 +f 18/10/8 17/11/8 20/3/8 19/4/8 +f 7/4/13 3/6/13 18/6/13 19/4/13 +f 4/7/14 8/3/14 20/3/14 17/7/14 +f 3/10/15 4/11/15 17/11/15 18/10/15 +f 24/5/1 23/9/1 22/12/1 21/13/1 +f 1/14/16 5/5/16 24/5/16 21/14/16 +f 6/9/17 2/8/17 22/8/17 23/9/17 +f 5/5/18 6/9/18 23/9/18 24/5/18 +f 27/8/19 28/7/19 32/7/19 31/8/19 +f 2/8/6 4/7/6 28/7/6 27/8/6 +f 11/5/20 5/5/20 36/5/20 37/5/20 +f 4/11/8 3/10/8 25/10/8 28/11/8 +f 30/1/21 31/2/21 32/11/21 29/10/21 +f 25/6/22 26/14/22 30/14/22 29/6/22 +f 28/11/23 25/10/23 29/10/23 32/11/23 +f 26/1/24 27/2/24 31/2/24 30/1/24 +f 36/5/25 35/4/25 38/4/25 37/5/25 +f 33/6/25 35/4/25 36/5/25 34/14/25 +f 33/6/25 34/14/25 40/14/25 39/6/25 +f 26/14/26 25/6/26 39/6/26 40/14/26 +f 25/10/5 3/10/5 33/10/5 39/10/5 +f 1/1/20 26/1/20 40/1/20 34/1/20 +f 7/4/5 10/4/5 38/4/5 35/4/5 +f 5/5/20 1/14/20 34/14/20 36/5/20 diff --git a/assets/scenes/tank_scout.tscn b/assets/scenes/tank_scout.tscn index 2baae70..1225033 100644 --- a/assets/scenes/tank_scout.tscn +++ b/assets/scenes/tank_scout.tscn @@ -1,16 +1,71 @@ -[gd_scene load_steps=8 format=3 uid="uid://d4nj7piinyfug"] +[gd_scene load_steps=16 format=3 uid="uid://d4nj7piinyfug"] [ext_resource type="Script" path="res://assets/scripts/vehicles/scout/tank-base.gd" id="1_isgb6"] [ext_resource type="ArrayMesh" uid="uid://bmabm3fx72638" path="res://assets/meshes/scout/body.obj" id="1_v8pu3"] [ext_resource type="ArrayMesh" uid="uid://p0bp1swl0ytq" path="res://assets/meshes/scout/wheel.obj" id="2_4yh6h"] [ext_resource type="ArrayMesh" uid="uid://brkdedx6x0ral" path="res://assets/meshes/scout/turret.obj" id="4_qlrlb"] +[ext_resource type="Script" path="res://assets/scripts/weapons/autocannon.gd" id="5_17fqp"] [ext_resource type="ArrayMesh" uid="uid://dg3d01n2gh18q" path="res://assets/meshes/scout/gun.obj" id="5_ymni4"] +[ext_resource type="AudioStream" uid="uid://dphgof1shqpni" path="res://assets/sounds/autocannon.ogg" id="6_0iaip"] [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_5htdn"] points = PackedVector3Array(1, 0.249958, 2.49971, -1, 0.249958, 2.49971, 0.442639, 0.110577, 2.71994, 1, -0.250026, 2.49971, 1, 0.249958, -2.5, 0.877056, 0.520238, 1.42108, -1, -0.250026, 2.49971, -0.442835, 0.110577, 2.71994, -0.877251, 0.520238, 1.42108, -1, 0.249958, -2.5, 0.442639, -0.110759, 2.71994, 0.492561, -0.650746, 1.62393, 1, -0.250026, -2.5, 0.877056, 0.520238, -2.19291, -1, -0.250026, -2.5, -0.490211, -0.650746, 1.62393, -0.442835, -0.110759, 2.71994, -0.877251, 0.520238, -2.19291, 0.492561, -0.650746, -2.04167, -0.490211, -0.650746, -2.04167) -[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_pmy52"] -points = PackedVector3Array(0.749831, 0.274372, -0.000146806, 0.749831, 0, -0.000146806, 0.735442, 0.274372, -0.146388, 0.587881, 0.48824, -0.000146806, 0.735442, 0.274372, 0.146241, 0.735442, 0, 0.146241, 0.735442, 0, -0.146388, 0.576576, 0.48824, -0.11482, 0.692862, 0.274372, -0.28705, 0.543246, 0.48824, -0.225088, 0.576576, 0.48824, 0.114673, 0.543246, 0.48824, 0.224941, 0.692862, 0.274372, 0.286903, 0.692862, 0, 0.286903, 0.692862, 0, -0.28705, 0.62356, 0.274372, -0.416699, 0.488773, 0.48824, -0.32684, 0.488773, 0.48824, 0.326547, 0.62356, 0.274372, 0.416552, 0.62356, 0, 0.416552, 0.62356, 0, -0.416699, 0.530178, 0.274372, -0.530345, 0.415654, 0.48824, -0.415818, 0.415654, 0.48824, 0.415671, 0.530178, 0.274372, 0.530198, 0.530178, 0, 0.530198, 0.530178, 0, -0.530345, 0.416535, 0.274372, -0.623728, 0.32653, 0.48824, -0.488939, 0.32653, 0.48824, 0.488792, 0.416535, 0.274372, 0.623581, 0.416535, 0, 0.623581, 0.416535, 0, -0.623728, 0.224927, 0.48824, -0.543412, 0.286887, 0.274372, -0.693031, 0.224927, 0.48824, 0.543119, 0.286887, 0.274372, 0.692884, 0.286887, 0, 0.692884, 0.286887, 0, -0.693031, 0.146228, 0.274372, -0.735611, 0.11466, 0.48824, -0.576742, 0.11466, 0.48824, 0.576596, 0.146228, 0.274372, 0.735464, 0.146228, 0, 0.735464, 0.146228, 0, -0.735611, -0.000158131, 0.274372, -0.75, -0.000158131, 0.48824, -0.588048, -0.000158131, 0.48824, 0.587901, -0.000158131, 0.274372, 0.75, -0.000158131, 0, 0.75, -0.000158131, 0, -0.75, -0.146397, 0.274372, -0.735611, -0.114829, 0.48824, -0.576742, -0.114829, 0.48824, 0.576596, -0.146397, 0.274372, 0.735464, -0.146397, 0, 0.735464, -0.146397, 0, -0.735611, -0.287057, 0.274372, -0.693031, -0.225096, 0.48824, -0.543412, -0.225096, 0.48824, 0.543119, -0.287057, 0.274372, 0.692884, -0.287057, 0, 0.692884, -0.287057, 0, -0.693031, -0.416704, 0.274372, -0.623728, -0.3267, 0.48824, -0.488939, -0.416704, 0.274372, 0.623581, -0.3267, 0.48824, 0.488792, -0.416704, 0, 0.623581, -0.416704, 0, -0.623728, -0.530348, 0.274372, -0.530345, -0.415823, 0.48824, -0.415818, -0.415823, 0.48824, 0.415671, -0.530348, 0.274372, 0.530198, -0.530348, 0, 0.530198, -0.530348, 0, -0.530345, -0.623729, 0.274372, -0.416699, -0.488943, 0.48824, -0.32684, -0.488943, 0.48824, 0.326547, -0.623729, 0.274372, 0.416552, -0.623729, 0, 0.416552, -0.623729, 0, -0.416699, -0.693031, 0.274372, -0.28705, -0.543415, 0.48824, -0.225088, -0.543415, 0.48824, 0.224941, -0.693031, 0.274372, 0.286903, -0.693031, 0, 0.286903, -0.693031, 0, -0.28705, -0.735611, 0.274372, -0.146388, -0.576745, 0.48824, -0.11482, -0.576745, 0.48824, 0.114673, -0.735611, 0.274372, 0.146241, -0.735611, 0, 0.146241, -0.735611, 0, -0.146388, -0.75, 0.274372, -0.000146806, -0.588051, 0.48824, -0.000146806, -0.75, 0, -0.000146806) +[sub_resource type="Animation" id="Animation_0d1mk"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, -0.0747893, 0)] +} + +[sub_resource type="Animation" id="Animation_rmni0"] +resource_name = "recoil" +length = 0.1 +step = 0.01 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0001, 0.0002, 0.01, 0.1), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [Vector3(0, -0.0747893, 0), Vector3(0, -0.0747893, 0), Vector3(0, -0.0747893, 0), Vector3(0, -0.075, -0.05), Vector3(0, -0.0747893, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_2wk1f"] +_data = { +"RESET": SubResource("Animation_0d1mk"), +"recoil": SubResource("Animation_rmni0") +} + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_bn07k"] +direction = Vector3(0, 0, 1) +initial_velocity_min = 30.0 +initial_velocity_max = 30.0 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wct1a"] +albedo_color = Color(0.870588, 0, 0.239216, 1) +emission_enabled = true +emission = Color(1, 0.8, 0.329412, 1) +emission_energy_multiplier = 8.2 + +[sub_resource type="BoxMesh" id="BoxMesh_excgr"] +material = SubResource("StandardMaterial3D_wct1a") +size = Vector3(0.03, 0.03, 0.03) + +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_3ot02"] +points = PackedVector3Array(0.469761, -0.281246, 0.686087, -0.358221, -0.21159, -0.728951, -0.361235, 0.0354451, -0.734983, -0.677274, 0.114573, 0.672544, 0.718, 0.112891, -0.646666, 0.718, 0.112891, 0.666297, 0.69889, -0.285, -0.628923, -0.651606, -0.284749, 0.672477, -0.679969, 0.115272, -0.65551, -0.770648, -0.259232, -0.380802, 0.791654, -0.259008, 0.424488, 0.442311, 0.151923, 0.489267, -0.627885, -0.285, -0.653601, 0.613951, -0.0889078, 0.763567, -0.490543, 0.151146, -0.467911, -0.784174, 0.0852195, 0.432147, 0.803528, 0.0847422, -0.386435, -0.586513, -0.263038, 0.756839, 0.404805, -0.21159, -0.728951, 0.533303, 0.149884, -0.464967, -0.590062, 0.086426, 0.73612, -0.770648, -0.259232, 0.424962, -0.490543, 0.151146, 0.487541, -0.784174, 0.0852195, -0.387562, 0.69889, -0.285, 0.648554, 0.791654, -0.259008, -0.380499, 0.803528, 0.0847422, 0.430794, 0.608569, -0.263038, 0.756839, 0.40802, 0.0354451, -0.734983, 0.61508, 0.0871661, 0.739549, -0.566867, -0.0889078, 0.763567, 0.578004, -0.261088, -0.680369) [node name="VehicleBody3D" type="VehicleBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.91666, 0) @@ -79,22 +134,53 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, mesh = ExtResource("2_4yh6h") [node name="turret" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.520482, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.829618, 0) mesh = ExtResource("4_qlrlb") -[node name="cannon" type="MeshInstance3D" parent="turret"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.233854, 0) +[node name="AudioListener3D" type="AudioListener3D" parent="turret"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.19, 0) +current = true + +[node name="autocannon" type="Node3D" parent="turret"] +script = ExtResource("5_17fqp") +_shots_per_minute = 150 + +[node name="cannon" type="MeshInstance3D" parent="turret/autocannon"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0747893, 0) mesh = ExtResource("5_ymni4") +skeleton = NodePath("../..") -[node name="Camera3D" type="Camera3D" parent="turret/cannon"] -transform = Transform3D(-1, -4.76139e-08, 7.33189e-08, 0, 0.838671, 0.544639, -8.74228e-08, 0.544639, -0.838671, 0, 1.421, -3.761) +[node name="recoil_anim" type="AnimationPlayer" parent="turret/autocannon"] +root_node = NodePath("../cannon") +libraries = { +"": SubResource("AnimationLibrary_2wk1f") +} -[node name="muzzle" type="Node3D" parent="turret/cannon"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.59087) +[node name="cam_ext" type="Camera3D" parent="turret/autocannon"] +transform = Transform3D(-1, -4.76138e-08, 7.33189e-08, 0, 0.838671, 0.544639, -8.74228e-08, 0.544639, -0.838671, 0, 1.34621, -3.761) -[node name="aimpoint" type="Node3D" parent="turret/cannon"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10) +[node name="muzzle" type="Node3D" parent="turret/autocannon"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0747893, 2.59087) -[node name="turret_collmesh" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.520482, 0) -shape = SubResource("ConvexPolygonShape3D_pmy52") +[node name="aimpoint" type="Node3D" parent="turret/autocannon"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0747893, 10) + +[node name="cam_int" type="Camera3D" parent="turret/autocannon"] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0.24, -0.0747893, 0.805) + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="turret/autocannon"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0747893, 2.055) +stream = ExtResource("6_0iaip") + +[node name="GPUParticles3D" type="GPUParticles3D" parent="turret/autocannon"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0747893, 2.05) +emitting = false +lifetime = 0.06 +one_shot = true +explosiveness = 1.0 +process_material = SubResource("ParticleProcessMaterial_bn07k") +draw_pass_1 = SubResource("BoxMesh_excgr") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.829618, 0) +shape = SubResource("ConvexPolygonShape3D_3ot02") diff --git a/assets/scripts/ammo/round_autocannon.gd b/assets/scripts/ammo/round_autocannon.gd index a62ee76..2cb12c5 100644 --- a/assets/scripts/ammo/round_autocannon.gd +++ b/assets/scripts/ammo/round_autocannon.gd @@ -19,4 +19,4 @@ func init_round(start:Node3D, aim_vec:Vector3): position = start.global_position transform.basis = start.global_transform.basis #print(start.target_position) - set_linear_velocity(aim_vec.normalized() * 200.0) + set_linear_velocity(aim_vec.normalized() * 890.0) diff --git a/assets/scripts/vehicles/scout/tank-base.gd b/assets/scripts/vehicles/scout/tank-base.gd index 40ed04d..41f3753 100644 --- a/assets/scripts/vehicles/scout/tank-base.gd +++ b/assets/scripts/vehicles/scout/tank-base.gd @@ -2,51 +2,48 @@ extends VehicleBody3D # Member variables -var shotscene = preload("res://assets/scenes/round_autocannon.tscn") @export var _steer_speed = 2.5 @export var _steer_limit = .8 @export var _engine_force = 1000.0 - var steer_angle = 0 var steer_target = 0 -var view_sensitivity = 0.1; - +var view_sensitivity = 0.1 +var ext_view = true +var fire_btn_down = false func _process(delta): steering = move_toward(steering, Input.get_axis("vehicle_right", "vehicle_left") * _steer_limit, delta * _steer_speed) engine_force = Input.get_axis("vehicle_decel", "vehicle_accel") * _engine_force + if fire_btn_down: + $turret/autocannon.on_fire() func _ready(): - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED); + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) func _input(ie): if ie is InputEventMouseMotion: var plus_pitch = view_sensitivity * -ie.relative.y var plus_yaw = fmod(view_sensitivity * -ie.relative.x,360) - var can_rot = $turret/cannon.get_rotation() - #print(plus_pitch) + var can_rot = $turret/autocannon.get_rotation() can_rot.x -= deg_to_rad(plus_pitch) var can_elev = rad_to_deg(can_rot.x) - #print(can_elev) if can_elev < 7 and can_elev > -30: - $turret/cannon.set_rotation(can_rot) - #print(cannon.get_global_transform().get_rotation()) + $turret/autocannon.set_rotation(can_rot) $turret.rotate(Vector3(0,1,0), deg_to_rad(plus_yaw)) elif ie is InputEventMouseButton: - if ie.button_index == MOUSE_BUTTON_LEFT and ie.is_pressed(): - var shot = shotscene.instantiate() - shot.init_round($turret/cannon/muzzle, $turret/cannon/aimpoint.global_position - $turret/cannon/muzzle.global_position) - get_tree().root.add_child(shot) - # - #shot.position = $turret/cannon/RayCast3D.global_position - #shot.transform.basis = $turret/cannon/RayCast3D.global_transform.basis - #print($turret/cannon/RayCast3D.target_position) - #shot.set_linear_velocity($turret/cannon/RayCast3D.position.normalized() * 100.0) - #shot.set_linear_velocity(shot.get_rotation().normalized() * 10) - #shot.connect("body_enter", self, "shot_hit") - + if ie.button_index == MOUSE_BUTTON_LEFT: + fire_btn_down = ie.is_pressed() + elif ie.button_index == MOUSE_BUTTON_RIGHT and ie.is_pressed(): + if ext_view: + $turret/autocannon/cam_int.make_current() + ext_view = false + else: + $turret/autocannon/cam_ext.make_current() + ext_view = true func shot_hit(obj): print ("Own shot hit obj: " + obj.get_name()) + + diff --git a/assets/scripts/weapons/autocannon.gd b/assets/scripts/weapons/autocannon.gd new file mode 100644 index 0000000..de4cfac --- /dev/null +++ b/assets/scripts/weapons/autocannon.gd @@ -0,0 +1,28 @@ +extends Node3D + +@export var _shots_per_minute = 100 +var shotscene = preload("res://assets/scenes/round_autocannon.tscn") + +var _is_firing = false + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func on_fire(): + if _is_firing: + return + _is_firing = true + var shot = shotscene.instantiate() + shot.init_round($muzzle, $aimpoint.global_position - $muzzle.global_position) + get_tree().root.add_child(shot) + $AudioStreamPlayer3D.play() + $GPUParticles3D.emitting = true + $recoil_anim.play("recoil") + await get_tree().create_timer(60.0 / float(_shots_per_minute)).timeout + _is_firing = false diff --git a/assets/sounds/autocannon.ogg b/assets/sounds/autocannon.ogg new file mode 100644 index 0000000..e2f8eba --- /dev/null +++ b/assets/sounds/autocannon.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b21ffa41e5c3be4eecdfbd3490544f5aa8b6d1581787265863e13de1a8e599d +size 179939 diff --git a/assets/sounds/autocannon.ogg.import b/assets/sounds/autocannon.ogg.import new file mode 100644 index 0000000..acaf8e1 --- /dev/null +++ b/assets/sounds/autocannon.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dphgof1shqpni" +path="res://.godot/imported/autocannon.ogg-54668ae78082042a2ca89ba88b7c145b.oggvorbisstr" + +[deps] + +source_file="res://assets/sounds/autocannon.ogg" +dest_files=["res://.godot/imported/autocannon.ogg-54668ae78082042a2ca89ba88b7c145b.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/blender/tbody.blend b/blender/tbody.blend index d1e773c..16de045 100644 --- a/blender/tbody.blend +++ b/blender/tbody.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:279d6a36f3e24046492a1c8ff2fa7b7dd3259c1b0421153a842376b48ace8725 -size 518264 +oid sha256:d22f9b76245bb42e80aba58a5f158162507924dcb6433b67ff1fce60fce465b9 +size 526848 diff --git a/map.tscn b/map.tscn index eb646af..106c080 100644 --- a/map.tscn +++ b/map.tscn @@ -16,7 +16,8 @@ points = PackedVector3Array(-1, 0, -1, -1, 0, 1, 1, 0, -1, 1, 0, 1) [node name="Sun" type="DirectionalLight3D" parent="."] transform = Transform3D(-1, 0, -8.74228e-08, -5.82212e-08, 0.745976, 0.665973, 6.52153e-08, 0.665973, -0.745976, 0, 2.57678, 0) -light_color = Color(1, 0.388235, 1, 1) +light_color = Color(0.97933, 0.734738, 0.534144, 1) +shadow_enabled = true directional_shadow_max_distance = 200.0 [node name="TankScout" parent="." instance=ExtResource("2_3ngjf")]