diff --git a/assets/entities/missile/Material.material b/assets/entities/missile/Material.material new file mode 100644 index 0000000..0c6486b Binary files /dev/null and b/assets/entities/missile/Material.material differ diff --git a/assets/entities/missile/missile.blend b/assets/entities/missile/missile.blend new file mode 100644 index 0000000..a890062 Binary files /dev/null and b/assets/entities/missile/missile.blend differ diff --git a/assets/entities/missile/missile.blend1 b/assets/entities/missile/missile.blend1 new file mode 100644 index 0000000..4294148 Binary files /dev/null and b/assets/entities/missile/missile.blend1 differ diff --git a/assets/entities/missile/missile.glb b/assets/entities/missile/missile.glb new file mode 100644 index 0000000..5e45960 Binary files /dev/null and b/assets/entities/missile/missile.glb differ diff --git a/assets/entities/missile/missile.glb.import b/assets/entities/missile/missile.glb.import new file mode 100644 index 0000000..4e33678 --- /dev/null +++ b/assets/entities/missile/missile.glb.import @@ -0,0 +1,1065 @@ +[remap] + +importer="scene" +type="PackedScene" +path="res://.import/missile.glb-d1d46d15341a3529874c81f867b4c27a.scn" + +[deps] + +source_file="res://assets/entities/missile/missile.glb" +dest_files=[ "res://.import/missile.glb-d1d46d15341a3529874c81f867b4c27a.scn" ] + +[params] + +nodes/root_type="Spatial" +nodes/root_name="Scene Root" +nodes/root_scale=1.0 +nodes/custom_script="" +nodes/storage=0 +nodes/use_legacy_names=false +materials/location=1 +materials/storage=1 +materials/keep_on_reimport=true +meshes/octahedral_compression=true +meshes/compress=4286 +meshes/ensure_tangents=true +meshes/storage=0 +meshes/light_baking=0 +meshes/lightmap_texel_size=0.1 +skins/use_named_skins=true +external_files/store_in_subdir=false +animation/import=true +animation/fps=15 +animation/filter_script="" +animation/storage=false +animation/keep_custom_tracks=false +animation/optimizer/enabled=true +animation/optimizer/max_linear_error=0.05 +animation/optimizer/max_angular_error=0.01 +animation/optimizer/max_angle=22 +animation/optimizer/remove_unused_tracks=true +animation/clips/amount=0 +animation/clip_1/name="" +animation/clip_1/start_frame=0 +animation/clip_1/end_frame=0 +animation/clip_1/loops=false +animation/clip_2/name="" +animation/clip_2/start_frame=0 +animation/clip_2/end_frame=0 +animation/clip_2/loops=false +animation/clip_3/name="" +animation/clip_3/start_frame=0 +animation/clip_3/end_frame=0 +animation/clip_3/loops=false +animation/clip_4/name="" +animation/clip_4/start_frame=0 +animation/clip_4/end_frame=0 +animation/clip_4/loops=false +animation/clip_5/name="" +animation/clip_5/start_frame=0 +animation/clip_5/end_frame=0 +animation/clip_5/loops=false +animation/clip_6/name="" +animation/clip_6/start_frame=0 +animation/clip_6/end_frame=0 +animation/clip_6/loops=false +animation/clip_7/name="" +animation/clip_7/start_frame=0 +animation/clip_7/end_frame=0 +animation/clip_7/loops=false +animation/clip_8/name="" +animation/clip_8/start_frame=0 +animation/clip_8/end_frame=0 +animation/clip_8/loops=false +animation/clip_9/name="" +animation/clip_9/start_frame=0 +animation/clip_9/end_frame=0 +animation/clip_9/loops=false +animation/clip_10/name="" +animation/clip_10/start_frame=0 +animation/clip_10/end_frame=0 +animation/clip_10/loops=false +animation/clip_11/name="" +animation/clip_11/start_frame=0 +animation/clip_11/end_frame=0 +animation/clip_11/loops=false +animation/clip_12/name="" +animation/clip_12/start_frame=0 +animation/clip_12/end_frame=0 +animation/clip_12/loops=false +animation/clip_13/name="" +animation/clip_13/start_frame=0 +animation/clip_13/end_frame=0 +animation/clip_13/loops=false +animation/clip_14/name="" +animation/clip_14/start_frame=0 +animation/clip_14/end_frame=0 +animation/clip_14/loops=false +animation/clip_15/name="" +animation/clip_15/start_frame=0 +animation/clip_15/end_frame=0 +animation/clip_15/loops=false +animation/clip_16/name="" +animation/clip_16/start_frame=0 +animation/clip_16/end_frame=0 +animation/clip_16/loops=false +animation/clip_17/name="" +animation/clip_17/start_frame=0 +animation/clip_17/end_frame=0 +animation/clip_17/loops=false +animation/clip_18/name="" +animation/clip_18/start_frame=0 +animation/clip_18/end_frame=0 +animation/clip_18/loops=false +animation/clip_19/name="" +animation/clip_19/start_frame=0 +animation/clip_19/end_frame=0 +animation/clip_19/loops=false +animation/clip_20/name="" +animation/clip_20/start_frame=0 +animation/clip_20/end_frame=0 +animation/clip_20/loops=false +animation/clip_21/name="" +animation/clip_21/start_frame=0 +animation/clip_21/end_frame=0 +animation/clip_21/loops=false +animation/clip_22/name="" +animation/clip_22/start_frame=0 +animation/clip_22/end_frame=0 +animation/clip_22/loops=false +animation/clip_23/name="" +animation/clip_23/start_frame=0 +animation/clip_23/end_frame=0 +animation/clip_23/loops=false +animation/clip_24/name="" +animation/clip_24/start_frame=0 +animation/clip_24/end_frame=0 +animation/clip_24/loops=false +animation/clip_25/name="" +animation/clip_25/start_frame=0 +animation/clip_25/end_frame=0 +animation/clip_25/loops=false +animation/clip_26/name="" +animation/clip_26/start_frame=0 +animation/clip_26/end_frame=0 +animation/clip_26/loops=false +animation/clip_27/name="" +animation/clip_27/start_frame=0 +animation/clip_27/end_frame=0 +animation/clip_27/loops=false +animation/clip_28/name="" +animation/clip_28/start_frame=0 +animation/clip_28/end_frame=0 +animation/clip_28/loops=false +animation/clip_29/name="" +animation/clip_29/start_frame=0 +animation/clip_29/end_frame=0 +animation/clip_29/loops=false +animation/clip_30/name="" +animation/clip_30/start_frame=0 +animation/clip_30/end_frame=0 +animation/clip_30/loops=false +animation/clip_31/name="" +animation/clip_31/start_frame=0 +animation/clip_31/end_frame=0 +animation/clip_31/loops=false +animation/clip_32/name="" +animation/clip_32/start_frame=0 +animation/clip_32/end_frame=0 +animation/clip_32/loops=false +animation/clip_33/name="" +animation/clip_33/start_frame=0 +animation/clip_33/end_frame=0 +animation/clip_33/loops=false +animation/clip_34/name="" +animation/clip_34/start_frame=0 +animation/clip_34/end_frame=0 +animation/clip_34/loops=false +animation/clip_35/name="" +animation/clip_35/start_frame=0 +animation/clip_35/end_frame=0 +animation/clip_35/loops=false +animation/clip_36/name="" +animation/clip_36/start_frame=0 +animation/clip_36/end_frame=0 +animation/clip_36/loops=false +animation/clip_37/name="" +animation/clip_37/start_frame=0 +animation/clip_37/end_frame=0 +animation/clip_37/loops=false +animation/clip_38/name="" +animation/clip_38/start_frame=0 +animation/clip_38/end_frame=0 +animation/clip_38/loops=false +animation/clip_39/name="" +animation/clip_39/start_frame=0 +animation/clip_39/end_frame=0 +animation/clip_39/loops=false +animation/clip_40/name="" +animation/clip_40/start_frame=0 +animation/clip_40/end_frame=0 +animation/clip_40/loops=false +animation/clip_41/name="" +animation/clip_41/start_frame=0 +animation/clip_41/end_frame=0 +animation/clip_41/loops=false +animation/clip_42/name="" +animation/clip_42/start_frame=0 +animation/clip_42/end_frame=0 +animation/clip_42/loops=false +animation/clip_43/name="" +animation/clip_43/start_frame=0 +animation/clip_43/end_frame=0 +animation/clip_43/loops=false +animation/clip_44/name="" +animation/clip_44/start_frame=0 +animation/clip_44/end_frame=0 +animation/clip_44/loops=false +animation/clip_45/name="" +animation/clip_45/start_frame=0 +animation/clip_45/end_frame=0 +animation/clip_45/loops=false +animation/clip_46/name="" +animation/clip_46/start_frame=0 +animation/clip_46/end_frame=0 +animation/clip_46/loops=false +animation/clip_47/name="" +animation/clip_47/start_frame=0 +animation/clip_47/end_frame=0 +animation/clip_47/loops=false +animation/clip_48/name="" +animation/clip_48/start_frame=0 +animation/clip_48/end_frame=0 +animation/clip_48/loops=false +animation/clip_49/name="" +animation/clip_49/start_frame=0 +animation/clip_49/end_frame=0 +animation/clip_49/loops=false +animation/clip_50/name="" +animation/clip_50/start_frame=0 +animation/clip_50/end_frame=0 +animation/clip_50/loops=false +animation/clip_51/name="" +animation/clip_51/start_frame=0 +animation/clip_51/end_frame=0 +animation/clip_51/loops=false +animation/clip_52/name="" +animation/clip_52/start_frame=0 +animation/clip_52/end_frame=0 +animation/clip_52/loops=false +animation/clip_53/name="" +animation/clip_53/start_frame=0 +animation/clip_53/end_frame=0 +animation/clip_53/loops=false +animation/clip_54/name="" +animation/clip_54/start_frame=0 +animation/clip_54/end_frame=0 +animation/clip_54/loops=false +animation/clip_55/name="" +animation/clip_55/start_frame=0 +animation/clip_55/end_frame=0 +animation/clip_55/loops=false +animation/clip_56/name="" +animation/clip_56/start_frame=0 +animation/clip_56/end_frame=0 +animation/clip_56/loops=false +animation/clip_57/name="" +animation/clip_57/start_frame=0 +animation/clip_57/end_frame=0 +animation/clip_57/loops=false +animation/clip_58/name="" +animation/clip_58/start_frame=0 +animation/clip_58/end_frame=0 +animation/clip_58/loops=false +animation/clip_59/name="" +animation/clip_59/start_frame=0 +animation/clip_59/end_frame=0 +animation/clip_59/loops=false +animation/clip_60/name="" +animation/clip_60/start_frame=0 +animation/clip_60/end_frame=0 +animation/clip_60/loops=false +animation/clip_61/name="" +animation/clip_61/start_frame=0 +animation/clip_61/end_frame=0 +animation/clip_61/loops=false +animation/clip_62/name="" +animation/clip_62/start_frame=0 +animation/clip_62/end_frame=0 +animation/clip_62/loops=false +animation/clip_63/name="" +animation/clip_63/start_frame=0 +animation/clip_63/end_frame=0 +animation/clip_63/loops=false +animation/clip_64/name="" +animation/clip_64/start_frame=0 +animation/clip_64/end_frame=0 +animation/clip_64/loops=false +animation/clip_65/name="" +animation/clip_65/start_frame=0 +animation/clip_65/end_frame=0 +animation/clip_65/loops=false +animation/clip_66/name="" +animation/clip_66/start_frame=0 +animation/clip_66/end_frame=0 +animation/clip_66/loops=false +animation/clip_67/name="" +animation/clip_67/start_frame=0 +animation/clip_67/end_frame=0 +animation/clip_67/loops=false +animation/clip_68/name="" +animation/clip_68/start_frame=0 +animation/clip_68/end_frame=0 +animation/clip_68/loops=false +animation/clip_69/name="" +animation/clip_69/start_frame=0 +animation/clip_69/end_frame=0 +animation/clip_69/loops=false +animation/clip_70/name="" +animation/clip_70/start_frame=0 +animation/clip_70/end_frame=0 +animation/clip_70/loops=false +animation/clip_71/name="" +animation/clip_71/start_frame=0 +animation/clip_71/end_frame=0 +animation/clip_71/loops=false +animation/clip_72/name="" +animation/clip_72/start_frame=0 +animation/clip_72/end_frame=0 +animation/clip_72/loops=false +animation/clip_73/name="" +animation/clip_73/start_frame=0 +animation/clip_73/end_frame=0 +animation/clip_73/loops=false +animation/clip_74/name="" +animation/clip_74/start_frame=0 +animation/clip_74/end_frame=0 +animation/clip_74/loops=false +animation/clip_75/name="" +animation/clip_75/start_frame=0 +animation/clip_75/end_frame=0 +animation/clip_75/loops=false +animation/clip_76/name="" +animation/clip_76/start_frame=0 +animation/clip_76/end_frame=0 +animation/clip_76/loops=false +animation/clip_77/name="" +animation/clip_77/start_frame=0 +animation/clip_77/end_frame=0 +animation/clip_77/loops=false +animation/clip_78/name="" +animation/clip_78/start_frame=0 +animation/clip_78/end_frame=0 +animation/clip_78/loops=false +animation/clip_79/name="" +animation/clip_79/start_frame=0 +animation/clip_79/end_frame=0 +animation/clip_79/loops=false +animation/clip_80/name="" +animation/clip_80/start_frame=0 +animation/clip_80/end_frame=0 +animation/clip_80/loops=false +animation/clip_81/name="" +animation/clip_81/start_frame=0 +animation/clip_81/end_frame=0 +animation/clip_81/loops=false +animation/clip_82/name="" +animation/clip_82/start_frame=0 +animation/clip_82/end_frame=0 +animation/clip_82/loops=false +animation/clip_83/name="" +animation/clip_83/start_frame=0 +animation/clip_83/end_frame=0 +animation/clip_83/loops=false +animation/clip_84/name="" +animation/clip_84/start_frame=0 +animation/clip_84/end_frame=0 +animation/clip_84/loops=false +animation/clip_85/name="" +animation/clip_85/start_frame=0 +animation/clip_85/end_frame=0 +animation/clip_85/loops=false +animation/clip_86/name="" +animation/clip_86/start_frame=0 +animation/clip_86/end_frame=0 +animation/clip_86/loops=false +animation/clip_87/name="" +animation/clip_87/start_frame=0 +animation/clip_87/end_frame=0 +animation/clip_87/loops=false +animation/clip_88/name="" +animation/clip_88/start_frame=0 +animation/clip_88/end_frame=0 +animation/clip_88/loops=false +animation/clip_89/name="" +animation/clip_89/start_frame=0 +animation/clip_89/end_frame=0 +animation/clip_89/loops=false +animation/clip_90/name="" +animation/clip_90/start_frame=0 +animation/clip_90/end_frame=0 +animation/clip_90/loops=false +animation/clip_91/name="" +animation/clip_91/start_frame=0 +animation/clip_91/end_frame=0 +animation/clip_91/loops=false +animation/clip_92/name="" +animation/clip_92/start_frame=0 +animation/clip_92/end_frame=0 +animation/clip_92/loops=false +animation/clip_93/name="" +animation/clip_93/start_frame=0 +animation/clip_93/end_frame=0 +animation/clip_93/loops=false +animation/clip_94/name="" +animation/clip_94/start_frame=0 +animation/clip_94/end_frame=0 +animation/clip_94/loops=false +animation/clip_95/name="" +animation/clip_95/start_frame=0 +animation/clip_95/end_frame=0 +animation/clip_95/loops=false +animation/clip_96/name="" +animation/clip_96/start_frame=0 +animation/clip_96/end_frame=0 +animation/clip_96/loops=false +animation/clip_97/name="" +animation/clip_97/start_frame=0 +animation/clip_97/end_frame=0 +animation/clip_97/loops=false +animation/clip_98/name="" +animation/clip_98/start_frame=0 +animation/clip_98/end_frame=0 +animation/clip_98/loops=false +animation/clip_99/name="" +animation/clip_99/start_frame=0 +animation/clip_99/end_frame=0 +animation/clip_99/loops=false +animation/clip_100/name="" +animation/clip_100/start_frame=0 +animation/clip_100/end_frame=0 +animation/clip_100/loops=false +animation/clip_101/name="" +animation/clip_101/start_frame=0 +animation/clip_101/end_frame=0 +animation/clip_101/loops=false +animation/clip_102/name="" +animation/clip_102/start_frame=0 +animation/clip_102/end_frame=0 +animation/clip_102/loops=false +animation/clip_103/name="" +animation/clip_103/start_frame=0 +animation/clip_103/end_frame=0 +animation/clip_103/loops=false +animation/clip_104/name="" +animation/clip_104/start_frame=0 +animation/clip_104/end_frame=0 +animation/clip_104/loops=false +animation/clip_105/name="" +animation/clip_105/start_frame=0 +animation/clip_105/end_frame=0 +animation/clip_105/loops=false +animation/clip_106/name="" +animation/clip_106/start_frame=0 +animation/clip_106/end_frame=0 +animation/clip_106/loops=false +animation/clip_107/name="" +animation/clip_107/start_frame=0 +animation/clip_107/end_frame=0 +animation/clip_107/loops=false +animation/clip_108/name="" +animation/clip_108/start_frame=0 +animation/clip_108/end_frame=0 +animation/clip_108/loops=false +animation/clip_109/name="" +animation/clip_109/start_frame=0 +animation/clip_109/end_frame=0 +animation/clip_109/loops=false +animation/clip_110/name="" +animation/clip_110/start_frame=0 +animation/clip_110/end_frame=0 +animation/clip_110/loops=false +animation/clip_111/name="" +animation/clip_111/start_frame=0 +animation/clip_111/end_frame=0 +animation/clip_111/loops=false +animation/clip_112/name="" +animation/clip_112/start_frame=0 +animation/clip_112/end_frame=0 +animation/clip_112/loops=false +animation/clip_113/name="" +animation/clip_113/start_frame=0 +animation/clip_113/end_frame=0 +animation/clip_113/loops=false +animation/clip_114/name="" +animation/clip_114/start_frame=0 +animation/clip_114/end_frame=0 +animation/clip_114/loops=false +animation/clip_115/name="" +animation/clip_115/start_frame=0 +animation/clip_115/end_frame=0 +animation/clip_115/loops=false +animation/clip_116/name="" +animation/clip_116/start_frame=0 +animation/clip_116/end_frame=0 +animation/clip_116/loops=false +animation/clip_117/name="" +animation/clip_117/start_frame=0 +animation/clip_117/end_frame=0 +animation/clip_117/loops=false +animation/clip_118/name="" +animation/clip_118/start_frame=0 +animation/clip_118/end_frame=0 +animation/clip_118/loops=false +animation/clip_119/name="" +animation/clip_119/start_frame=0 +animation/clip_119/end_frame=0 +animation/clip_119/loops=false +animation/clip_120/name="" +animation/clip_120/start_frame=0 +animation/clip_120/end_frame=0 +animation/clip_120/loops=false +animation/clip_121/name="" +animation/clip_121/start_frame=0 +animation/clip_121/end_frame=0 +animation/clip_121/loops=false +animation/clip_122/name="" +animation/clip_122/start_frame=0 +animation/clip_122/end_frame=0 +animation/clip_122/loops=false +animation/clip_123/name="" +animation/clip_123/start_frame=0 +animation/clip_123/end_frame=0 +animation/clip_123/loops=false +animation/clip_124/name="" +animation/clip_124/start_frame=0 +animation/clip_124/end_frame=0 +animation/clip_124/loops=false +animation/clip_125/name="" +animation/clip_125/start_frame=0 +animation/clip_125/end_frame=0 +animation/clip_125/loops=false +animation/clip_126/name="" +animation/clip_126/start_frame=0 +animation/clip_126/end_frame=0 +animation/clip_126/loops=false +animation/clip_127/name="" +animation/clip_127/start_frame=0 +animation/clip_127/end_frame=0 +animation/clip_127/loops=false +animation/clip_128/name="" +animation/clip_128/start_frame=0 +animation/clip_128/end_frame=0 +animation/clip_128/loops=false +animation/clip_129/name="" +animation/clip_129/start_frame=0 +animation/clip_129/end_frame=0 +animation/clip_129/loops=false +animation/clip_130/name="" +animation/clip_130/start_frame=0 +animation/clip_130/end_frame=0 +animation/clip_130/loops=false +animation/clip_131/name="" +animation/clip_131/start_frame=0 +animation/clip_131/end_frame=0 +animation/clip_131/loops=false +animation/clip_132/name="" +animation/clip_132/start_frame=0 +animation/clip_132/end_frame=0 +animation/clip_132/loops=false +animation/clip_133/name="" +animation/clip_133/start_frame=0 +animation/clip_133/end_frame=0 +animation/clip_133/loops=false +animation/clip_134/name="" +animation/clip_134/start_frame=0 +animation/clip_134/end_frame=0 +animation/clip_134/loops=false +animation/clip_135/name="" +animation/clip_135/start_frame=0 +animation/clip_135/end_frame=0 +animation/clip_135/loops=false +animation/clip_136/name="" +animation/clip_136/start_frame=0 +animation/clip_136/end_frame=0 +animation/clip_136/loops=false +animation/clip_137/name="" +animation/clip_137/start_frame=0 +animation/clip_137/end_frame=0 +animation/clip_137/loops=false +animation/clip_138/name="" +animation/clip_138/start_frame=0 +animation/clip_138/end_frame=0 +animation/clip_138/loops=false +animation/clip_139/name="" +animation/clip_139/start_frame=0 +animation/clip_139/end_frame=0 +animation/clip_139/loops=false +animation/clip_140/name="" +animation/clip_140/start_frame=0 +animation/clip_140/end_frame=0 +animation/clip_140/loops=false +animation/clip_141/name="" +animation/clip_141/start_frame=0 +animation/clip_141/end_frame=0 +animation/clip_141/loops=false +animation/clip_142/name="" +animation/clip_142/start_frame=0 +animation/clip_142/end_frame=0 +animation/clip_142/loops=false +animation/clip_143/name="" +animation/clip_143/start_frame=0 +animation/clip_143/end_frame=0 +animation/clip_143/loops=false +animation/clip_144/name="" +animation/clip_144/start_frame=0 +animation/clip_144/end_frame=0 +animation/clip_144/loops=false +animation/clip_145/name="" +animation/clip_145/start_frame=0 +animation/clip_145/end_frame=0 +animation/clip_145/loops=false +animation/clip_146/name="" +animation/clip_146/start_frame=0 +animation/clip_146/end_frame=0 +animation/clip_146/loops=false +animation/clip_147/name="" +animation/clip_147/start_frame=0 +animation/clip_147/end_frame=0 +animation/clip_147/loops=false +animation/clip_148/name="" +animation/clip_148/start_frame=0 +animation/clip_148/end_frame=0 +animation/clip_148/loops=false +animation/clip_149/name="" +animation/clip_149/start_frame=0 +animation/clip_149/end_frame=0 +animation/clip_149/loops=false +animation/clip_150/name="" +animation/clip_150/start_frame=0 +animation/clip_150/end_frame=0 +animation/clip_150/loops=false +animation/clip_151/name="" +animation/clip_151/start_frame=0 +animation/clip_151/end_frame=0 +animation/clip_151/loops=false +animation/clip_152/name="" +animation/clip_152/start_frame=0 +animation/clip_152/end_frame=0 +animation/clip_152/loops=false +animation/clip_153/name="" +animation/clip_153/start_frame=0 +animation/clip_153/end_frame=0 +animation/clip_153/loops=false +animation/clip_154/name="" +animation/clip_154/start_frame=0 +animation/clip_154/end_frame=0 +animation/clip_154/loops=false +animation/clip_155/name="" +animation/clip_155/start_frame=0 +animation/clip_155/end_frame=0 +animation/clip_155/loops=false +animation/clip_156/name="" +animation/clip_156/start_frame=0 +animation/clip_156/end_frame=0 +animation/clip_156/loops=false +animation/clip_157/name="" +animation/clip_157/start_frame=0 +animation/clip_157/end_frame=0 +animation/clip_157/loops=false +animation/clip_158/name="" +animation/clip_158/start_frame=0 +animation/clip_158/end_frame=0 +animation/clip_158/loops=false +animation/clip_159/name="" +animation/clip_159/start_frame=0 +animation/clip_159/end_frame=0 +animation/clip_159/loops=false +animation/clip_160/name="" +animation/clip_160/start_frame=0 +animation/clip_160/end_frame=0 +animation/clip_160/loops=false +animation/clip_161/name="" +animation/clip_161/start_frame=0 +animation/clip_161/end_frame=0 +animation/clip_161/loops=false +animation/clip_162/name="" +animation/clip_162/start_frame=0 +animation/clip_162/end_frame=0 +animation/clip_162/loops=false +animation/clip_163/name="" +animation/clip_163/start_frame=0 +animation/clip_163/end_frame=0 +animation/clip_163/loops=false +animation/clip_164/name="" +animation/clip_164/start_frame=0 +animation/clip_164/end_frame=0 +animation/clip_164/loops=false +animation/clip_165/name="" +animation/clip_165/start_frame=0 +animation/clip_165/end_frame=0 +animation/clip_165/loops=false +animation/clip_166/name="" +animation/clip_166/start_frame=0 +animation/clip_166/end_frame=0 +animation/clip_166/loops=false +animation/clip_167/name="" +animation/clip_167/start_frame=0 +animation/clip_167/end_frame=0 +animation/clip_167/loops=false +animation/clip_168/name="" +animation/clip_168/start_frame=0 +animation/clip_168/end_frame=0 +animation/clip_168/loops=false +animation/clip_169/name="" +animation/clip_169/start_frame=0 +animation/clip_169/end_frame=0 +animation/clip_169/loops=false +animation/clip_170/name="" +animation/clip_170/start_frame=0 +animation/clip_170/end_frame=0 +animation/clip_170/loops=false +animation/clip_171/name="" +animation/clip_171/start_frame=0 +animation/clip_171/end_frame=0 +animation/clip_171/loops=false +animation/clip_172/name="" +animation/clip_172/start_frame=0 +animation/clip_172/end_frame=0 +animation/clip_172/loops=false +animation/clip_173/name="" +animation/clip_173/start_frame=0 +animation/clip_173/end_frame=0 +animation/clip_173/loops=false +animation/clip_174/name="" +animation/clip_174/start_frame=0 +animation/clip_174/end_frame=0 +animation/clip_174/loops=false +animation/clip_175/name="" +animation/clip_175/start_frame=0 +animation/clip_175/end_frame=0 +animation/clip_175/loops=false +animation/clip_176/name="" +animation/clip_176/start_frame=0 +animation/clip_176/end_frame=0 +animation/clip_176/loops=false +animation/clip_177/name="" +animation/clip_177/start_frame=0 +animation/clip_177/end_frame=0 +animation/clip_177/loops=false +animation/clip_178/name="" +animation/clip_178/start_frame=0 +animation/clip_178/end_frame=0 +animation/clip_178/loops=false +animation/clip_179/name="" +animation/clip_179/start_frame=0 +animation/clip_179/end_frame=0 +animation/clip_179/loops=false +animation/clip_180/name="" +animation/clip_180/start_frame=0 +animation/clip_180/end_frame=0 +animation/clip_180/loops=false +animation/clip_181/name="" +animation/clip_181/start_frame=0 +animation/clip_181/end_frame=0 +animation/clip_181/loops=false +animation/clip_182/name="" +animation/clip_182/start_frame=0 +animation/clip_182/end_frame=0 +animation/clip_182/loops=false +animation/clip_183/name="" +animation/clip_183/start_frame=0 +animation/clip_183/end_frame=0 +animation/clip_183/loops=false +animation/clip_184/name="" +animation/clip_184/start_frame=0 +animation/clip_184/end_frame=0 +animation/clip_184/loops=false +animation/clip_185/name="" +animation/clip_185/start_frame=0 +animation/clip_185/end_frame=0 +animation/clip_185/loops=false +animation/clip_186/name="" +animation/clip_186/start_frame=0 +animation/clip_186/end_frame=0 +animation/clip_186/loops=false +animation/clip_187/name="" +animation/clip_187/start_frame=0 +animation/clip_187/end_frame=0 +animation/clip_187/loops=false +animation/clip_188/name="" +animation/clip_188/start_frame=0 +animation/clip_188/end_frame=0 +animation/clip_188/loops=false +animation/clip_189/name="" +animation/clip_189/start_frame=0 +animation/clip_189/end_frame=0 +animation/clip_189/loops=false +animation/clip_190/name="" +animation/clip_190/start_frame=0 +animation/clip_190/end_frame=0 +animation/clip_190/loops=false +animation/clip_191/name="" +animation/clip_191/start_frame=0 +animation/clip_191/end_frame=0 +animation/clip_191/loops=false +animation/clip_192/name="" +animation/clip_192/start_frame=0 +animation/clip_192/end_frame=0 +animation/clip_192/loops=false +animation/clip_193/name="" +animation/clip_193/start_frame=0 +animation/clip_193/end_frame=0 +animation/clip_193/loops=false +animation/clip_194/name="" +animation/clip_194/start_frame=0 +animation/clip_194/end_frame=0 +animation/clip_194/loops=false +animation/clip_195/name="" +animation/clip_195/start_frame=0 +animation/clip_195/end_frame=0 +animation/clip_195/loops=false +animation/clip_196/name="" +animation/clip_196/start_frame=0 +animation/clip_196/end_frame=0 +animation/clip_196/loops=false +animation/clip_197/name="" +animation/clip_197/start_frame=0 +animation/clip_197/end_frame=0 +animation/clip_197/loops=false +animation/clip_198/name="" +animation/clip_198/start_frame=0 +animation/clip_198/end_frame=0 +animation/clip_198/loops=false +animation/clip_199/name="" +animation/clip_199/start_frame=0 +animation/clip_199/end_frame=0 +animation/clip_199/loops=false +animation/clip_200/name="" +animation/clip_200/start_frame=0 +animation/clip_200/end_frame=0 +animation/clip_200/loops=false +animation/clip_201/name="" +animation/clip_201/start_frame=0 +animation/clip_201/end_frame=0 +animation/clip_201/loops=false +animation/clip_202/name="" +animation/clip_202/start_frame=0 +animation/clip_202/end_frame=0 +animation/clip_202/loops=false +animation/clip_203/name="" +animation/clip_203/start_frame=0 +animation/clip_203/end_frame=0 +animation/clip_203/loops=false +animation/clip_204/name="" +animation/clip_204/start_frame=0 +animation/clip_204/end_frame=0 +animation/clip_204/loops=false +animation/clip_205/name="" +animation/clip_205/start_frame=0 +animation/clip_205/end_frame=0 +animation/clip_205/loops=false +animation/clip_206/name="" +animation/clip_206/start_frame=0 +animation/clip_206/end_frame=0 +animation/clip_206/loops=false +animation/clip_207/name="" +animation/clip_207/start_frame=0 +animation/clip_207/end_frame=0 +animation/clip_207/loops=false +animation/clip_208/name="" +animation/clip_208/start_frame=0 +animation/clip_208/end_frame=0 +animation/clip_208/loops=false +animation/clip_209/name="" +animation/clip_209/start_frame=0 +animation/clip_209/end_frame=0 +animation/clip_209/loops=false +animation/clip_210/name="" +animation/clip_210/start_frame=0 +animation/clip_210/end_frame=0 +animation/clip_210/loops=false +animation/clip_211/name="" +animation/clip_211/start_frame=0 +animation/clip_211/end_frame=0 +animation/clip_211/loops=false +animation/clip_212/name="" +animation/clip_212/start_frame=0 +animation/clip_212/end_frame=0 +animation/clip_212/loops=false +animation/clip_213/name="" +animation/clip_213/start_frame=0 +animation/clip_213/end_frame=0 +animation/clip_213/loops=false +animation/clip_214/name="" +animation/clip_214/start_frame=0 +animation/clip_214/end_frame=0 +animation/clip_214/loops=false +animation/clip_215/name="" +animation/clip_215/start_frame=0 +animation/clip_215/end_frame=0 +animation/clip_215/loops=false +animation/clip_216/name="" +animation/clip_216/start_frame=0 +animation/clip_216/end_frame=0 +animation/clip_216/loops=false +animation/clip_217/name="" +animation/clip_217/start_frame=0 +animation/clip_217/end_frame=0 +animation/clip_217/loops=false +animation/clip_218/name="" +animation/clip_218/start_frame=0 +animation/clip_218/end_frame=0 +animation/clip_218/loops=false +animation/clip_219/name="" +animation/clip_219/start_frame=0 +animation/clip_219/end_frame=0 +animation/clip_219/loops=false +animation/clip_220/name="" +animation/clip_220/start_frame=0 +animation/clip_220/end_frame=0 +animation/clip_220/loops=false +animation/clip_221/name="" +animation/clip_221/start_frame=0 +animation/clip_221/end_frame=0 +animation/clip_221/loops=false +animation/clip_222/name="" +animation/clip_222/start_frame=0 +animation/clip_222/end_frame=0 +animation/clip_222/loops=false +animation/clip_223/name="" +animation/clip_223/start_frame=0 +animation/clip_223/end_frame=0 +animation/clip_223/loops=false +animation/clip_224/name="" +animation/clip_224/start_frame=0 +animation/clip_224/end_frame=0 +animation/clip_224/loops=false +animation/clip_225/name="" +animation/clip_225/start_frame=0 +animation/clip_225/end_frame=0 +animation/clip_225/loops=false +animation/clip_226/name="" +animation/clip_226/start_frame=0 +animation/clip_226/end_frame=0 +animation/clip_226/loops=false +animation/clip_227/name="" +animation/clip_227/start_frame=0 +animation/clip_227/end_frame=0 +animation/clip_227/loops=false +animation/clip_228/name="" +animation/clip_228/start_frame=0 +animation/clip_228/end_frame=0 +animation/clip_228/loops=false +animation/clip_229/name="" +animation/clip_229/start_frame=0 +animation/clip_229/end_frame=0 +animation/clip_229/loops=false +animation/clip_230/name="" +animation/clip_230/start_frame=0 +animation/clip_230/end_frame=0 +animation/clip_230/loops=false +animation/clip_231/name="" +animation/clip_231/start_frame=0 +animation/clip_231/end_frame=0 +animation/clip_231/loops=false +animation/clip_232/name="" +animation/clip_232/start_frame=0 +animation/clip_232/end_frame=0 +animation/clip_232/loops=false +animation/clip_233/name="" +animation/clip_233/start_frame=0 +animation/clip_233/end_frame=0 +animation/clip_233/loops=false +animation/clip_234/name="" +animation/clip_234/start_frame=0 +animation/clip_234/end_frame=0 +animation/clip_234/loops=false +animation/clip_235/name="" +animation/clip_235/start_frame=0 +animation/clip_235/end_frame=0 +animation/clip_235/loops=false +animation/clip_236/name="" +animation/clip_236/start_frame=0 +animation/clip_236/end_frame=0 +animation/clip_236/loops=false +animation/clip_237/name="" +animation/clip_237/start_frame=0 +animation/clip_237/end_frame=0 +animation/clip_237/loops=false +animation/clip_238/name="" +animation/clip_238/start_frame=0 +animation/clip_238/end_frame=0 +animation/clip_238/loops=false +animation/clip_239/name="" +animation/clip_239/start_frame=0 +animation/clip_239/end_frame=0 +animation/clip_239/loops=false +animation/clip_240/name="" +animation/clip_240/start_frame=0 +animation/clip_240/end_frame=0 +animation/clip_240/loops=false +animation/clip_241/name="" +animation/clip_241/start_frame=0 +animation/clip_241/end_frame=0 +animation/clip_241/loops=false +animation/clip_242/name="" +animation/clip_242/start_frame=0 +animation/clip_242/end_frame=0 +animation/clip_242/loops=false +animation/clip_243/name="" +animation/clip_243/start_frame=0 +animation/clip_243/end_frame=0 +animation/clip_243/loops=false +animation/clip_244/name="" +animation/clip_244/start_frame=0 +animation/clip_244/end_frame=0 +animation/clip_244/loops=false +animation/clip_245/name="" +animation/clip_245/start_frame=0 +animation/clip_245/end_frame=0 +animation/clip_245/loops=false +animation/clip_246/name="" +animation/clip_246/start_frame=0 +animation/clip_246/end_frame=0 +animation/clip_246/loops=false +animation/clip_247/name="" +animation/clip_247/start_frame=0 +animation/clip_247/end_frame=0 +animation/clip_247/loops=false +animation/clip_248/name="" +animation/clip_248/start_frame=0 +animation/clip_248/end_frame=0 +animation/clip_248/loops=false +animation/clip_249/name="" +animation/clip_249/start_frame=0 +animation/clip_249/end_frame=0 +animation/clip_249/loops=false +animation/clip_250/name="" +animation/clip_250/start_frame=0 +animation/clip_250/end_frame=0 +animation/clip_250/loops=false +animation/clip_251/name="" +animation/clip_251/start_frame=0 +animation/clip_251/end_frame=0 +animation/clip_251/loops=false +animation/clip_252/name="" +animation/clip_252/start_frame=0 +animation/clip_252/end_frame=0 +animation/clip_252/loops=false +animation/clip_253/name="" +animation/clip_253/start_frame=0 +animation/clip_253/end_frame=0 +animation/clip_253/loops=false +animation/clip_254/name="" +animation/clip_254/start_frame=0 +animation/clip_254/end_frame=0 +animation/clip_254/loops=false +animation/clip_255/name="" +animation/clip_255/start_frame=0 +animation/clip_255/end_frame=0 +animation/clip_255/loops=false +animation/clip_256/name="" +animation/clip_256/start_frame=0 +animation/clip_256/end_frame=0 +animation/clip_256/loops=false diff --git a/assets/entities/missile/missile_albedo.png b/assets/entities/missile/missile_albedo.png new file mode 100644 index 0000000..a16877e Binary files /dev/null and b/assets/entities/missile/missile_albedo.png differ diff --git a/assets/entities/missile/missile_albedo.png.import b/assets/entities/missile/missile_albedo.png.import new file mode 100644 index 0000000..4e35086 --- /dev/null +++ b/assets/entities/missile/missile_albedo.png.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="StreamTexture" +path.s3tc="res://.import/missile_albedo.png-2cb94eaa9de484fd50d1215f51f806b4.s3tc.stex" +path.etc2="res://.import/missile_albedo.png-2cb94eaa9de484fd50d1215f51f806b4.etc2.stex" +metadata={ +"imported_formats": [ "s3tc", "etc2" ], +"vram_texture": true +} + +[deps] + +source_file="res://assets/entities/missile/missile_albedo.png" +dest_files=[ "res://.import/missile_albedo.png-2cb94eaa9de484fd50d1215f51f806b4.s3tc.stex", "res://.import/missile_albedo.png-2cb94eaa9de484fd50d1215f51f806b4.etc2.stex" ] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=true +flags/filter=true +flags/mipmaps=true +flags/anisotropic=false +flags/srgb=1 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/project.godot b/project.godot index 94f01f2..4c549f8 100644 --- a/project.godot +++ b/project.godot @@ -14,6 +14,10 @@ config/name="GeneticMayham" run/main_scene="res://scenes/space.tscn" config/icon="res://icon.png" +[global] + +viewport=false + [gui] common/drop_mouse_on_gui_input_disabled=true diff --git a/scenes/entities/DebugLookAtTarget.gd b/scenes/entities/DebugLookAtTarget.gd index 38144cc..b48b8d4 100644 --- a/scenes/entities/DebugLookAtTarget.gd +++ b/scenes/entities/DebugLookAtTarget.gd @@ -1,10 +1,10 @@ extends Position3D -var maxX = 10 -var minX = -10 +var maxX = 20 +var minX = -20 -var SPEED = 1 +var SPEED = 10 var state = -1 diff --git a/scenes/entities/TurretVision.gd b/scenes/entities/TurretVision.gd new file mode 100644 index 0000000..ab46f45 --- /dev/null +++ b/scenes/entities/TurretVision.gd @@ -0,0 +1,15 @@ +extends Area + +onready var turret_main = get_node("../../../../") + +var seen_nodes = [] + +func body_entered(body: Node): + print(body.name+" just entered the vision!") + seen_nodes.append(body) + +func body_exited(body: Node): + seen_nodes.remove(body) + +func _ready(): + pass diff --git a/scenes/entities/missile.gd b/scenes/entities/missile.gd new file mode 100644 index 0000000..3e574c7 --- /dev/null +++ b/scenes/entities/missile.gd @@ -0,0 +1,19 @@ +extends Spatial + + +onready var exhaust_node = $Exhaust; + +var exhausts = ["Exhaust", "Exhaust2", "Exhaust3", "Exhaust4"] + +func change_engine_power(power): + var MAX_POWER = 10; + print("Changing missile exhaust to: ", power); + for e in exhausts: + var node: MeshInstance = exhaust_node.get_node("./"+e); + node.get_active_material(0).set_shader_param("power", clamp(power, .0, MAX_POWER)); + + + +func _ready(): + pass; + #change_engine_power(10); diff --git a/scenes/entities/missile.tscn b/scenes/entities/missile.tscn new file mode 100644 index 0000000..e88b539 --- /dev/null +++ b/scenes/entities/missile.tscn @@ -0,0 +1,136 @@ +[gd_scene load_steps=13 format=2] + +[ext_resource path="res://assets/entities/missile/missile.glb" type="PackedScene" id=1] +[ext_resource path="res://assets/entities/missile/missile_albedo.png" type="Texture" id=2] +[ext_resource path="res://scenes/entities/missile.gd" type="Script" id=3] +[ext_resource path="res://scenes/entities/missiles/missile_exhaust.gdshader" type="Shader" id=4] + +[sub_resource type="SpatialMaterial" id=2] +albedo_texture = ExtResource( 2 ) +metallic = 1.0 +roughness = 0.41 + +[sub_resource type="CapsuleShape" id=1] +height = 10.1286 + +[sub_resource type="ShaderMaterial" id=8] +shader = ExtResource( 4 ) +shader_param/ANIM_SPEED = 100.0 +shader_param/hot_color = Color( 0.9, 0.9, 9, 0.5 ) +shader_param/cold_color = Color( 1, 1, 1, 0 ) +shader_param/power = 1.0 + +[sub_resource type="SphereMesh" id=9] +material = SubResource( 8 ) +radius = 0.35 +height = 0.5 +radial_segments = 128 +rings = 64 + +[sub_resource type="ParticlesMaterial" id=3] +emission_shape = 1 +emission_sphere_radius = 0.25 +gravity = Vector3( 0, 40, 0 ) + +[sub_resource type="Shader" id=5] +code = "shader_type spatial; +render_mode depth_draw_opaque, unshaded, shadows_disabled; + +uniform float MIX = 1.; +uniform float particle_alpha: hint_range(0.0, 1.0) = 1.0; +uniform vec4 top_color: hint_color = vec4(.2, .5, .8, 0.3); +uniform vec4 bot_color: hint_color = vec4(.2, .5, .8, 1); + +void fragment() { + vec4 exhaust_color = mix(top_color, bot_color, .5); + + ALPHA = exhaust_color.a; + ALBEDO = exhaust_color.rgb; +} +" + +[sub_resource type="ShaderMaterial" id=6] +shader = SubResource( 5 ) +shader_param/MIX = 1.0 +shader_param/particle_alpha = 1.0 +shader_param/top_color = Color( 0.2, 0.5, 0.8, 0.3 ) +shader_param/bot_color = Color( 0.2, 0.5, 0.8, 1 ) + +[sub_resource type="SphereMesh" id=4] +material = SubResource( 6 ) +radius = 0.025 +height = 0.05 +radial_segments = 32 +rings = 16 + +[node name="missile" instance=ExtResource( 1 )] +script = ExtResource( 3 ) + +[node name="missile body" parent="." index="0"] +material/0 = SubResource( 2 ) + +[node name="RigidBody" type="RigidBody" parent="." index="1"] + +[node name="CollisionShape" type="CollisionShape" parent="RigidBody" index="0"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.371096 ) +shape = SubResource( 1 ) + +[node name="Exhaust" type="Spatial" parent="." index="2"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.901 ) + +[node name="Exhaust" type="MeshInstance" parent="Exhaust" index="0"] +transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.5, 0.5, 0.1 ) +mesh = SubResource( 9 ) + +[node name="Particles" type="Particles" parent="Exhaust/Exhaust" index="0"] +visible = false +cast_shadow = 0 +amount = 50 +lifetime = 3.0 +visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) +process_material = SubResource( 3 ) +draw_pass_1 = SubResource( 4 ) + +[node name="Exhaust2" type="MeshInstance" parent="Exhaust" index="1"] +transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.5, 0.5, 0.1 ) +mesh = SubResource( 9 ) +skeleton = NodePath("../Exhaust") + +[node name="Particles" type="Particles" parent="Exhaust/Exhaust2" index="0"] +visible = false +cast_shadow = 0 +amount = 50 +lifetime = 3.0 +visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) +process_material = SubResource( 3 ) +draw_pass_1 = SubResource( 4 ) + +[node name="Exhaust3" type="MeshInstance" parent="Exhaust" index="2"] +transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.5, -0.5, 0.1 ) +mesh = SubResource( 9 ) +skeleton = NodePath("../Exhaust2") + +[node name="Particles" type="Particles" parent="Exhaust/Exhaust3" index="0"] +transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) +visible = false +cast_shadow = 0 +amount = 50 +lifetime = 3.0 +visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) +process_material = SubResource( 3 ) +draw_pass_1 = SubResource( 4 ) + +[node name="Exhaust4" type="MeshInstance" parent="Exhaust" index="3"] +transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.5, -0.5, 0.1 ) +mesh = SubResource( 9 ) +skeleton = NodePath(".") + +[node name="Particles" type="Particles" parent="Exhaust/Exhaust4" index="0"] +transform = Transform( 1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0 ) +visible = false +cast_shadow = 0 +amount = 50 +lifetime = 3.0 +visibility_aabb = AABB( nan, 0.05694, -7.38708, 0.867362, 0.904675, 14.7742 ) +process_material = SubResource( 3 ) +draw_pass_1 = SubResource( 4 ) diff --git a/scenes/entities/missiles/missile_exhaust.gdshader b/scenes/entities/missiles/missile_exhaust.gdshader new file mode 100644 index 0000000..795611e --- /dev/null +++ b/scenes/entities/missiles/missile_exhaust.gdshader @@ -0,0 +1,20 @@ +shader_type spatial; + +uniform float ANIM_SPEED = 100.0; +uniform vec4 hot_color: hint_color = vec4(.9, .9, 9., .5); +uniform vec4 cold_color: hint_color = vec4(1., 1., 1., 0.); + +uniform float power = 1.; + +void vertex() { + float distance = sqrt(pow(VERTEX.z, 2) + pow(VERTEX.x, 2)); + VERTEX.y = min(sin(VERTEX.x * TIME * ANIM_SPEED) * power / (distance * 10. + 1.), 0.); + + vec4 exhaust_color = mix(hot_color, cold_color, VERTEX.y / 5.8); + COLOR = exhaust_color; +} + +void fragment() { + ALPHA = COLOR.a; + ALBEDO = COLOR.rgb; +} \ No newline at end of file diff --git a/scenes/entities/railgun.gd b/scenes/entities/railgun.gd index 45ad80d..df18f8a 100644 --- a/scenes/entities/railgun.gd +++ b/scenes/entities/railgun.gd @@ -10,12 +10,11 @@ onready var turret_yaw_bone = skeleton.find_bone("turret head") onready var turret_pitch_bone = skeleton.find_bone("vertical joint") onready var vert_eyes = $VertEyes onready var turret_eyes = $Armature/Skeleton/turretAttachement/TurretEyes +onready var vision_shape = $Armature/Skeleton/turretAttachement/TurretVision var first_call: bool = true var target: Position3D -#var additional_rotation = Vector3(90, 0, 0) - func _set_lookAtTarget_path(new_value): # Because get_node doesn't work in the first call, we just want to assign instead. # This is to get around a issue with NodePaths exposed to the editor. @@ -41,8 +40,11 @@ func _set_lookAtTarget_path(new_value): else: print("Railgun.gd: Got no LookAtTarget: ", LookAtTarget) +func get_seen_entities() -> Array: + return vision_shape.seen_nodes + func _ready(): - pass # configuring skeletonIK + pass func _process(delta): diff --git a/scenes/entities/railgun.tscn b/scenes/entities/railgun.tscn index 8de2572..09dd0a3 100644 --- a/scenes/entities/railgun.tscn +++ b/scenes/entities/railgun.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://assets/entities/railgun/railgun.glb" type="PackedScene" id=1] [ext_resource path="res://scenes/entities/railgun.gd" type="Script" id=2] +[ext_resource path="res://scenes/entities/TurretVision.gd" type="Script" id=3] [sub_resource type="PrismMesh" id=2] @@ -13,6 +14,9 @@ albedo_color = Color( 0.956863, 0.635294, 0.635294, 1 ) [sub_resource type="SphereMesh" id=8] material = SubResource( 7 ) +[sub_resource type="ConvexPolygonShape" id=9] +points = PoolVector3Array( 0, 0, 0, 1000, 1000, -2000, -1000, -1000, -2000, 1000, -1000, -2000, -1000, 1000, -2000 ) + [node name="railgun" instance=ExtResource( 1 )] script = ExtResource( 2 ) @@ -41,6 +45,21 @@ transform = Transform( 0.1, -1.50996e-08, -8.74228e-08, -1.50996e-08, -0.1, -4.3 transform = Transform( 1, -8.5412e-22, -1.73472e-18, -2.71051e-20, -4.37114e-09, 70, 7.10543e-15, -0.1, -3.0598e-06, 1.3415e-11, 69.095, 0 ) mesh = SubResource( 8 ) +[node name="Camera" type="Camera" parent="Armature/Skeleton/turretAttachement" index="1"] +transform = Transform( 1, -4.06819e-08, 2.32835e-07, -2.35538e-08, 0.963022, 0.269424, -2.35186e-07, -0.269424, 0.963022, 1.09829e-06, 4.65912, 7.27367 ) + +[node name="MeshInstance" type="MeshInstance" parent="Armature/Skeleton/turretAttachement/Camera" index="0"] +visible = false +mesh = SubResource( 2 ) +skin = SubResource( 3 ) + +[node name="TurretVision" type="Area" parent="Armature/Skeleton/turretAttachement" index="2"] +script = ExtResource( 3 ) + +[node name="CollisionShape" type="CollisionShape" parent="Armature/Skeleton/turretAttachement/TurretVision" index="0"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.23837e-08, 1.04241, 0.413149 ) +shape = SubResource( 9 ) + [node name="AnimationPlayer" type="AnimationPlayer" parent="." index="1"] [node name="VertEyes" type="Spatial" parent="." index="2"] @@ -50,5 +69,6 @@ __meta__ = { } [node name="MeshInstance" type="MeshInstance" parent="VertEyes" index="0"] +visible = false mesh = SubResource( 2 ) skin = SubResource( 3 ) diff --git a/scenes/entities/railgun_projectile.tscn b/scenes/entities/railgun_projectile.tscn new file mode 100644 index 0000000..c2344fa --- /dev/null +++ b/scenes/entities/railgun_projectile.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=3 format=2] + +[sub_resource type="SphereMesh" id=1] +radius = 0.2 +height = 0.2 +radial_segments = 32 +rings = 16 + +[sub_resource type="CapsuleShape" id=2] +radius = 0.13991 +height = 0.16003 + +[node name="Projectile" type="Spatial"] + +[node name="MeshInstance" type="MeshInstance" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 0.5, 0, 0, 0 ) +mesh = SubResource( 1 ) + +[node name="RigidBody" type="RigidBody" parent="."] + +[node name="CollisionShape" type="CollisionShape" parent="RigidBody"] +transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0 ) +shape = SubResource( 2 ) diff --git a/scenes/entities/railgun_projectile_ShapeShader.tres b/scenes/entities/railgun_projectile_ShapeShader.tres new file mode 100644 index 0000000..7fbf948 --- /dev/null +++ b/scenes/entities/railgun_projectile_ShapeShader.tres @@ -0,0 +1,16 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=2] + +[sub_resource type="Shader" id=2] +code = "shader_type spatial; + +void vertex() { + VERTEX.x += NORMAL.x * sin(40. * VERTEX.x) / 5.; +} + +void fragment() { + ALBEDO = vec3(.2, .6, .8); + ROUGHNESS = .5; +}" + +[resource] +shader = SubResource( 2 ) diff --git a/scenes/space.tscn b/scenes/space.tscn index 01c196d..7eaf4c8 100644 --- a/scenes/space.tscn +++ b/scenes/space.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://assets/environment/skyboxes/nebula_space/panorama_image.png" type="Texture" id=1] [ext_resource path="res://scenes/entities/railgun.tscn" type="PackedScene" id=2] [ext_resource path="res://scenes/entities/DebugLookAtTarget.gd" type="Script" id=3] +[ext_resource path="res://scenes/entities/missile.tscn" type="PackedScene" id=4] [sub_resource type="PanoramaSky" id=1] panorama = ExtResource( 1 ) @@ -25,12 +26,15 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.50682, 0, -7.59585 ) LookAtTarget = NodePath("LookAtTarget2") [node name="LookAtTarget2" type="Position3D" parent="entities/railgun"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8.694, 4.553 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8.694, 29.5299 ) script = ExtResource( 3 ) [node name="MeshInstance" type="MeshInstance" parent="entities/railgun/LookAtTarget2"] mesh = SubResource( 3 ) +[node name="missile" parent="entities" instance=ExtResource( 4 )] +transform = Transform( -0.446495, 0, -0.894786, 0, 1, 0, 0.894786, 0, -0.446495, -7.21845, 8.26498, -24.0157 ) + [node name="lighting" type="Node" parent="."] [node name="main_light" type="DirectionalLight" parent="lighting"] @@ -43,4 +47,5 @@ light_color = Color( 0.411765, 0.854902, 0.92549, 1 ) light_energy = 0.2 [node name="Camera" type="Camera" parent="."] -transform = Transform( 0.8208, 0.16956, -0.545469, 0, 0.954927, 0.296842, 0.571215, -0.243648, 0.783804, -4.41776, 10.7973, 11.901 ) +transform = Transform( -0.916363, 0.11884, -0.382304, 0, 0.954927, 0.296842, 0.400349, 0.272015, -0.875059, -4.41776, 10.7973, -27.9208 ) +current = true