This commit is contained in:
user 2025-01-04 23:07:42 +01:00
parent 2ff10313eb
commit 5978ec344c
24 changed files with 296 additions and 34 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

@ -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

View File

@ -6,18 +6,18 @@
[ext_resource type="SpineSkeletonFileResource" uid="uid://drnpfi1niq3od" path="res://assets/characters/coco/spine.skel" id="5_enjjr"] [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"] [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") 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"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
next_pass = SubResource("ShaderMaterial_5xxpu") next_pass = SubResource("ShaderMaterial_fy03b")
transparency = 1 transparency = 1
shading_mode = 0 shading_mode = 0
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_texture = SubResource("ViewportTexture_xyxp2") albedo_texture = SubResource("ViewportTexture_v8p7q")
billboard_mode = 1 billboard_mode = 1
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"] [sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]

View File

@ -4,7 +4,7 @@
[ext_resource type="SpineSkeletonDataResource" uid="uid://dn5wtcrr40ahd" path="res://assets/characters/coco/coco.tres" id="2_8ur8k"] [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"] [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") viewport_path = NodePath("MeshInstance3D/SubViewport")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"]
@ -15,7 +15,7 @@ transparency = 1
shading_mode = 0 shading_mode = 0
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_texture = SubResource("ViewportTexture_xy31o") albedo_texture = SubResource("ViewportTexture_usswm")
billboard_mode = 1 billboard_mode = 1
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"] [sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]

View File

@ -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] _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 point_count = 3
[sub_resource type="ViewportTexture" id="ViewportTexture_cfqc6"] [sub_resource type="ViewportTexture" id="ViewportTexture_73c6e"]
viewport_path = NodePath("MeshInstance3D/SubViewport") viewport_path = NodePath("MeshInstance3D/SubViewport")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
@ -42,7 +42,7 @@ no_depth_test = true
shading_mode = 0 shading_mode = 0
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_texture = SubResource("ViewportTexture_cfqc6") albedo_texture = SubResource("ViewportTexture_73c6e")
texture_filter = 0 texture_filter = 0
texture_repeat = false texture_repeat = false
billboard_mode = 1 billboard_mode = 1

View File

@ -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] _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 point_count = 3
[sub_resource type="ViewportTexture" id="ViewportTexture_rdjkf"] [sub_resource type="ViewportTexture" id="ViewportTexture_gi4f4"]
viewport_path = NodePath("MeshInstance3D/SubViewport") viewport_path = NodePath("MeshInstance3D/SubViewport")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
@ -42,7 +42,7 @@ no_depth_test = true
shading_mode = 0 shading_mode = 0
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_texture = SubResource("ViewportTexture_rdjkf") albedo_texture = SubResource("ViewportTexture_gi4f4")
texture_filter = 0 texture_filter = 0
texture_repeat = false texture_repeat = false
billboard_mode = 1 billboard_mode = 1

View File

@ -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] _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 point_count = 3
[sub_resource type="ViewportTexture" id="ViewportTexture_l7lc7"] [sub_resource type="ViewportTexture" id="ViewportTexture_vfgay"]
viewport_path = NodePath("MeshInstance3D/SubViewport") viewport_path = NodePath("MeshInstance3D/SubViewport")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
@ -41,7 +41,7 @@ blend_mode = 4
shading_mode = 0 shading_mode = 0
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_texture = SubResource("ViewportTexture_l7lc7") albedo_texture = SubResource("ViewportTexture_vfgay")
texture_filter = 0 texture_filter = 0
texture_repeat = false texture_repeat = false
billboard_mode = 1 billboard_mode = 1

View File

@ -5,6 +5,10 @@ const ACCEL = 4.5
@onready var nav: NavigationAgent3D = $NavigationAgent3D @onready var nav: NavigationAgent3D = $NavigationAgent3D
@export var target: CharacterBody3D = null @export var target: CharacterBody3D = null
var last_direction = Vector3.ZERO
func set_target(t: CharacterBody3D):
target = t
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
if not target: if not target:
@ -14,6 +18,12 @@ func _physics_process(delta: float) -> void:
var next_location = nav.get_next_path_position() var next_location = nav.get_next_path_position()
var dist = next_location - current_location var dist = next_location - current_location
var new_velocity = dist.normalized() * SPEED 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: if dist.length() > 0.5:
velocity = new_velocity velocity = new_velocity
move_and_slide() move_and_slide()

View File

@ -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] _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 point_count = 3
[sub_resource type="ViewportTexture" id="ViewportTexture_tg7lx"] [sub_resource type="ViewportTexture" id="ViewportTexture_r7ffu"]
viewport_path = NodePath("MeshInstance3D/SubViewport") viewport_path = NodePath("MeshInstance3D/SubViewport")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
@ -41,10 +41,11 @@ transparency = 1
shading_mode = 0 shading_mode = 0
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_texture = SubResource("ViewportTexture_tg7lx") albedo_texture = SubResource("ViewportTexture_r7ffu")
billboard_mode = 1 billboard_mode = 1
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"] [sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
lightmap_size_hint = Vector2i(7, 12)
size = Vector2(2, 2) size = Vector2(2, 2)
[sub_resource type="SpineAnimationMix" id="SpineAnimationMix_piuq6"] [sub_resource type="SpineAnimationMix" id="SpineAnimationMix_piuq6"]
@ -91,7 +92,7 @@ anim_speed_max = 60.44
anim_speed_curve = SubResource("Curve_l10dy") anim_speed_curve = SubResource("Curve_l10dy")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [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 layers = 1023
material_override = SubResource("StandardMaterial3D_a31vv") material_override = SubResource("StandardMaterial3D_a31vv")
cast_shadow = 0 cast_shadow = 0
@ -101,9 +102,10 @@ script = ExtResource("3_rv1la")
[node name="SubViewport" type="SubViewport" parent="MeshInstance3D"] [node name="SubViewport" type="SubViewport" parent="MeshInstance3D"]
transparent_bg = true transparent_bg = true
canvas_cull_mask = 4294966273 canvas_cull_mask = 4294966273
size = Vector2i(3700, 3700) size = Vector2i(3671, 3671)
[node name="SpineSprite" type="SpineSprite" parent="MeshInstance3D/SubViewport"] [node name="SpineSprite" type="SpineSprite" parent="MeshInstance3D/SubViewport"]
position = Vector2(1358, 0)
skeleton_data_res = SubResource("SpineSkeletonDataResource_ufcij") skeleton_data_res = SubResource("SpineSkeletonDataResource_ufcij")
meshes = true meshes = true
preview_skin = "default" preview_skin = "default"

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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"

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

View File

@ -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

Binary file not shown.

View File

@ -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]

View File

@ -1,14 +1,20 @@
extends Node3D extends Node3D
@onready var tawna: CharacterBody3D = $NPC_Tawna; @onready var tawna: CharacterBody3D = $NPC/NPC_Tawna;
@onready var player: CharacterBody3D = $NPC_Coco; @onready var player: CharacterBody3D = $NPC/NPC_Coco;
var d = GDRx.on_physics_step().subscribe(attach_target).dispose_with(self)
func _ready() -> void: func _ready() -> void:
print(get_parent_node_3d()) print(get_parent_node_3d())
tawna.target = player tawna.target = player
#
func _process(delta: float) -> void: func attach_target(delta: float) -> void:
pass 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: func _on_area_3d_area_entered(area: Area3D) -> void:
if area.is_in_group("Player"): if area.is_in_group("Player"):

View File

@ -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="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="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://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"] [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://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://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://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"] [sub_resource type="Environment" id="Environment_06i34"]
background_mode = 1 background_mode = 2
background_color = Color(0.764667, 0.252225, 0.351088, 1) 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 ambient_light_source = 1
reflected_light_source = 1 reflected_light_source = 1
adjustment_enabled = true 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) 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)] 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") viewport_path = NodePath("NavigationRegion3D/MeshInstance3D/SubViewport")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mdr1l"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mdr1l"]
transparency = 2 transparency = 2
alpha_scissor_threshold = 0.5 alpha_scissor_threshold = 0.5
alpha_antialiasing_mode = 0 alpha_antialiasing_mode = 0
albedo_texture = SubResource("ViewportTexture_3u6tt") albedo_texture = SubResource("ViewportTexture_i2lmm")
metallic_specular = 0.0 metallic_specular = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lrfyr"] [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 shadow_enabled = true
directional_shadow_max_distance = 54.0 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.833128, 0.480017, 1.21881)
target = NodePath("../NPC_Pasadena") 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) 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) 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) 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.99698, 0.48192, -1.00017)
[node name="Floor" type="MeshInstance3D" parent="."] [node name="Floor" type="MeshInstance3D" parent="."]
@ -258,3 +269,6 @@ mesh = SubResource("BoxMesh_0b70n")
[node name="Water" type="MeshInstance3D" parent="."] [node name="Water" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.976, 1.156) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.976, 1.156)
mesh = SubResource("PlaneMesh_me2s6") 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)

View File

@ -14,6 +14,7 @@ sky_material = SubResource("ProceduralSkyMaterial_tp8ku")
[sub_resource type="Environment" id="Environment_d3cpo"] [sub_resource type="Environment" id="Environment_d3cpo"]
background_mode = 2 background_mode = 2
background_energy_multiplier = 0.0
sky = SubResource("Sky_shl8g") sky = SubResource("Sky_shl8g")
tonemap_mode = 2 tonemap_mode = 2

View File

@ -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/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/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/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/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/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/level_manager.gd" id="6_xklu3"]
[ext_resource type="Script" path="res://src/camera_manager.gd" id="7_i2npv"] [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="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"] [node name="Main" type="Node"]
script = ExtResource("1_l1pcn") script = ExtResource("1_l1pcn")
@ -29,6 +31,7 @@ script = ExtResource("5_4aaix")
[node name="InventoryManager" type="Node" parent="."] [node name="InventoryManager" type="Node" parent="."]
[node name="CombatManager" type="Node" parent="."] [node name="CombatManager" type="Node" parent="."]
script = ExtResource("6_oxtdj")
[node name="LevelManager" type="Node" parent="."] [node name="LevelManager" type="Node" parent="."]
script = ExtResource("6_xklu3") script = ExtResource("6_xklu3")
@ -37,3 +40,16 @@ script = ExtResource("6_xklu3")
script = ExtResource("7_i2npv") script = ExtResource("7_i2npv")
[node name="MainUi" parent="." instance=ExtResource("8_ljofn")] [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)

View File

@ -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/inside_color = Color(0.8, 0.8, 0.8, 0.8)
shader_parameter/checkered = true shader_parameter/checkered = true
shader_parameter/sub_checkered_grid = true shader_parameter/sub_checkered_grid = true
shader_parameter/checkered_color = Color(0.25, 0.25, 0.25, 1) shader_parameter/checkered_color = Color(0.357858, 0.147325, 0.390334, 1)
shader_parameter/checkered_blend_color = 0.1 shader_parameter/checkered_blend_color = 0.395
shader_parameter/use_inside_uv = false shader_parameter/use_inside_uv = false
shader_parameter/use_albedo_color = false shader_parameter/use_albedo_color = false
shader_parameter/albedo_alpha = 0.5 shader_parameter/albedo_alpha = 0.5

13
src/canvas_layer.gd Normal file
View File

@ -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)

11
src/combat_manager.gd Normal file
View File

@ -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