.
This commit is contained in:
parent
2ff10313eb
commit
5978ec344c
BIN
assets/background-bright.png
Normal file
BIN
assets/background-bright.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 103 KiB |
35
assets/background-bright.png.import
Normal file
35
assets/background-bright.png.import
Normal 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
|
||||||
@ -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"]
|
||||||
|
|||||||
@ -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"]
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
34
assets/decals/coco_laptop/Copy of Paint Layer 9.png.import
Normal file
34
assets/decals/coco_laptop/Copy of Paint Layer 9.png.import
Normal 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
|
||||||
51
assets/decals/coco_laptop/coco_laptop.tscn
Normal file
51
assets/decals/coco_laptop/coco_laptop.tscn
Normal 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")
|
||||||
6
assets/decals/coco_laptop/spine.atlas
Normal file
6
assets/decals/coco_laptop/spine.atlas
Normal 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
|
||||||
15
assets/decals/coco_laptop/spine.atlas.import
Normal file
15
assets/decals/coco_laptop/spine.atlas.import
Normal 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"
|
||||||
BIN
assets/decals/coco_laptop/spine.png
Normal file
BIN
assets/decals/coco_laptop/spine.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 458 KiB |
34
assets/decals/coco_laptop/spine.png.import
Normal file
34
assets/decals/coco_laptop/spine.png.import
Normal 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
|
||||||
BIN
assets/decals/coco_laptop/spine.skel
Normal file
BIN
assets/decals/coco_laptop/spine.skel
Normal file
Binary file not shown.
14
assets/decals/coco_laptop/spine.skel.import
Normal file
14
assets/decals/coco_laptop/spine.skel.import
Normal 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]
|
||||||
|
|
||||||
@ -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"):
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
13
src/canvas_layer.gd
Normal 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
11
src/combat_manager.gd
Normal 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
|
||||||
Loading…
x
Reference in New Issue
Block a user