From da15717c28f20ebba2ade690275b028fc6e7608f Mon Sep 17 00:00:00 2001 From: Rendo Date: Mon, 14 Jul 2025 22:36:20 +0500 Subject: [PATCH] Enemy directional sprite --- base/assets/test_enemy/0000.png | Bin 0 -> 2997 bytes base/assets/test_enemy/0000.png.import | 34 +++++++++++++ base/assets/test_enemy/0001.png | Bin 0 -> 3564 bytes base/assets/test_enemy/0001.png.import | 34 +++++++++++++ base/assets/test_enemy/0002.png | Bin 0 -> 3044 bytes base/assets/test_enemy/0002.png.import | 34 +++++++++++++ base/assets/test_enemy/0003.png | Bin 0 -> 3477 bytes base/assets/test_enemy/0003.png.import | 34 +++++++++++++ base/assets/test_enemy/0004.png | Bin 0 -> 2643 bytes base/assets/test_enemy/0004.png.import | 34 +++++++++++++ base/assets/test_enemy/0005.png | Bin 0 -> 3584 bytes base/assets/test_enemy/0005.png.import | 34 +++++++++++++ base/assets/test_enemy/0006.png | Bin 0 -> 3013 bytes base/assets/test_enemy/0006.png.import | 34 +++++++++++++ base/assets/test_enemy/0007.png | Bin 0 -> 3521 bytes base/assets/test_enemy/0007.png.import | 34 +++++++++++++ base/scenes/enemies/test_enemy.tscn | 45 ++++++++++++++++++ base/scripts/enemies/directional_sprite3d.gd | 23 +++++++++ .../enemies/directional_sprite3d.gd.uid | 1 + project.godot | 8 ++++ 20 files changed, 349 insertions(+) create mode 100644 base/assets/test_enemy/0000.png create mode 100644 base/assets/test_enemy/0000.png.import create mode 100644 base/assets/test_enemy/0001.png create mode 100644 base/assets/test_enemy/0001.png.import create mode 100644 base/assets/test_enemy/0002.png create mode 100644 base/assets/test_enemy/0002.png.import create mode 100644 base/assets/test_enemy/0003.png create mode 100644 base/assets/test_enemy/0003.png.import create mode 100644 base/assets/test_enemy/0004.png create mode 100644 base/assets/test_enemy/0004.png.import create mode 100644 base/assets/test_enemy/0005.png create mode 100644 base/assets/test_enemy/0005.png.import create mode 100644 base/assets/test_enemy/0006.png create mode 100644 base/assets/test_enemy/0006.png.import create mode 100644 base/assets/test_enemy/0007.png create mode 100644 base/assets/test_enemy/0007.png.import create mode 100644 base/scenes/enemies/test_enemy.tscn create mode 100644 base/scripts/enemies/directional_sprite3d.gd create mode 100644 base/scripts/enemies/directional_sprite3d.gd.uid diff --git a/base/assets/test_enemy/0000.png b/base/assets/test_enemy/0000.png new file mode 100644 index 0000000000000000000000000000000000000000..002474f10709898a10bc9d106201342bad88ede6 GIT binary patch literal 2997 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 literal 0 HcmV?d00001 diff --git a/base/assets/test_enemy/0001.png.import b/base/assets/test_enemy/0001.png.import new file mode 100644 index 0000000..7821615 --- /dev/null +++ b/base/assets/test_enemy/0001.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bp7iec52kc0ko" +path="res://.godot/imported/0001.png-b37bf2a8d5a87496e9149209ad9d9645.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://base/assets/test_enemy/0001.png" +dest_files=["res://.godot/imported/0001.png-b37bf2a8d5a87496e9149209ad9d9645.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/base/assets/test_enemy/0002.png b/base/assets/test_enemy/0002.png new file mode 100644 index 0000000000000000000000000000000000000000..3bbb996af279150a97df2166839bffe18ec456ad GIT binary patch literal 3044 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 TPRK+4?*d?LZevz%;vV-O%gM^J literal 0 HcmV?d00001 diff --git a/base/assets/test_enemy/0003.png.import b/base/assets/test_enemy/0003.png.import new file mode 100644 index 0000000..af2bf0a --- /dev/null +++ b/base/assets/test_enemy/0003.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csyoosmr6c251" +path="res://.godot/imported/0003.png-1f669fd5f649d54756b5d5cbb6d54ede.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://base/assets/test_enemy/0003.png" +dest_files=["res://.godot/imported/0003.png-1f669fd5f649d54756b5d5cbb6d54ede.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/base/assets/test_enemy/0004.png b/base/assets/test_enemy/0004.png new file mode 100644 index 0000000000000000000000000000000000000000..392ef5b6132dd6bbb5ddc03bf5c241e4e9305b62 GIT binary patch literal 2643 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 Ls6*`~MCyM5Y2ZSI literal 0 HcmV?d00001 diff --git a/base/assets/test_enemy/0004.png.import b/base/assets/test_enemy/0004.png.import new file mode 100644 index 0000000..f1e2020 --- /dev/null +++ b/base/assets/test_enemy/0004.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8ijiv8ly74jg" +path="res://.godot/imported/0004.png-2fc0af59b10bb4de39b70e455e5a56ba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://base/assets/test_enemy/0004.png" +dest_files=["res://.godot/imported/0004.png-2fc0af59b10bb4de39b70e455e5a56ba.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/base/assets/test_enemy/0005.png b/base/assets/test_enemy/0005.png new file mode 100644 index 0000000000000000000000000000000000000000..fb121f9c7a4cf63ffd0295b3acc8083a07d01956 GIT binary patch literal 3584 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 KW9=`u{`e203scYl literal 0 HcmV?d00001 diff --git a/base/assets/test_enemy/0005.png.import b/base/assets/test_enemy/0005.png.import new file mode 100644 index 0000000..cd3d2cc --- /dev/null +++ b/base/assets/test_enemy/0005.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lbo6ygri22or" +path="res://.godot/imported/0005.png-ea4e5800e69dcb3db9c74e0d36f7dada.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://base/assets/test_enemy/0005.png" +dest_files=["res://.godot/imported/0005.png-ea4e5800e69dcb3db9c74e0d36f7dada.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/base/assets/test_enemy/0006.png b/base/assets/test_enemy/0006.png new file mode 100644 index 0000000000000000000000000000000000000000..1236bd13ad3ffafe93170232e08d4beb61205b10 GIT binary patch literal 3013 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 XQ?DEv*0+)WHvtZ(&e;{6ycYdm7GTi$ literal 0 HcmV?d00001 diff --git a/base/assets/test_enemy/0006.png.import b/base/assets/test_enemy/0006.png.import new file mode 100644 index 0000000..86a3a56 --- /dev/null +++ b/base/assets/test_enemy/0006.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bu54h8g5r50qp" +path="res://.godot/imported/0006.png-5ea93347fb4075fdeb67e91f967d8081.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://base/assets/test_enemy/0006.png" +dest_files=["res://.godot/imported/0006.png-5ea93347fb4075fdeb67e91f967d8081.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/base/assets/test_enemy/0007.png b/base/assets/test_enemy/0007.png new file mode 100644 index 0000000000000000000000000000000000000000..9bf7fa63829fae1b5566d2c9f7a95ee12cb3a56b GIT binary patch literal 3521 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 literal 0 HcmV?d00001 diff --git a/base/assets/test_enemy/0007.png.import b/base/assets/test_enemy/0007.png.import new file mode 100644 index 0000000..ee32c91 --- /dev/null +++ b/base/assets/test_enemy/0007.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c57drlhnuicu5" +path="res://.godot/imported/0007.png-c700fd2bc75a43d8fec1237ad0c34562.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://base/assets/test_enemy/0007.png" +dest_files=["res://.godot/imported/0007.png-c700fd2bc75a43d8fec1237ad0c34562.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/base/scenes/enemies/test_enemy.tscn b/base/scenes/enemies/test_enemy.tscn new file mode 100644 index 0000000..757ab89 --- /dev/null +++ b/base/scenes/enemies/test_enemy.tscn @@ -0,0 +1,45 @@ +[gd_scene load_steps=11 format=3 uid="uid://twqkevpn0q1a"] + +[ext_resource type="Texture2D" uid="uid://b0gyyb6xwfjex" path="res://base/assets/test_enemy/0000.png" id="1_7qny8"] +[ext_resource type="Script" uid="uid://j0w37fjl13ox" path="res://base/scripts/enemies/directional_sprite3d.gd" id="2_hmq60"] +[ext_resource type="Texture2D" uid="uid://bp7iec52kc0ko" path="res://base/assets/test_enemy/0001.png" id="3_rvsun"] +[ext_resource type="Texture2D" uid="uid://bmjanur1y65ut" path="res://base/assets/test_enemy/0002.png" id="4_ajcop"] +[ext_resource type="Texture2D" uid="uid://csyoosmr6c251" path="res://base/assets/test_enemy/0003.png" id="5_xto1v"] +[ext_resource type="Texture2D" uid="uid://8ijiv8ly74jg" path="res://base/assets/test_enemy/0004.png" id="6_d1vpv"] +[ext_resource type="Texture2D" uid="uid://lbo6ygri22or" path="res://base/assets/test_enemy/0005.png" id="7_yln7d"] +[ext_resource type="Texture2D" uid="uid://bu54h8g5r50qp" path="res://base/assets/test_enemy/0006.png" id="8_snoby"] +[ext_resource type="Texture2D" uid="uid://c57drlhnuicu5" path="res://base/assets/test_enemy/0007.png" id="9_83myg"] + +[sub_resource type="GDScript" id="GDScript_hmq60"] +resource_name = "temp_script" +script/source = "extends Node3D + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + rotate_y(TAU*delta) +" + +[node name="TestEnemy" type="Node3D"] + +[node name="RotationalSprite" type="Sprite3D" parent="."] +billboard = 2 +texture_filter = 0 +texture = ExtResource("1_7qny8") +script = ExtResource("2_hmq60") +rotations = Dictionary[float, Texture2D]({ +0.0: ExtResource("6_d1vpv"), +0.785398: ExtResource("7_yln7d"), +1.5708: ExtResource("8_snoby"), +2.35619: ExtResource("9_83myg"), +3.14159: ExtResource("1_7qny8"), +3.92699: ExtResource("3_rvsun"), +4.71239: ExtResource("4_ajcop"), +5.49779: ExtResource("5_xto1v") +}) + +[node name="Node3D" type="Node3D" parent="."] +script = SubResource("GDScript_hmq60") + +[node name="Camera3D" type="Camera3D" parent="Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.19268) diff --git a/base/scripts/enemies/directional_sprite3d.gd b/base/scripts/enemies/directional_sprite3d.gd new file mode 100644 index 0000000..cbfc869 --- /dev/null +++ b/base/scripts/enemies/directional_sprite3d.gd @@ -0,0 +1,23 @@ +@tool +extends Sprite3D + + +@export var rotations : Dictionary[float,Texture2D] + +func _process(delta: float) -> void: + if Engine.is_editor_hint(): return + var camera = get_viewport().get_camera_3d() + var rotation_to_camera = global_transform.basis.z.signed_angle_to(camera.global_position,Vector3.UP) + PI + var chosen_index = 0 + for i in rotations.keys(): + if abs(rotation_to_camera-i) < abs(rotation_to_camera-chosen_index): + chosen_index = i + texture = rotations[chosen_index] + +@export_tool_button("Generate entries") var generator = entry_generator +@export var rotation_count : float = 8 + +func entry_generator(): + rotations.clear() + for i in range(rotation_count): + rotations[TAU/rotation_count*i] = Texture2D.new() diff --git a/base/scripts/enemies/directional_sprite3d.gd.uid b/base/scripts/enemies/directional_sprite3d.gd.uid new file mode 100644 index 0000000..885ca80 --- /dev/null +++ b/base/scripts/enemies/directional_sprite3d.gd.uid @@ -0,0 +1 @@ +uid://j0w37fjl13ox diff --git a/project.godot b/project.godot index 31805c1..b2ee023 100644 --- a/project.godot +++ b/project.godot @@ -11,9 +11,17 @@ config_version=5 [application] config/name="Revenge of the Red Dragon Pon of the Red Dragon Pon of the Red Dragon Pon" +run/main_scene="uid://bxf4x8hp870i6" config/features=PackedStringArray("4.4", "Forward Plus") config/icon="res://icon.svg" +<<<<<<< HEAD +======= +[dotnet] + +project/assembly_name="Revenge of the Red Dragon Pon of the Red Dragon Pon of the Red Dragon Pon" + +>>>>>>> 3a70d2a (Enemy directional sprite) [rendering] textures/canvas_textures/default_texture_filter=0