diff --git a/assets/background-bright.png b/assets/background-bright.png new file mode 100644 index 0000000..85699bd Binary files /dev/null and b/assets/background-bright.png differ diff --git a/assets/background-bright.png.import b/assets/background-bright.png.import new file mode 100644 index 0000000..d4ad4be --- /dev/null +++ b/assets/background-bright.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1gj5g7mvjkbd" +path.s3tc="res://.godot/imported/background-bright.png-1d53f0fffe07558203df3d3b451067ed.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/background-bright.png" +dest_files=["res://.godot/imported/background-bright.png-1d53f0fffe07558203df3d3b451067ed.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/characters/coco/coco.tscn b/assets/characters/coco/coco.tscn index 69e8b3a..7dea224 100644 --- a/assets/characters/coco/coco.tscn +++ b/assets/characters/coco/coco.tscn @@ -6,18 +6,18 @@ [ext_resource type="SpineSkeletonFileResource" uid="uid://drnpfi1niq3od" path="res://assets/characters/coco/spine.skel" id="5_enjjr"] [ext_resource type="Script" path="res://src/spine_sprite.gd" id="5_migwh"] -[sub_resource type="ViewportTexture" id="ViewportTexture_xyxp2"] +[sub_resource type="ViewportTexture" id="ViewportTexture_v8p7q"] viewport_path = NodePath("MeshInstance3D/SubViewport") -[sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_fy03b"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] -next_pass = SubResource("ShaderMaterial_5xxpu") +next_pass = SubResource("ShaderMaterial_fy03b") transparency = 1 shading_mode = 0 diffuse_mode = 3 specular_mode = 1 -albedo_texture = SubResource("ViewportTexture_xyxp2") +albedo_texture = SubResource("ViewportTexture_v8p7q") billboard_mode = 1 [sub_resource type="QuadMesh" id="QuadMesh_iwcmf"] diff --git a/assets/characters/coco/npc_coco.tscn b/assets/characters/coco/npc_coco.tscn index c378797..d0cb2a6 100644 --- a/assets/characters/coco/npc_coco.tscn +++ b/assets/characters/coco/npc_coco.tscn @@ -4,7 +4,7 @@ [ext_resource type="SpineSkeletonDataResource" uid="uid://dn5wtcrr40ahd" path="res://assets/characters/coco/coco.tres" id="2_8ur8k"] [ext_resource type="Script" path="res://src/spine_sprite.gd" id="3_m02kv"] -[sub_resource type="ViewportTexture" id="ViewportTexture_xy31o"] +[sub_resource type="ViewportTexture" id="ViewportTexture_usswm"] viewport_path = NodePath("MeshInstance3D/SubViewport") [sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"] @@ -15,7 +15,7 @@ transparency = 1 shading_mode = 0 diffuse_mode = 3 specular_mode = 1 -albedo_texture = SubResource("ViewportTexture_xy31o") +albedo_texture = SubResource("ViewportTexture_usswm") billboard_mode = 1 [sub_resource type="QuadMesh" id="QuadMesh_iwcmf"] diff --git a/assets/characters/evilcoco/evilcoco.tscn b/assets/characters/evilcoco/evilcoco.tscn index 6e752c1..05248cb 100644 --- a/assets/characters/evilcoco/evilcoco.tscn +++ b/assets/characters/evilcoco/evilcoco.tscn @@ -32,7 +32,7 @@ max_value = 200.0 _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.56535, 83.9717), 420.727, 420.727, 0, 0, Vector2(0.729483, 200), 0.0, 0.0, 0, 0] point_count = 3 -[sub_resource type="ViewportTexture" id="ViewportTexture_cfqc6"] +[sub_resource type="ViewportTexture" id="ViewportTexture_73c6e"] viewport_path = NodePath("MeshInstance3D/SubViewport") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] @@ -42,7 +42,7 @@ no_depth_test = true shading_mode = 0 diffuse_mode = 3 specular_mode = 1 -albedo_texture = SubResource("ViewportTexture_cfqc6") +albedo_texture = SubResource("ViewportTexture_73c6e") texture_filter = 0 texture_repeat = false billboard_mode = 1 diff --git a/assets/characters/megumi/megumi.tscn b/assets/characters/megumi/megumi.tscn index 6d8f150..b93a1ee 100644 --- a/assets/characters/megumi/megumi.tscn +++ b/assets/characters/megumi/megumi.tscn @@ -32,7 +32,7 @@ max_value = 200.0 _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.56535, 83.9717), 420.727, 420.727, 0, 0, Vector2(0.729483, 200), 0.0, 0.0, 0, 0] point_count = 3 -[sub_resource type="ViewportTexture" id="ViewportTexture_rdjkf"] +[sub_resource type="ViewportTexture" id="ViewportTexture_gi4f4"] viewport_path = NodePath("MeshInstance3D/SubViewport") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] @@ -42,7 +42,7 @@ no_depth_test = true shading_mode = 0 diffuse_mode = 3 specular_mode = 1 -albedo_texture = SubResource("ViewportTexture_rdjkf") +albedo_texture = SubResource("ViewportTexture_gi4f4") texture_filter = 0 texture_repeat = false billboard_mode = 1 diff --git a/assets/characters/pasadena/npc.tscn b/assets/characters/pasadena/npc.tscn index ea6dcff..18e3af3 100644 --- a/assets/characters/pasadena/npc.tscn +++ b/assets/characters/pasadena/npc.tscn @@ -32,7 +32,7 @@ max_value = 200.0 _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.56535, 83.9717), 420.727, 420.727, 0, 0, Vector2(0.729483, 200), 0.0, 0.0, 0, 0] point_count = 3 -[sub_resource type="ViewportTexture" id="ViewportTexture_l7lc7"] +[sub_resource type="ViewportTexture" id="ViewportTexture_vfgay"] viewport_path = NodePath("MeshInstance3D/SubViewport") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] @@ -41,7 +41,7 @@ blend_mode = 4 shading_mode = 0 diffuse_mode = 3 specular_mode = 1 -albedo_texture = SubResource("ViewportTexture_l7lc7") +albedo_texture = SubResource("ViewportTexture_vfgay") texture_filter = 0 texture_repeat = false billboard_mode = 1 diff --git a/assets/characters/tawna/tawna.gd b/assets/characters/tawna/tawna.gd index dfa75ca..53493c1 100644 --- a/assets/characters/tawna/tawna.gd +++ b/assets/characters/tawna/tawna.gd @@ -5,7 +5,11 @@ const ACCEL = 4.5 @onready var nav: NavigationAgent3D = $NavigationAgent3D @export var target: CharacterBody3D = null +var last_direction = Vector3.ZERO +func set_target(t: CharacterBody3D): + target = t + func _physics_process(delta: float) -> void: if not target: return @@ -14,6 +18,12 @@ func _physics_process(delta: float) -> void: var next_location = nav.get_next_path_position() var dist = next_location - current_location var new_velocity = dist.normalized() * SPEED + + if snapped(new_velocity.x, 1): + last_direction = Vector3(-sign(new_velocity.x), 1, 1) + var t: Material = $MeshInstance3D.material_override + t.uv1_scale = last_direction + if dist.length() > 0.5: velocity = new_velocity move_and_slide() diff --git a/assets/characters/tawna/tawna.tscn b/assets/characters/tawna/tawna.tscn index 847868d..032b220 100644 --- a/assets/characters/tawna/tawna.tscn +++ b/assets/characters/tawna/tawna.tscn @@ -33,7 +33,7 @@ max_value = 200.0 _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.56535, 83.9717), 420.727, 420.727, 0, 0, Vector2(0.729483, 200), 0.0, 0.0, 0, 0] point_count = 3 -[sub_resource type="ViewportTexture" id="ViewportTexture_tg7lx"] +[sub_resource type="ViewportTexture" id="ViewportTexture_r7ffu"] viewport_path = NodePath("MeshInstance3D/SubViewport") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] @@ -41,10 +41,11 @@ transparency = 1 shading_mode = 0 diffuse_mode = 3 specular_mode = 1 -albedo_texture = SubResource("ViewportTexture_tg7lx") +albedo_texture = SubResource("ViewportTexture_r7ffu") billboard_mode = 1 [sub_resource type="QuadMesh" id="QuadMesh_iwcmf"] +lightmap_size_hint = Vector2i(7, 12) size = Vector2(2, 2) [sub_resource type="SpineAnimationMix" id="SpineAnimationMix_piuq6"] @@ -91,7 +92,7 @@ anim_speed_max = 60.44 anim_speed_curve = SubResource("Curve_l10dy") [node name="MeshInstance3D" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.695467, -0.209618, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.019393, -0.209618, 0) layers = 1023 material_override = SubResource("StandardMaterial3D_a31vv") cast_shadow = 0 @@ -101,9 +102,10 @@ script = ExtResource("3_rv1la") [node name="SubViewport" type="SubViewport" parent="MeshInstance3D"] transparent_bg = true canvas_cull_mask = 4294966273 -size = Vector2i(3700, 3700) +size = Vector2i(3671, 3671) [node name="SpineSprite" type="SpineSprite" parent="MeshInstance3D/SubViewport"] +position = Vector2(1358, 0) skeleton_data_res = SubResource("SpineSkeletonDataResource_ufcij") meshes = true preview_skin = "default" diff --git a/assets/decals/coco_laptop/Copy of Paint Layer 9.png.import b/assets/decals/coco_laptop/Copy of Paint Layer 9.png.import new file mode 100644 index 0000000..b6cd3b2 --- /dev/null +++ b/assets/decals/coco_laptop/Copy of Paint Layer 9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bp00wssa1bnbb" +path="res://.godot/imported/Copy of Paint Layer 9.png-fee4e5741f7b8accc41364d820f9aede.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/decals/coco_laptop/Copy of Paint Layer 9.png" +dest_files=["res://.godot/imported/Copy of Paint Layer 9.png-fee4e5741f7b8accc41364d820f9aede.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/assets/decals/coco_laptop/coco_laptop.tscn b/assets/decals/coco_laptop/coco_laptop.tscn new file mode 100644 index 0000000..c74dda4 --- /dev/null +++ b/assets/decals/coco_laptop/coco_laptop.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=10 format=3 uid="uid://cap1wbpvkq2t"] + +[ext_resource type="Script" path="res://src/viewport.gd" id="1_jt1lm"] +[ext_resource type="SpineAtlasResource" uid="uid://ygki650eir0a" path="res://assets/decals/coco_laptop/spine.atlas" id="2_jxoch"] +[ext_resource type="SpineSkeletonFileResource" uid="uid://bgfatg5jcpnei" path="res://assets/decals/coco_laptop/spine.skel" id="3_80gpg"] +[ext_resource type="Script" path="res://src/spine_sprite.gd" id="4_lbpda"] + +[sub_resource type="ViewportTexture" id="ViewportTexture_3oi8b"] +viewport_path = NodePath("MeshInstance3D/SubViewport") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_njlc5"] +next_pass = SubResource("ShaderMaterial_5xxpu") +transparency = 1 +no_depth_test = true +shading_mode = 0 +diffuse_mode = 3 +specular_mode = 1 +albedo_texture = SubResource("ViewportTexture_3oi8b") +billboard_mode = 1 + +[sub_resource type="QuadMesh" id="QuadMesh_hf324"] + +[sub_resource type="SpineSkeletonDataResource" id="SpineSkeletonDataResource_8n5gy"] +atlas_res = ExtResource("2_jxoch") +skeleton_file_res = ExtResource("3_80gpg") + +[node name="CocoLaptop" type="Node3D"] + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +material_override = SubResource("StandardMaterial3D_njlc5") +cast_shadow = 0 +mesh = SubResource("QuadMesh_hf324") +script = ExtResource("1_jt1lm") + +[node name="SubViewport" type="SubViewport" parent="MeshInstance3D"] +transparent_bg = true +handle_input_locally = false +canvas_cull_mask = 4294966273 +size = Vector2i(1024, 1024) +size_2d_override_stretch = true + +[node name="SpineSprite" type="SpineSprite" parent="MeshInstance3D/SubViewport"] +scale = Vector2(0.35, 0.35) +skeleton_data_res = SubResource("SpineSkeletonDataResource_8n5gy") +preview_skin = "default" +preview_animation = "animation" +preview_frame = false +preview_time = 1.7 +script = ExtResource("4_lbpda") diff --git a/assets/decals/coco_laptop/spine.atlas b/assets/decals/coco_laptop/spine.atlas new file mode 100644 index 0000000..18b022b --- /dev/null +++ b/assets/decals/coco_laptop/spine.atlas @@ -0,0 +1,6 @@ +spine.png +size:775,816 +filter:Linear,Linear +scale:0.5 +Copy of Paint Layer 9 +bounds:2,2,771,812 diff --git a/assets/decals/coco_laptop/spine.atlas.import b/assets/decals/coco_laptop/spine.atlas.import new file mode 100644 index 0000000..47c5c97 --- /dev/null +++ b/assets/decals/coco_laptop/spine.atlas.import @@ -0,0 +1,15 @@ +[remap] + +importer="spine.atlas" +type="SpineAtlasResource" +uid="uid://ygki650eir0a" +path="res://.godot/imported/spine.atlas-d805b2cb532401524c815e5efdc18fc1.spatlas" + +[deps] + +source_file="res://assets/decals/coco_laptop/spine.atlas" +dest_files=["res://.godot/imported/spine.atlas-d805b2cb532401524c815e5efdc18fc1.spatlas"] + +[params] + +normal_map_prefix="n" diff --git a/assets/decals/coco_laptop/spine.png b/assets/decals/coco_laptop/spine.png new file mode 100644 index 0000000..8f753da Binary files /dev/null and b/assets/decals/coco_laptop/spine.png differ diff --git a/assets/decals/coco_laptop/spine.png.import b/assets/decals/coco_laptop/spine.png.import new file mode 100644 index 0000000..e9c8dea --- /dev/null +++ b/assets/decals/coco_laptop/spine.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y0l3qt7heuw2" +path="res://.godot/imported/spine.png-46165cb6abf088cdd1dfcf9e60069516.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/decals/coco_laptop/spine.png" +dest_files=["res://.godot/imported/spine.png-46165cb6abf088cdd1dfcf9e60069516.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/assets/decals/coco_laptop/spine.skel b/assets/decals/coco_laptop/spine.skel new file mode 100644 index 0000000..1d59646 Binary files /dev/null and b/assets/decals/coco_laptop/spine.skel differ diff --git a/assets/decals/coco_laptop/spine.skel.import b/assets/decals/coco_laptop/spine.skel.import new file mode 100644 index 0000000..86daa3d --- /dev/null +++ b/assets/decals/coco_laptop/spine.skel.import @@ -0,0 +1,14 @@ +[remap] + +importer="spine.skel" +type="SpineSkeletonFileResource" +uid="uid://bgfatg5jcpnei" +path="res://.godot/imported/spine.skel-f8078d6cfa2b521fb44813166539f211.spskel" + +[deps] + +source_file="res://assets/decals/coco_laptop/spine.skel" +dest_files=["res://.godot/imported/spine.skel-f8078d6cfa2b521fb44813166539f211.spskel"] + +[params] + diff --git a/assets/levels/level_1.gd b/assets/levels/level_1.gd index 223bc98..01d7cb8 100644 --- a/assets/levels/level_1.gd +++ b/assets/levels/level_1.gd @@ -1,14 +1,20 @@ extends Node3D -@onready var tawna: CharacterBody3D = $NPC_Tawna; -@onready var player: CharacterBody3D = $NPC_Coco; +@onready var tawna: CharacterBody3D = $NPC/NPC_Tawna; +@onready var player: CharacterBody3D = $NPC/NPC_Coco; + +var d = GDRx.on_physics_step().subscribe(attach_target).dispose_with(self) func _ready() -> void: print(get_parent_node_3d()) tawna.target = player - -func _process(delta: float) -> void: - pass +# +func attach_target(delta: float) -> void: + var g = get_node("../Level/Player") + if tawna and g: + print("l") + tawna.target = g + d.dispose() func _on_area_3d_area_entered(area: Area3D) -> void: if area.is_in_group("Player"): diff --git a/assets/levels/maps/debug1.tscn b/assets/levels/maps/debug1.tscn index b150e48..12a2c5f 100644 --- a/assets/levels/maps/debug1.tscn +++ b/assets/levels/maps/debug1.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=35 format=3 uid="uid://b2b0sgltiefki"] +[gd_scene load_steps=39 format=3 uid="uid://b2b0sgltiefki"] [ext_resource type="Script" path="res://assets/levels/level_1.gd" id="1_irx2k"] +[ext_resource type="Texture2D" uid="uid://1gj5g7mvjkbd" path="res://assets/background-bright.png" id="2_d8eiv"] [ext_resource type="Shader" path="res://assets/objects/box/box.gdshader" id="2_lq1r3"] [ext_resource type="PackedScene" uid="uid://hylwpibwtg0c" path="res://assets/objects/box/box.tscn" id="3_hwtpr"] [ext_resource type="PackedScene" uid="uid://s1ftlvvluili" path="res://assets/objects/box_small/box_small.tscn" id="4_vyo4f"] @@ -18,11 +19,19 @@ [ext_resource type="PackedScene" uid="uid://da0mv3cisoubi" path="res://assets/objects/switch/switch.tscn" id="17_1yuu1"] [ext_resource type="PackedScene" uid="uid://cj7k48mei62om" path="res://assets/characters/megumi/megumi.tscn" id="18_5v3lx"] [ext_resource type="PackedScene" uid="uid://b2maarsg7u3po" path="res://assets/characters/coco/npc_coco.tscn" id="18_tn7yc"] +[ext_resource type="PackedScene" uid="uid://cap1wbpvkq2t" path="res://assets/decals/coco_laptop/coco_laptop.tscn" id="19_5as3d"] + +[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_4e4p4"] +panorama = ExtResource("2_d8eiv") + +[sub_resource type="Sky" id="Sky_ca4sa"] +sky_material = SubResource("PanoramaSkyMaterial_4e4p4") [sub_resource type="Environment" id="Environment_06i34"] -background_mode = 1 +background_mode = 2 background_color = Color(0.764667, 0.252225, 0.351088, 1) -sky_custom_fov = 1.5 +sky = SubResource("Sky_ca4sa") +sky_custom_fov = 66.0 ambient_light_source = 1 reflected_light_source = 1 adjustment_enabled = true @@ -63,14 +72,14 @@ data = PackedVector3Array(5, 0, 5, -5, 0, 5, 5, 0, -5, -5, 0, 5, -5, 0, -5, 5, 0 vertices = PackedVector3Array(1.56663, 0.279793, -3.25, 1.56663, 0.279793, -2.75, 2.31663, 0.279793, -2.5, 4.31663, 0.279793, -3.25, 2.31663, 0.279793, -1.5, 1.56663, 0.279793, 2.5, 8.31663, 0.279793, 2.5, 8.31663, 0.279793, -4.5, 1.56663, 0.279793, -1.25, 4.31663, 0.279793, -4.5, 0.81663, 0.279793, -2.5, -5.68337, 0.279793, -3.25, 0.81663, 0.279793, -1.5, -5.68337, 0.279793, 2.5) polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(4, 3, 5), PackedInt32Array(5, 3, 6), PackedInt32Array(6, 3, 7), PackedInt32Array(4, 2, 3), PackedInt32Array(5, 8, 4), PackedInt32Array(3, 9, 7), PackedInt32Array(1, 10, 0), PackedInt32Array(0, 10, 11), PackedInt32Array(8, 5, 12), PackedInt32Array(12, 5, 13), PackedInt32Array(12, 13, 11), PackedInt32Array(11, 10, 12)] -[sub_resource type="ViewportTexture" id="ViewportTexture_3u6tt"] +[sub_resource type="ViewportTexture" id="ViewportTexture_i2lmm"] viewport_path = NodePath("NavigationRegion3D/MeshInstance3D/SubViewport") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mdr1l"] transparency = 2 alpha_scissor_threshold = 0.5 alpha_antialiasing_mode = 0 -albedo_texture = SubResource("ViewportTexture_3u6tt") +albedo_texture = SubResource("ViewportTexture_i2lmm") metallic_specular = 0.0 [sub_resource type="ShaderMaterial" id="ShaderMaterial_lrfyr"] @@ -183,20 +192,22 @@ transform = Transform3D(0.990369, 0.119902, -0.0692253, 0, 0.499998, 0.866027, 0 shadow_enabled = true directional_shadow_max_distance = 54.0 -[node name="NPC_Tawna" parent="." node_paths=PackedStringArray("target") instance=ExtResource("16_e5ajb")] +[node name="NPC" type="Node" parent="."] + +[node name="NPC_Tawna" parent="NPC" node_paths=PackedStringArray("target") instance=ExtResource("16_e5ajb")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.833128, 0.480017, 1.21881) target = NodePath("../NPC_Pasadena") -[node name="NPC_EvilCoco" parent="." instance=ExtResource("12_o5554")] +[node name="NPC_EvilCoco" parent="NPC" instance=ExtResource("12_o5554")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.446828, 0.421477, 0) -[node name="NPC_Pasadena" parent="." instance=ExtResource("8_s3ti8")] +[node name="NPC_Pasadena" parent="NPC" instance=ExtResource("8_s3ti8")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.43713, 0.48192, -0.421152) -[node name="NPC_Megumi" parent="." instance=ExtResource("18_5v3lx")] +[node name="NPC_Megumi" parent="NPC" instance=ExtResource("18_5v3lx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.36378, 0.154416, 0.308182) -[node name="NPC_Coco" parent="." instance=ExtResource("18_tn7yc")] +[node name="NPC_Coco" parent="NPC" instance=ExtResource("18_tn7yc")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.99698, 0.48192, -1.00017) [node name="Floor" type="MeshInstance3D" parent="."] @@ -258,3 +269,6 @@ mesh = SubResource("BoxMesh_0b70n") [node name="Water" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.976, 1.156) mesh = SubResource("PlaneMesh_me2s6") + +[node name="CocoLaptop" parent="." instance=ExtResource("19_5as3d")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.36065, 0, 0) diff --git a/assets/levels/maps/debug3.tscn b/assets/levels/maps/debug3.tscn index 4748158..ebd5b82 100644 --- a/assets/levels/maps/debug3.tscn +++ b/assets/levels/maps/debug3.tscn @@ -14,6 +14,7 @@ sky_material = SubResource("ProceduralSkyMaterial_tp8ku") [sub_resource type="Environment" id="Environment_d3cpo"] background_mode = 2 +background_energy_multiplier = 0.0 sky = SubResource("Sky_shl8g") tonemap_mode = 2 diff --git a/assets/main.tscn b/assets/main.tscn index e1a6edc..0db9fd6 100644 --- a/assets/main.tscn +++ b/assets/main.tscn @@ -1,13 +1,15 @@ -[gd_scene load_steps=9 format=3 uid="uid://x4qu20qmep66"] +[gd_scene load_steps=11 format=3 uid="uid://x4qu20qmep66"] [ext_resource type="Script" path="res://src/main.gd" id="1_l1pcn"] [ext_resource type="Script" path="res://src/input_manager.gd" id="2_hvjva"] [ext_resource type="Script" path="res://src/console_manager.gd" id="3_65iwr"] [ext_resource type="Script" path="res://src/dialogue_manager.gd" id="4_oir0n"] [ext_resource type="Script" path="res://src/state_manager.gd" id="5_4aaix"] +[ext_resource type="Script" path="res://src/combat_manager.gd" id="6_oxtdj"] [ext_resource type="Script" path="res://src/level_manager.gd" id="6_xklu3"] [ext_resource type="Script" path="res://src/camera_manager.gd" id="7_i2npv"] [ext_resource type="PackedScene" uid="uid://sq6kut2r2bqx" path="res://assets/ui/main_ui.tscn" id="8_ljofn"] +[ext_resource type="Script" path="res://src/canvas_layer.gd" id="10_x3yev"] [node name="Main" type="Node"] script = ExtResource("1_l1pcn") @@ -29,6 +31,7 @@ script = ExtResource("5_4aaix") [node name="InventoryManager" type="Node" parent="."] [node name="CombatManager" type="Node" parent="."] +script = ExtResource("6_oxtdj") [node name="LevelManager" type="Node" parent="."] script = ExtResource("6_xklu3") @@ -37,3 +40,16 @@ script = ExtResource("6_xklu3") script = ExtResource("7_i2npv") [node name="MainUi" parent="." instance=ExtResource("8_ljofn")] + +[node name="CanvasLayer" type="CanvasLayer" parent="."] +script = ExtResource("10_x3yev") + +[node name="ColorRect" type="ColorRect" parent="CanvasLayer"] +anchors_preset = -1 +anchor_right = 0.077 +anchor_bottom = 0.138 +offset_left = 583.0 +offset_top = 483.0 +offset_right = 448.16 +offset_bottom = 377.96 +color = Color(1, 0.19, 0.19, 1) diff --git a/assets/objects/box/box.tscn b/assets/objects/box/box.tscn index 6cbcde4..0e44a80 100644 --- a/assets/objects/box/box.tscn +++ b/assets/objects/box/box.tscn @@ -22,8 +22,8 @@ shader_parameter/inside_width = 0.01 shader_parameter/inside_color = Color(0.8, 0.8, 0.8, 0.8) shader_parameter/checkered = true shader_parameter/sub_checkered_grid = true -shader_parameter/checkered_color = Color(0.25, 0.25, 0.25, 1) -shader_parameter/checkered_blend_color = 0.1 +shader_parameter/checkered_color = Color(0.357858, 0.147325, 0.390334, 1) +shader_parameter/checkered_blend_color = 0.395 shader_parameter/use_inside_uv = false shader_parameter/use_albedo_color = false shader_parameter/albedo_alpha = 0.5 diff --git a/src/canvas_layer.gd b/src/canvas_layer.gd new file mode 100644 index 0000000..6662a32 --- /dev/null +++ b/src/canvas_layer.gd @@ -0,0 +1,13 @@ +extends CanvasLayer + +@onready var color_rect: ColorRect = $ColorRect + +func _ready() -> void: + pass # Replace with function body. + +func _process(delta: float) -> void: + var ec: CharacterBody3D = $"/root/Main/LevelManager/Level/NPC/NPC_Tawna" + if ec: + color_rect.visible = not get_viewport().get_camera_3d().is_position_behind(ec.global_transform.origin + Vector3(0, 0.8, 0)) + var x: Vector2 = get_viewport().get_camera_3d().unproject_position(ec.global_transform.origin + Vector3(0, 0.8, 0)) + color_rect.position = x +- Vector2(0, 30) diff --git a/src/combat_manager.gd b/src/combat_manager.gd new file mode 100644 index 0000000..ff635ab --- /dev/null +++ b/src/combat_manager.gd @@ -0,0 +1,11 @@ +extends Node + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass