generated from krampus/template-godot4
Compare commits
No commits in common. "1ab14b6bb1fa234f03c45770f001591fcd8b746a" and "e2ca0cb1a256086b97d20122e44f4a261b5cbff6" have entirely different histories.
1ab14b6bb1
...
e2ca0cb1a2
Binary file not shown.
Binary file not shown.
@ -1,22 +0,0 @@
|
||||
# Blender 4.3.2 MTL File: 'alarm.blend'
|
||||
# www.blender.org
|
||||
|
||||
newmtl Core
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl Grunk
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.500000
|
||||
d 1.000000
|
||||
illum 2
|
@ -1,122 +0,0 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib alarm_core.mtl
|
||||
o Bud
|
||||
v -0.000305 0.016706 -0.051647
|
||||
v 0.050954 0.014567 0.011255
|
||||
v 0.022972 0.014608 0.046766
|
||||
v -0.050603 0.015038 0.012086
|
||||
v -0.040807 0.015834 -0.031792
|
||||
v 0.040527 0.015162 -0.032510
|
||||
v -0.022175 0.014879 0.047141
|
||||
v 0.051567 -0.011899 0.012115
|
||||
v 0.022745 -0.011851 0.048014
|
||||
v -0.051874 -0.011492 0.011470
|
||||
v -0.041395 -0.010593 -0.033626
|
||||
v 0.000226 -0.009570 -0.053399
|
||||
v 0.041727 -0.011352 -0.033066
|
||||
v -0.023350 -0.011543 0.047648
|
||||
v 0.044800 0.033472 0.009364
|
||||
v 0.020567 0.033466 0.040625
|
||||
v -0.043997 0.033887 0.011183
|
||||
v -0.035801 0.034555 -0.026860
|
||||
v -0.000656 0.035393 -0.044528
|
||||
v 0.035126 0.033982 -0.028449
|
||||
v -0.018818 0.033746 0.041491
|
||||
v 0.026218 0.047100 0.004813
|
||||
v 0.012481 0.046946 0.023154
|
||||
v -0.025113 0.047307 0.007217
|
||||
v -0.020829 0.047612 -0.014315
|
||||
v -0.000851 0.048334 -0.024889
|
||||
v 0.019920 0.047291 -0.016447
|
||||
v -0.010151 0.047252 0.024324
|
||||
vn 0.7823 0.0305 0.6222
|
||||
vn -0.9742 0.0444 -0.2212
|
||||
vn -0.4349 0.0616 -0.8984
|
||||
vn 0.4334 0.0535 -0.8996
|
||||
vn 0.9746 0.0321 -0.2216
|
||||
vn 0.0003 0.0332 0.9994
|
||||
vn -0.7805 0.0348 0.6241
|
||||
vn -0.9301 0.3088 -0.1988
|
||||
vn 0.4061 0.3177 -0.8568
|
||||
vn 0.0159 0.2979 0.9545
|
||||
vn 0.7526 0.2957 0.5884
|
||||
vn -0.4261 0.3250 -0.8443
|
||||
vn 0.9280 0.2972 -0.2246
|
||||
vn -0.7369 0.2999 0.6058
|
||||
vn -0.4665 0.7898 0.3982
|
||||
vn 0.0073 0.9998 0.0178
|
||||
vn 0.5955 0.7889 -0.1516
|
||||
vn -0.2883 0.8053 -0.5181
|
||||
vn 0.4888 0.7869 0.3767
|
||||
vn 0.0276 0.7883 0.6147
|
||||
vn 0.2668 0.8015 -0.5351
|
||||
vn -0.5945 0.7963 -0.1115
|
||||
vt 0.164062 0.210938
|
||||
vt 0.164062 0.484375
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.195312
|
||||
vt 0.507812 0.687500
|
||||
vt 0.554688 0.960938
|
||||
vt 0.390625 1.000000
|
||||
vt 0.343750 0.695312
|
||||
vt 0.882812 0.507812
|
||||
vt 0.835938 0.687500
|
||||
vt 0.671875 0.695312
|
||||
vt 0.718750 0.492188
|
||||
vt 0.882812 0.960938
|
||||
vt 0.718750 1.000000
|
||||
vt 0.234375 0.039062
|
||||
vt 0.078125 -0.000000
|
||||
vt 0.234375 0.656250
|
||||
vt 0.078125 0.695312
|
||||
vt 0.554688 0.507812
|
||||
vt 0.390625 0.492188
|
||||
vt 0.640625 0.695312
|
||||
vt 0.671875 0.914062
|
||||
vt 0.960938 0.695312
|
||||
vt 1.000000 0.914062
|
||||
vt 0.289062 0.453125
|
||||
vt 0.343750 0.593750
|
||||
vt 0.289062 0.234375
|
||||
vt 1.000000 0.546875
|
||||
vt 0.343750 0.101562
|
||||
vt 0.671875 0.546875
|
||||
vt 0.437500 0.445312
|
||||
vt 0.343750 0.250000
|
||||
vt 0.484375 0.250000
|
||||
vt 0.523438 0.335938
|
||||
vt 0.703125 0.296875
|
||||
vt 0.625000 0.359375
|
||||
vt 0.523438 0.156250
|
||||
vt 0.625000 0.132812
|
||||
vt 0.703125 0.195312
|
||||
vt 0.656250 -0.000000
|
||||
vt 0.828125 0.140625
|
||||
vt 0.828125 0.359375
|
||||
vt 0.656250 0.492188
|
||||
vt 0.437500 0.046875
|
||||
s 0
|
||||
usemtl Core
|
||||
f 2/1/1 3/2/1 9/3/1 8/4/1
|
||||
f 4/5/2 5/6/2 11/7/2 10/8/2
|
||||
f 5/9/3 1/10/3 12/11/3 11/12/3
|
||||
f 1/10/4 6/13/4 13/14/4 12/11/4
|
||||
f 6/15/5 2/1/5 8/4/5 13/16/5
|
||||
f 3/2/6 7/17/6 14/18/6 9/3/6
|
||||
f 7/19/7 4/5/7 10/8/7 14/20/7
|
||||
f 5/6/8 4/5/8 17/21/8 18/22/8
|
||||
f 6/13/9 1/10/9 19/23/9 20/24/9
|
||||
f 7/17/10 3/2/10 16/25/10 21/26/10
|
||||
f 3/2/11 2/1/11 15/27/11 16/25/11
|
||||
f 1/10/12 5/9/12 18/28/12 19/23/12
|
||||
f 2/1/13 6/15/13 20/29/13 15/27/13
|
||||
f 4/5/14 7/19/14 21/30/14 17/21/14
|
||||
f 17/31/15 21/32/15 28/33/15 24/34/15
|
||||
f 26/35/16 25/36/16 24/34/16 28/33/16 23/37/16 22/38/16 27/39/16
|
||||
f 15/40/17 20/41/17 27/39/17 22/38/17
|
||||
f 19/42/18 18/43/18 25/36/18 26/35/18
|
||||
f 16/44/19 15/40/19 22/38/19 23/37/19
|
||||
f 21/32/20 16/44/20 23/37/20 28/33/20
|
||||
f 20/41/21 19/42/21 26/35/21 27/39/21
|
||||
f 18/43/22 17/31/22 24/34/22 25/36/22
|
Binary file not shown.
Binary file not shown.
BIN
asset_dev/grunk_nodes/alarm/alarm_core_uv_layout.png
(Stored with Git LFS)
BIN
asset_dev/grunk_nodes/alarm/alarm_core_uv_layout.png
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1,48 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://60ks4l42qxia"
|
||||
path="res://.godot/imported/alarm.gltf-ea2bfae4f9486e264df32529eb23ab63.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/grunk/alarm/alarm.gltf"
|
||||
dest_files=["res://.godot/imported/alarm.gltf-ea2bfae4f9486e264df32529eb23ab63.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Core": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "uid://cdpvcruywnp4x"
|
||||
},
|
||||
"Grunk": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "uid://bmab6i16v748m"
|
||||
}
|
||||
}
|
||||
}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
BIN
assets/grunk/alarm/alarm_core_C.png
(Stored with Git LFS)
BIN
assets/grunk/alarm/alarm_core_C.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d30fv8koa7l76"
|
||||
path="res://.godot/imported/alarm_core_C.png-6c19be146ce7f3b1082c3b4a14ec6e5e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/grunk/alarm/alarm_core_C.png"
|
||||
dest_files=["res://.godot/imported/alarm_core_C.png-6c19be146ce7f3b1082c3b4a14ec6e5e.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=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
|
BIN
assets/grunk/alarm/alarm_core_N.png
(Stored with Git LFS)
BIN
assets/grunk/alarm/alarm_core_N.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b60qme57nn45u"
|
||||
path="res://.godot/imported/alarm_core_N.png-bf83d4de4dda39cecd12ded93e8065ae.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/grunk/alarm/alarm_core_N.png"
|
||||
dest_files=["res://.godot/imported/alarm_core_N.png-bf83d4de4dda39cecd12ded93e8065ae.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/grunk/alarm/alarm_core_N.png"
|
||||
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
|
BIN
assets/grunk/alarm/alarm_core_R.png
(Stored with Git LFS)
BIN
assets/grunk/alarm/alarm_core_R.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c3310lmvwfp7g"
|
||||
path="res://.godot/imported/alarm_core_R.png-3ece2da6b8a3ee0dce1c204c687f2929.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/grunk/alarm/alarm_core_R.png"
|
||||
dest_files=["res://.godot/imported/alarm_core_R.png-3ece2da6b8a3ee0dce1c204c687f2929.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=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
|
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
# Blender 4.3.2 MTL File: 'trash_can.blend'
|
||||
# www.blender.org
|
@ -1,107 +0,0 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib trash_can.mtl
|
||||
o Cylinder
|
||||
v 0.000000 -0.500000 -0.400000
|
||||
v 0.282843 -0.500000 -0.282843
|
||||
v 0.400000 -0.500000 0.000000
|
||||
v 0.282843 -0.500000 0.282843
|
||||
v 0.000000 -0.500000 0.400000
|
||||
v -0.282843 -0.500000 0.282843
|
||||
v -0.400000 -0.500000 0.000000
|
||||
v -0.282843 -0.500000 -0.282843
|
||||
v -0.000000 0.500000 -0.350113
|
||||
v 0.000000 0.400000 -0.400000
|
||||
v 0.247567 0.500000 -0.247567
|
||||
v 0.282843 0.400000 -0.282843
|
||||
v 0.350113 0.500000 -0.000000
|
||||
v 0.400000 0.400000 0.000000
|
||||
v 0.247567 0.500000 0.247567
|
||||
v 0.282843 0.400000 0.282843
|
||||
v 0.000000 0.500000 0.350113
|
||||
v 0.000000 0.400000 0.400000
|
||||
v -0.247567 0.500000 0.247567
|
||||
v -0.282843 0.400000 0.282843
|
||||
v -0.350113 0.500000 0.000000
|
||||
v -0.400000 0.400000 0.000000
|
||||
v -0.247567 0.500000 -0.247567
|
||||
v -0.282843 0.400000 -0.282843
|
||||
vn -0.3827 -0.0000 -0.9239
|
||||
vn 0.9239 -0.0000 0.3827
|
||||
vn 0.3827 -0.0000 0.9239
|
||||
vn -0.3827 -0.0000 0.9239
|
||||
vn -0.9239 -0.0000 0.3827
|
||||
vn -0.9239 -0.0000 -0.3827
|
||||
vn 0.3827 -0.0000 -0.9239
|
||||
vn 0.9239 -0.0000 -0.3827
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn 0.3475 0.4186 -0.8391
|
||||
vn 0.8390 0.4186 -0.3475
|
||||
vn 0.8390 0.4186 0.3475
|
||||
vn 0.3475 0.4186 0.8390
|
||||
vn -0.3475 0.4186 0.8391
|
||||
vn -0.8390 0.4186 0.3475
|
||||
vn -0.8391 0.4186 -0.3475
|
||||
vn -0.3475 0.4186 -0.8390
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.125000 0.953125
|
||||
vt 0.000000 0.953125
|
||||
vt 0.000000 0.500000
|
||||
vt 0.750000 0.500000
|
||||
vt 0.750000 0.953125
|
||||
vt 0.625000 0.953125
|
||||
vt 0.625000 0.500000
|
||||
vt 0.500000 0.953125
|
||||
vt 0.500000 0.500000
|
||||
vt 0.375000 0.953125
|
||||
vt 0.375000 0.500000
|
||||
vt 0.250000 0.953125
|
||||
vt 0.250000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.953125
|
||||
vt 0.875000 0.953125
|
||||
vt 0.875000 0.500000
|
||||
vt 0.843750 0.468750
|
||||
vt 0.968750 0.343750
|
||||
vt 0.968750 0.156250
|
||||
vt 0.843750 0.031250
|
||||
vt 0.656250 0.031250
|
||||
vt 0.531250 0.156250
|
||||
vt 0.531250 0.343750
|
||||
vt 0.656250 0.468750
|
||||
vt 0.468750 0.343750
|
||||
vt 0.343750 0.468750
|
||||
vt 0.312500 0.406250
|
||||
vt 0.406250 0.312500
|
||||
vt 0.468750 0.156250
|
||||
vt 0.406250 0.187500
|
||||
vt 0.343750 0.031250
|
||||
vt 0.312500 0.093750
|
||||
vt 0.156250 0.031250
|
||||
vt 0.187500 0.093750
|
||||
vt 0.031250 0.156250
|
||||
vt 0.093750 0.187500
|
||||
vt 0.031250 0.343750
|
||||
vt 0.093750 0.312500
|
||||
vt 0.156250 0.468750
|
||||
vt 0.187500 0.406250
|
||||
s 0
|
||||
f 8/1/1 24/2/1 10/3/1 1/4/1
|
||||
f 3/5/2 14/6/2 16/7/2 4/8/2
|
||||
f 4/8/3 16/7/3 18/9/3 5/10/3
|
||||
f 5/10/4 18/9/4 20/11/4 6/12/4
|
||||
f 6/12/5 20/11/5 22/13/5 7/14/5
|
||||
f 7/14/6 22/13/6 24/2/6 8/1/6
|
||||
f 1/15/7 10/16/7 12/17/7 2/18/7
|
||||
f 2/18/8 12/17/8 14/6/8 3/5/8
|
||||
f 1/19/9 2/20/9 3/21/9 4/22/9 5/23/9 6/24/9 7/25/9 8/26/9
|
||||
f 12/27/10 10/28/10 9/29/10 11/30/10
|
||||
f 14/31/11 12/27/11 11/30/11 13/32/11
|
||||
f 16/33/12 14/31/12 13/32/12 15/34/12
|
||||
f 18/35/13 16/33/13 15/34/13 17/36/13
|
||||
f 20/37/14 18/35/14 17/36/14 19/38/14
|
||||
f 22/39/15 20/37/15 19/38/15 21/40/15
|
||||
f 24/41/16 22/39/16 21/40/16 23/42/16
|
||||
f 10/28/17 24/41/17 23/42/17 9/29/17
|
||||
f 11/30/18 9/29/18 23/42/18 21/40/18 19/38/18 17/36/18 15/34/18 13/32/18
|
@ -1,25 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://c1npli5k7cmt1"
|
||||
path="res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.mesh"]
|
||||
|
||||
source_file="res://assets/props/trash_can/trash_can.obj"
|
||||
dest_files=["res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.mesh", "res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
BIN
assets/props/trash_can/trash_can_C.png
(Stored with Git LFS)
BIN
assets/props/trash_can/trash_can_C.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dg01fg62km4fq"
|
||||
path="res://.godot/imported/trash_can_C.png-a513828346c1391ee7f543c9bc5b98e7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/trash_can/trash_can_C.png"
|
||||
dest_files=["res://.godot/imported/trash_can_C.png-a513828346c1391ee7f543c9bc5b98e7.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=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
|
BIN
assets/props/trash_can/trash_can_M.png
(Stored with Git LFS)
BIN
assets/props/trash_can/trash_can_M.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dhj3w5ujnikf6"
|
||||
path="res://.godot/imported/trash_can_M.png-7d498cc43ffebcd3f67598f6f4d903c1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/trash_can/trash_can_M.png"
|
||||
dest_files=["res://.godot/imported/trash_can_M.png-7d498cc43ffebcd3f67598f6f4d903c1.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=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
|
BIN
assets/props/trash_can/trash_can_N.png
(Stored with Git LFS)
BIN
assets/props/trash_can/trash_can_N.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c1ksjm73dg0jy"
|
||||
path="res://.godot/imported/trash_can_N.png-0c251a62a2ee8a3c06fe8fc4bc763ee2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/trash_can/trash_can_N.png"
|
||||
dest_files=["res://.godot/imported/trash_can_N.png-0c251a62a2ee8a3c06fe8fc4bc763ee2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/props/trash_can/trash_can_N.png"
|
||||
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
|
BIN
assets/props/trash_can/trash_can_R.png
(Stored with Git LFS)
BIN
assets/props/trash_can/trash_can_R.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b8wb1tr3lpdap"
|
||||
path="res://.godot/imported/trash_can_R.png-de97399a2f6bce07f3860d2832d8e1ae.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/trash_can/trash_can_R.png"
|
||||
dest_files=["res://.godot/imported/trash_can_R.png-de97399a2f6bce07f3860d2832d8e1ae.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=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
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://di0e1l1l6l3qc"
|
||||
path="res://.godot/imported/metal1.wav-abec163e69d3b8c2b88c018c6d6fd53a.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal1.wav"
|
||||
dest_files=["res://.godot/imported/metal1.wav-abec163e69d3b8c2b88c018c6d6fd53a.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://btiyoi1ipofd"
|
||||
path="res://.godot/imported/metal10.wav-f330161b601abcba2af8d992baf863cd.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal10.wav"
|
||||
dest_files=["res://.godot/imported/metal10.wav-f330161b601abcba2af8d992baf863cd.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://eagr344y4coh"
|
||||
path="res://.godot/imported/metal11.wav-50429a719453f9b3167e120d3c968fde.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal11.wav"
|
||||
dest_files=["res://.godot/imported/metal11.wav-50429a719453f9b3167e120d3c968fde.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bguwbr0nlhgkl"
|
||||
path="res://.godot/imported/metal2.wav-994ad8bf412d1693eee9a314cb45b716.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal2.wav"
|
||||
dest_files=["res://.godot/imported/metal2.wav-994ad8bf412d1693eee9a314cb45b716.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bv00dudic2mvp"
|
||||
path="res://.godot/imported/metal3.wav-dfc0f68dda580cc92a343cd9775b7f25.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal3.wav"
|
||||
dest_files=["res://.godot/imported/metal3.wav-dfc0f68dda580cc92a343cd9775b7f25.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://co83ygaa4d65u"
|
||||
path="res://.godot/imported/metal4.wav-821733427b3229063559b57480349a37.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal4.wav"
|
||||
dest_files=["res://.godot/imported/metal4.wav-821733427b3229063559b57480349a37.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://befqnsqlbpca7"
|
||||
path="res://.godot/imported/metal5.wav-effadb87795f8e91effd78440f2ce271.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal5.wav"
|
||||
dest_files=["res://.godot/imported/metal5.wav-effadb87795f8e91effd78440f2ce271.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dkx88wqwfvfst"
|
||||
path="res://.godot/imported/metal6.wav-e276d8badb061ea92d2662d46f8e2976.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal6.wav"
|
||||
dest_files=["res://.godot/imported/metal6.wav-e276d8badb061ea92d2662d46f8e2976.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://c6wnc7kqtvujm"
|
||||
path="res://.godot/imported/metal7.wav-aaf6b6fab7966db31f58a82a4ea7bf49.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal7.wav"
|
||||
dest_files=["res://.godot/imported/metal7.wav-aaf6b6fab7966db31f58a82a4ea7bf49.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bo3klycfvvq2q"
|
||||
path="res://.godot/imported/metal8.wav-89eebabbdb41236dfc3c37d668cb34d6.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal8.wav"
|
||||
dest_files=["res://.godot/imported/metal8.wav-89eebabbdb41236dfc3c37d668cb34d6.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bpdnw4qgbp6kj"
|
||||
path="res://.godot/imported/metal9.wav-1c009f88e12c346351f2a83e27df0786.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/metal/metal9.wav"
|
||||
dest_files=["res://.godot/imported/metal9.wav-1c009f88e12c346351f2a83e27df0786.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://pltp1s1x8q6u"
|
||||
path="res://.godot/imported/beam_loop.wav-e0261eabd9510078d8b64ea2e8c4efe8.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/tools/beam_loop.wav"
|
||||
dest_files=["res://.godot/imported/beam_loop.wav-e0261eabd9510078d8b64ea2e8c4efe8.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=2
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
Binary file not shown.
@ -1,24 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://b5ik76jgl8mex"
|
||||
path="res://.godot/imported/spray.wav-7cfa0acfe728bc004ce67c19ceb0c018.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/tools/spray.wav"
|
||||
dest_files=["res://.godot/imported/spray.wav-7cfa0acfe728bc004ce67c19ceb0c018.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=2
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
@ -1,15 +0,0 @@
|
||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://caten2l7w1h6w"]
|
||||
|
||||
[resource]
|
||||
bus/1/name = &"Music"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = 0.0
|
||||
bus/1/send = &"Master"
|
||||
bus/2/name = &"SFX"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = 0.0
|
||||
bus/2/send = &"Master"
|
@ -29,7 +29,7 @@ ssao_intensity = 2.5
|
||||
ssil_enabled = true
|
||||
ssil_radius = 0.4
|
||||
sdfgi_enabled = true
|
||||
sdfgi_cascades = 7
|
||||
sdfgi_use_occlusion = true
|
||||
glow_enabled = true
|
||||
glow_strength = 0.7
|
||||
glow_blend_mode = 0
|
||||
|
File diff suppressed because one or more lines are too long
@ -186,9 +186,6 @@ transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107,
|
||||
[node name="GunkRelay" parent="TriggerNetWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.45, -2.62268e-08, -0.6)
|
||||
|
||||
[node name="GunkRelay5" parent="TriggerNetWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.05, -4.80825e-08, -1.1)
|
||||
|
||||
[node name="GunkRelay2" parent="TriggerNetWall/Puzzle" instance=ExtResource("9_d4a3d")]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.15, -1.09278e-08, -0.25)
|
||||
|
||||
@ -199,7 +196,7 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.2, -
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.2, 2.18558e-09, 0.05)
|
||||
|
||||
[node name="GunkAlarm" parent="TriggerNetWall/Puzzle" instance=ExtResource("10_l8xa5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 0, -0.25)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, -1.09278e-08, -0.25)
|
||||
|
||||
[node name="PulseNetWall" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 3.5, 1.5, 0)
|
||||
@ -241,7 +238,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.37114e-08, -1)
|
||||
|
||||
[connection signal="destroyed" from="TriggerNetWall/Puzzle/GunkTrigger" to="TriggerNetWall/Puzzle/GunkRelay" method="trigger"]
|
||||
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay" to="TriggerNetWall/Puzzle/GunkRelay2" method="trigger"]
|
||||
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay5" to="TriggerNetWall/Puzzle/GunkRelay2" method="trigger"]
|
||||
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay2" to="TriggerNetWall/Puzzle/GunkRelay3" method="trigger"]
|
||||
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay2" to="TriggerNetWall/Puzzle/GunkRelay4" method="trigger"]
|
||||
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay3" to="TriggerNetWall/Puzzle/GunkAlarm" method="trigger"]
|
||||
|
@ -175,7 +175,7 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation")
|
||||
3d_render/layer_2="HUD"
|
||||
3d_physics/layer_1="Physics"
|
||||
3d_physics/layer_2="Interactive"
|
||||
3d_physics/layer_3="Sprayable"
|
||||
3d_physics/layer_3="Grunkable"
|
||||
|
||||
[rendering]
|
||||
|
||||
|
@ -1,30 +0,0 @@
|
||||
class_name BeamSFX extends AudioStreamPlayer3D
|
||||
## Audio player that pitches up each frame `activate` is called, and pitches down any other time.
|
||||
|
||||
const MAX_PITCH := 1.0
|
||||
const MIN_PITCH := 0.001
|
||||
|
||||
@export var pitch_increment := 3.236
|
||||
@export var pitch_decrement := 1.618
|
||||
|
||||
var _active_this_frame := false
|
||||
|
||||
|
||||
func activate() -> void:
|
||||
_active_this_frame = true
|
||||
if not playing:
|
||||
playing = true
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if not playing:
|
||||
return
|
||||
|
||||
if _active_this_frame:
|
||||
pitch_scale = min(MAX_PITCH, pitch_scale + pitch_increment * delta)
|
||||
else:
|
||||
pitch_scale = max(MIN_PITCH, pitch_scale - pitch_decrement * delta)
|
||||
if pitch_scale <= MIN_PITCH:
|
||||
playing = false
|
||||
|
||||
_active_this_frame = false
|
@ -1 +0,0 @@
|
||||
uid://7mp6lj3f6srq
|
@ -1,11 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://5y7gcq6igjpf"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://pltp1s1x8q6u" path="res://assets/sfx/tools/beam_loop.wav" id="1_hbyr8"]
|
||||
[ext_resource type="Script" uid="uid://7mp6lj3f6srq" path="res://src/equipment/beam_sfx/beam_sfx.gd" id="2_qwosj"]
|
||||
|
||||
[node name="BeamSFX" type="AudioStreamPlayer3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
stream = ExtResource("1_hbyr8")
|
||||
pitch_scale = 0.01
|
||||
bus = &"SFX"
|
||||
script = ExtResource("2_qwosj")
|
@ -1,18 +0,0 @@
|
||||
class_name SpraySFX extends AudioStreamPlayer3D
|
||||
## Plays only as long as `activate` is called every frame.
|
||||
|
||||
var _active_this_frame := false
|
||||
|
||||
|
||||
func activate() -> void:
|
||||
_active_this_frame = true
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if _active_this_frame:
|
||||
if not playing:
|
||||
play()
|
||||
else:
|
||||
stop()
|
||||
|
||||
_active_this_frame = false
|
@ -1 +0,0 @@
|
||||
uid://bhvkgqpm7sglw
|
@ -1,12 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://btq11kil0jcql"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://b5ik76jgl8mex" path="res://assets/sfx/tools/spray.wav" id="1_575yt"]
|
||||
[ext_resource type="Script" uid="uid://bhvkgqpm7sglw" path="res://src/equipment/beam_sfx/spray_sfx.gd" id="2_yajv7"]
|
||||
|
||||
[node name="SpraySFX" type="AudioStreamPlayer3D"]
|
||||
stream = ExtResource("1_575yt")
|
||||
attenuation_model = 1
|
||||
volume_db = -2.0
|
||||
unit_size = 1.0
|
||||
bus = &"SFX"
|
||||
script = ExtResource("2_yajv7")
|
@ -1,25 +0,0 @@
|
||||
[gd_resource type="AudioStreamInteractive" load_steps=2 format=3 uid="uid://dhuioidbjemkx"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://pltp1s1x8q6u" path="res://assets/sfx/tools/beam_loop.wav" id="1_h7js2"]
|
||||
|
||||
[resource]
|
||||
clip_count = 2
|
||||
clip_0/name = &"silence"
|
||||
clip_0/auto_advance = 0
|
||||
clip_1/name = &"Beam Loop"
|
||||
clip_1/stream = ExtResource("1_h7js2")
|
||||
clip_1/auto_advance = 0
|
||||
_transitions = {
|
||||
Vector2i(0, 1): {
|
||||
"fade_beats": 1.0,
|
||||
"fade_mode": 1,
|
||||
"from_time": 0,
|
||||
"to_time": 2
|
||||
},
|
||||
Vector2i(1, 0): {
|
||||
"fade_beats": 1.0,
|
||||
"fade_mode": 2,
|
||||
"from_time": 0,
|
||||
"to_time": 1
|
||||
}
|
||||
}
|
@ -12,12 +12,11 @@ const NORMAL_OFFSET = 0.05
|
||||
func _process(_delta: float) -> void:
|
||||
if is_colliding() and parent_tool.firing:
|
||||
var child_pos := get_collision_point() + get_collision_normal() * NORMAL_OFFSET
|
||||
for c: Node in get_children():
|
||||
if c is Node3D:
|
||||
(c as Node3D).global_position = child_pos
|
||||
|
||||
laser_dust.global_position = child_pos
|
||||
laser_dust.emitting = true
|
||||
|
||||
glow_light.global_position = child_pos
|
||||
glow_light.visible = true # TODO: tween maybe?
|
||||
else:
|
||||
laser_dust.emitting = false
|
||||
|
@ -5,13 +5,10 @@ class_name PointSpray extends Spray
|
||||
@export var damage := 0.3334
|
||||
|
||||
@onready var laser: LaserCast = %LaserCast
|
||||
@onready var spray_sfx: SpraySFX = %SpraySFX
|
||||
|
||||
|
||||
func _spray() -> void:
|
||||
if laser.is_colliding():
|
||||
spray_sfx.activate()
|
||||
|
||||
var collider := laser.get_collider()
|
||||
if collider is GunkBody:
|
||||
var point := laser.get_collision_point()
|
||||
|
@ -1,12 +1,10 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://cc102xko0u6yj"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://cc102xko0u6yj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dngia2ldbccv7" path="res://src/equipment/point_spray/point_spray.gd" id="1_2yl2v"]
|
||||
[ext_resource type="Material" uid="uid://c00gndxoepuqh" path="res://assets/materials/laser_spray.tres" id="2_0pfy3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bn0gcsy37ahto" path="res://assets/ui/hud/reticle_large.png" id="2_qcl8j"]
|
||||
[ext_resource type="PackedScene" uid="uid://btq11kil0jcql" path="res://src/equipment/beam_sfx/spray_sfx.tscn" id="3_5h54c"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8vradbaw61ga" path="res://src/equipment/laser_cast/laser_cast.tscn" id="3_qmoff"]
|
||||
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="5_k4cg5"]
|
||||
[ext_resource type="PackedScene" uid="uid://5y7gcq6igjpf" path="res://src/equipment/beam_sfx/beam_sfx.tscn" id="5_tpavj"]
|
||||
[ext_resource type="Script" uid="uid://dj2x7x5qkbym1" path="res://src/ui/canvas_projector.gd" id="6_h2fjt"]
|
||||
[ext_resource type="Texture2D" uid="uid://brcxorcpe2g56" path="res://assets/ui/hud/tools/point_sprayer.png" id="6_otnek"]
|
||||
|
||||
@ -64,10 +62,6 @@ unique_name_in_owner = true
|
||||
target_position = Vector3(0, 0, -3)
|
||||
parent_tool = NodePath("../..")
|
||||
|
||||
[node name="SpraySFX" parent="Muzzle/LaserCast" instance=ExtResource("3_5h54c")]
|
||||
unique_name_in_owner = true
|
||||
attenuation_model = 0
|
||||
|
||||
[node name="SprayEffect" type="MeshInstance3D" parent="Muzzle"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, -4.47035e-08, -1, 0, 1, -4.47035e-08, 0, 0, -1.6)
|
||||
@ -102,9 +96,6 @@ texture_albedo = ExtResource("2_qcl8j")
|
||||
texture_emission = ExtResource("2_qcl8j")
|
||||
cull_mask = 1048573
|
||||
|
||||
[node name="BeamSFX" parent="Muzzle" instance=ExtResource("5_tpavj")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="HUDTool" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
|
@ -8,7 +8,6 @@ const RUMBLE_DROPOFF = 0.8
|
||||
@onready var beam_particles_1: GPUParticles3D = %BeamParticles1
|
||||
@onready var beam_particles_2: GPUParticles3D = %BeamParticles2
|
||||
@onready var rumbler: Rumbler3D = %Rumbler
|
||||
@onready var beam_sfx: BeamSFX = %BeamSFX
|
||||
|
||||
|
||||
func _spray() -> void:
|
||||
@ -29,8 +28,6 @@ func _fire() -> void:
|
||||
beam_particles_1.emitting = true
|
||||
beam_particles_2.emitting = true
|
||||
|
||||
beam_sfx.activate()
|
||||
|
||||
|
||||
func _idle() -> void:
|
||||
spray_effect.visible = false
|
||||
|
@ -12,7 +12,6 @@ var _busy := false
|
||||
|
||||
@onready var spray_casts: Node3D = %SprayCasts
|
||||
@onready var animation_player: AnimationPlayer = %AnimationPlayer
|
||||
@onready var spray_sfx: SpraySFX = %SpraySFX
|
||||
|
||||
|
||||
func switch_mode() -> void:
|
||||
@ -42,8 +41,6 @@ func _spray() -> void:
|
||||
|
||||
for laser: LaserCast in spray_casts.get_children():
|
||||
if laser.is_colliding():
|
||||
spray_sfx.activate()
|
||||
|
||||
var collider := laser.get_collider()
|
||||
if collider is GunkBody:
|
||||
var target := collider as GunkBody
|
||||
|
@ -1,13 +1,11 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://d2hnxr5l6w2x4"]
|
||||
[gd_scene load_steps=20 format=3 uid="uid://d2hnxr5l6w2x4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dv40fyim2g2fa" path="res://src/equipment/wide_spray/wide_spray.gd" id="1_ggkto"]
|
||||
[ext_resource type="Material" uid="uid://c00gndxoepuqh" path="res://assets/materials/laser_spray.tres" id="2_26efp"]
|
||||
[ext_resource type="Texture2D" uid="uid://cx28sj02y31kj" path="res://assets/ui/hud/reticle_crosshair.png" id="3_78jy6"]
|
||||
[ext_resource type="PackedScene" uid="uid://btq11kil0jcql" path="res://src/equipment/beam_sfx/spray_sfx.tscn" id="3_v0jnx"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8vradbaw61ga" path="res://src/equipment/laser_cast/laser_cast.tscn" id="3_xahet"]
|
||||
[ext_resource type="Texture2D" uid="uid://carrggw6kp14w" path="res://assets/ui/hud/reticle_left.png" id="4_rotxf"]
|
||||
[ext_resource type="Texture2D" uid="uid://wp03nuwt8hp5" path="res://assets/ui/hud/reticle_right.png" id="5_xo3vu"]
|
||||
[ext_resource type="PackedScene" uid="uid://5y7gcq6igjpf" path="res://src/equipment/beam_sfx/beam_sfx.tscn" id="7_hv82w"]
|
||||
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="7_ku0nd"]
|
||||
[ext_resource type="Script" uid="uid://dj2x7x5qkbym1" path="res://src/ui/canvas_projector.gd" id="8_j7ker"]
|
||||
[ext_resource type="Texture2D" uid="uid://dxjwpai3or1hw" path="res://assets/ui/hud/tools/wide_sprayer.png" id="9_8vo2h"]
|
||||
@ -191,10 +189,6 @@ parent_tool = NodePath("../../../..")
|
||||
[node name="LaserCast4" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
parent_tool = NodePath("../../../..")
|
||||
|
||||
[node name="SpraySFX" parent="Muzzle/Pivot/SprayCasts/LaserCast4" instance=ExtResource("3_v0jnx")]
|
||||
unique_name_in_owner = true
|
||||
attenuation_model = 0
|
||||
|
||||
[node name="LaserCast5" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
target_position = Vector3(0.167, 0, -2)
|
||||
parent_tool = NodePath("../../../..")
|
||||
@ -263,9 +257,6 @@ local_coords = true
|
||||
process_material = SubResource("ParticleProcessMaterial_lyk2j")
|
||||
draw_pass_1 = SubResource("QuadMesh_trcry")
|
||||
|
||||
[node name="BeamSFX" parent="Muzzle" instance=ExtResource("7_hv82w")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="HUDTool" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
|
@ -18,9 +18,9 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
|
||||
|
||||
func camera_motion(motion: Vector2) -> void:
|
||||
var x_sensitivity: float = Game.settings.mouse_sensitivity_x
|
||||
var y_sensitivity: float = Game.settings.mouse_sensitivity_y
|
||||
var invert_pitch: bool = Game.settings.invert_pitch
|
||||
var x_sensitivity: float = ProjectSettings.get_setting("game/config/input/mouse_sensitivity_x")
|
||||
var y_sensitivity: float = ProjectSettings.get_setting("game/config/input/mouse_sensitivity_y")
|
||||
var invert_pitch: bool = ProjectSettings.get_setting("game/config/input/invert_pitch")
|
||||
if player.firing:
|
||||
# Focus movement when firing
|
||||
# Game mechanic, should not be user-configurable.
|
||||
@ -36,7 +36,9 @@ func camera_motion(motion: Vector2) -> void:
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
var mouse_accel: float = Game.settings.mouse_acceleration / 60.0
|
||||
var mouse_accel: float = (
|
||||
ProjectSettings.get_setting("game/config/input/mouse_acceleration") / 60.0
|
||||
)
|
||||
if player.firing:
|
||||
mouse_accel = FOCUS_ACCELERATION / 60.0
|
||||
rotation.y = lerp_angle(rotation.y, _target.y, mouse_accel)
|
||||
|
@ -1,23 +0,0 @@
|
||||
class_name FootController extends Node3D
|
||||
|
||||
enum SurfaceMaterial {
|
||||
UNKNOWN,
|
||||
GRUNK,
|
||||
PLASTIC,
|
||||
METAL,
|
||||
}
|
||||
|
||||
@onready var metal: AudioStreamPlayer3D = $Metal
|
||||
|
||||
|
||||
func get_player_for_material(surface_material: SurfaceMaterial) -> AudioStreamPlayer3D:
|
||||
match surface_material:
|
||||
SurfaceMaterial.GRUNK:
|
||||
pass # TODO
|
||||
SurfaceMaterial.PLASTIC:
|
||||
pass # TODO
|
||||
SurfaceMaterial.METAL:
|
||||
return metal
|
||||
SurfaceMaterial.UNKNOWN:
|
||||
pass
|
||||
return null
|
@ -1 +0,0 @@
|
||||
uid://brqa2wbtaspw4
|
@ -1,27 +0,0 @@
|
||||
class_name FootstepController extends Node3D
|
||||
|
||||
const BASE_VOLUME := -42.0
|
||||
const MUTE_VELOCITY := 1.0
|
||||
const VELOCITY_FACTOR := 2.0
|
||||
|
||||
var _on_right_foot := false
|
||||
|
||||
@onready var player: Player = owner
|
||||
|
||||
@onready var left_foot: FootController = %LeftFoot
|
||||
@onready var right_foot: FootController = %RightFoot
|
||||
|
||||
|
||||
func play_footstep() -> void:
|
||||
var foot := right_foot if _on_right_foot else left_foot
|
||||
|
||||
var relative_speed := player.velocity.length() - MUTE_VELOCITY
|
||||
if relative_speed < 0:
|
||||
return
|
||||
|
||||
# TODO: detect surface material
|
||||
var sfx := foot.get_player_for_material(FootController.SurfaceMaterial.METAL)
|
||||
sfx.volume_db = BASE_VOLUME + relative_speed * VELOCITY_FACTOR
|
||||
sfx.play()
|
||||
|
||||
_on_right_foot = not _on_right_foot
|
@ -1 +0,0 @@
|
||||
uid://ecrhsueph7at
|
@ -1,37 +0,0 @@
|
||||
extends AnimationTree
|
||||
|
||||
const BLEND_ACCELERATION := 10.0
|
||||
const VELOCITY_BLEND_FACTOR := 0.0643
|
||||
const VELOCITY_TIMESCALE_FACTOR := 0.25
|
||||
|
||||
var blend: float:
|
||||
set(value):
|
||||
self["parameters/blend/blend_amount"] = value
|
||||
get:
|
||||
return self["parameters/blend/blend_amount"]
|
||||
|
||||
var timescale: float:
|
||||
set(value):
|
||||
self["parameters/timescale/scale"] = value
|
||||
get:
|
||||
return self["parameters/timescale/scale"]
|
||||
|
||||
@onready var player: Player = owner
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
var speed := player.velocity.length()
|
||||
if player.is_on_floor():
|
||||
var timescale_target := speed * VELOCITY_TIMESCALE_FACTOR
|
||||
timescale = lerpf(timescale, timescale_target, BLEND_ACCELERATION * delta)
|
||||
else:
|
||||
timescale = 0.0
|
||||
|
||||
if Game.settings.enable_head_bob:
|
||||
var blend_target := 0.0
|
||||
if player.is_on_floor():
|
||||
blend_target = speed * VELOCITY_BLEND_FACTOR
|
||||
|
||||
blend = lerpf(blend, blend_target, BLEND_ACCELERATION * delta)
|
||||
else:
|
||||
blend = 0.0
|
@ -1 +0,0 @@
|
||||
uid://b1vyq7e81nyt0
|
@ -4,9 +4,7 @@ const FOCUS_SPEED := 30.0
|
||||
const RUN_SPEED := 80.0
|
||||
const SPRINT_SPEED := 160.0
|
||||
const AIR_SPEED := 10.0
|
||||
|
||||
const JUMP_FORCE := 4.5
|
||||
|
||||
const GROUND_FRICTION := 0.3
|
||||
const AIR_FRICTION := 0.03
|
||||
|
||||
@ -111,8 +109,10 @@ func _physics_process(delta: float) -> void:
|
||||
|
||||
# Input movement
|
||||
var input_dir := Input.get_vector("move_left", "move_right", "move_forward", "move_back")
|
||||
var rel_input := input_dir.rotated(-camera_pivot.global_rotation.y)
|
||||
var direction := Vector3(rel_input.x, 0, rel_input.y).normalized()
|
||||
var direction := (
|
||||
(camera_pivot.global_basis * Vector3(input_dir.x, 0, input_dir.y) * Vector3(1, 0, 1))
|
||||
. normalized()
|
||||
)
|
||||
var movement := direction * get_speed() * delta
|
||||
velocity.x += movement.x
|
||||
velocity.z += movement.z
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=36 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://buwh0g1ga2aka" path="res://src/player/player.gd" id="1_npueo"]
|
||||
[ext_resource type="Script" uid="uid://cx1yt0drthpw3" path="res://src/player/camera_controller.gd" id="2_veeqv"]
|
||||
@ -7,180 +7,11 @@
|
||||
[ext_resource type="Script" uid="uid://cwy3akimaeib" path="res://src/player/tool_mount.gd" id="3_jiejy"]
|
||||
[ext_resource type="PackedScene" uid="uid://dq1x21tq06dud" path="res://src/ui/hud/player_hud.tscn" id="5_jvafu"]
|
||||
[ext_resource type="PackedScene" uid="uid://qknkdy6aics1" path="res://src/equipment/toothbrush/toothbrush.tscn" id="6_o822w"]
|
||||
[ext_resource type="Script" uid="uid://b1vyq7e81nyt0" path="res://src/player/headbob_controller.gd" id="7_x42xx"]
|
||||
[ext_resource type="Script" uid="uid://ecrhsueph7at" path="res://src/player/footsteps/footstep_controller.gd" id="9_hja65"]
|
||||
[ext_resource type="Script" uid="uid://brqa2wbtaspw4" path="res://src/player/footsteps/foot_controller.gd" id="9_l271a"]
|
||||
[ext_resource type="AudioStream" uid="uid://di0e1l1l6l3qc" path="res://assets/sfx/footsteps/metal/metal1.wav" id="10_jcdrv"]
|
||||
[ext_resource type="AudioStream" uid="uid://bv00dudic2mvp" path="res://assets/sfx/footsteps/metal/metal3.wav" id="11_hja65"]
|
||||
[ext_resource type="AudioStream" uid="uid://befqnsqlbpca7" path="res://assets/sfx/footsteps/metal/metal5.wav" id="12_5shm8"]
|
||||
[ext_resource type="AudioStream" uid="uid://c6wnc7kqtvujm" path="res://assets/sfx/footsteps/metal/metal7.wav" id="13_5efpn"]
|
||||
[ext_resource type="AudioStream" uid="uid://bpdnw4qgbp6kj" path="res://assets/sfx/footsteps/metal/metal9.wav" id="14_4uy46"]
|
||||
[ext_resource type="AudioStream" uid="uid://eagr344y4coh" path="res://assets/sfx/footsteps/metal/metal11.wav" id="15_k60ra"]
|
||||
[ext_resource type="AudioStream" uid="uid://bguwbr0nlhgkl" path="res://assets/sfx/footsteps/metal/metal2.wav" id="16_a4vah"]
|
||||
[ext_resource type="AudioStream" uid="uid://co83ygaa4d65u" path="res://assets/sfx/footsteps/metal/metal4.wav" id="17_vwi60"]
|
||||
[ext_resource type="AudioStream" uid="uid://dkx88wqwfvfst" path="res://assets/sfx/footsteps/metal/metal6.wav" id="18_o04tx"]
|
||||
[ext_resource type="AudioStream" uid="uid://bo3klycfvvq2q" path="res://assets/sfx/footsteps/metal/metal8.wav" id="19_j2873"]
|
||||
[ext_resource type="AudioStream" uid="uid://btiyoi1ipofd" path="res://assets/sfx/footsteps/metal/metal10.wav" id="20_dpt0q"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_x42xx"]
|
||||
length = 0.001
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/2/type = "bezier"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".:position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hja65"]
|
||||
resource_name = "footstep_sfx"
|
||||
loop_mode = 1
|
||||
step = 0.01
|
||||
tracks/0/type = "method"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("%FootstepController")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.35, 0.85),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"play_footstep"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"play_footstep"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_o822w"]
|
||||
resource_name = "head_bob"
|
||||
loop_mode = 1
|
||||
step = 0.005
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.125, 0.05, 0.05, -0.125, 0, 0.25, 0, -0.05, -0.25, 0, 0.125, 0, 0, -0.125, -0.05, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 0.25, 0.75, 1)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.031, 0.04, 0.081, -0.062, 0, 0.125, 0, -0.081, -0.125, 0, 0.125, 0, 0.081, -0.125, 0, 0.125, 0, -0.081, -0.125, 0, 0.063, 0, 0.00176717, -0.031, -0.04, 0.125, 0),
|
||||
"times": PackedFloat32Array(0, 0.13, 0.375, 0.625, 0.875, 1)
|
||||
}
|
||||
tracks/2/type = "bezier"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".:position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_l271a"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_x42xx"),
|
||||
&"footstep_sfx": SubResource("Animation_hja65"),
|
||||
&"head_bob": SubResource("Animation_o822w")
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o822w"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x42xx"]
|
||||
animation = &"head_bob"
|
||||
|
||||
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_hja65"]
|
||||
sync = true
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5shm8"]
|
||||
animation = &"footstep_sfx"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_l271a"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_8ydov"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ylhto"]
|
||||
graph_offset = Vector2(-33.7273, -38.6364)
|
||||
nodes/blend/node = SubResource("AnimationNodeBlend2_o822w")
|
||||
nodes/blend/position = Vector2(779, 166)
|
||||
nodes/bob_anim/node = SubResource("AnimationNodeAnimation_x42xx")
|
||||
nodes/bob_anim/position = Vector2(540, 260)
|
||||
nodes/output/position = Vector2(1460, 140)
|
||||
nodes/sfx_add/node = SubResource("AnimationNodeAdd2_hja65")
|
||||
nodes/sfx_add/position = Vector2(1020, 160)
|
||||
nodes/sfx_anim/node = SubResource("AnimationNodeAnimation_5shm8")
|
||||
nodes/sfx_anim/position = Vector2(540, 520)
|
||||
nodes/still_anim/node = SubResource("AnimationNodeAnimation_l271a")
|
||||
nodes/still_anim/position = Vector2(540, 40)
|
||||
nodes/timescale/node = SubResource("AnimationNodeTimeScale_8ydov")
|
||||
nodes/timescale/position = Vector2(1240, 120)
|
||||
node_connections = [&"blend", 0, &"still_anim", &"blend", 1, &"bob_anim", &"output", 0, &"timescale", &"sfx_add", 0, &"blend", &"sfx_add", 1, &"sfx_anim", &"timescale", 0, &"sfx_add"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_s7f0r"]
|
||||
radius = 0.4
|
||||
height = 1.9
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_8ydov"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 6
|
||||
stream_0/stream = ExtResource("10_jcdrv")
|
||||
stream_1/stream = ExtResource("11_hja65")
|
||||
stream_2/stream = ExtResource("12_5shm8")
|
||||
stream_3/stream = ExtResource("13_5efpn")
|
||||
stream_4/stream = ExtResource("14_4uy46")
|
||||
stream_5/stream = ExtResource("15_k60ra")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ylhto"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 5
|
||||
stream_0/stream = ExtResource("16_a4vah")
|
||||
stream_1/stream = ExtResource("17_vwi60")
|
||||
stream_2/stream = ExtResource("18_o04tx")
|
||||
stream_3/stream = ExtResource("19_j2873")
|
||||
stream_4/stream = ExtResource("20_dpt0q")
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
script = ExtResource("1_npueo")
|
||||
|
||||
@ -206,44 +37,22 @@ visible = false
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
|
||||
[node name="CameraPosition" type="Node3D" parent="CameraPivot"]
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="CameraPivot/CameraPosition"]
|
||||
[node name="Camera3D" type="Camera3D" parent="CameraPivot"]
|
||||
current = true
|
||||
|
||||
[node name="InteractRay" type="RayCast3D" parent="CameraPivot/CameraPosition/Camera3D"]
|
||||
[node name="InteractRay" type="RayCast3D" parent="CameraPivot/Camera3D"]
|
||||
unique_name_in_owner = true
|
||||
target_position = Vector3(0, 0, -1.5)
|
||||
collision_mask = 2
|
||||
|
||||
[node name="FarLight" type="OmniLight3D" parent="CameraPivot/CameraPosition/Camera3D"]
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="CameraPivot/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
|
||||
light_energy = 0.05
|
||||
light_energy = 0.08
|
||||
light_indirect_energy = 4.0
|
||||
light_specular = 0.01
|
||||
light_cull_mask = 4294967293
|
||||
omni_range = 50.0
|
||||
omni_attenuation = 0.0
|
||||
|
||||
[node name="NearLight" type="OmniLight3D" parent="CameraPivot/CameraPosition/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
|
||||
light_specular = 0.01
|
||||
light_cull_mask = 4294967293
|
||||
omni_range = 2.0
|
||||
|
||||
[node name="HeadbobAnimation" type="AnimationPlayer" parent="CameraPivot/CameraPosition/Camera3D"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_l271a")
|
||||
}
|
||||
|
||||
[node name="HeadbobController" type="AnimationTree" parent="CameraPivot/CameraPosition/Camera3D/HeadbobAnimation"]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("%HeadbobController/../..")
|
||||
tree_root = SubResource("AnimationNodeBlendTree_ylhto")
|
||||
anim_player = NodePath("..")
|
||||
parameters/blend/blend_amount = 0.0
|
||||
parameters/sfx_add/add_amount = 1.0
|
||||
parameters/timescale/scale = false
|
||||
script = ExtResource("7_x42xx")
|
||||
omni_range = 60.0
|
||||
omni_attenuation = 0.2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
|
||||
@ -251,28 +60,3 @@ shape = SubResource("CapsuleShape3D_s7f0r")
|
||||
|
||||
[node name="PlayerHUD" parent="." instance=ExtResource("5_jvafu")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="FootstepController" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
script = ExtResource("9_hja65")
|
||||
|
||||
[node name="LeftFoot" type="Node3D" parent="FootstepController"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0, 0)
|
||||
script = ExtResource("9_l271a")
|
||||
|
||||
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_8ydov")
|
||||
volume_db = -42.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="RightFoot" type="Node3D" parent="FootstepController"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0, 0)
|
||||
script = ExtResource("9_l271a")
|
||||
|
||||
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_ylhto")
|
||||
volume_db = -42.0
|
||||
bus = &"SFX"
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=21 format=4 uid="uid://d2feet02a603e"]
|
||||
[gd_scene load_steps=16 format=4 uid="uid://d2feet02a603e"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://gg4c132d2xwj" path="res://src/props/overhead_light/overhead_light.gd" id="1_210ch"]
|
||||
[ext_resource type="Texture2D" uid="uid://bne1d0r5a8nn6" path="res://assets/props/overhead_light/overhead_light_C.png" id="1_whqf3"]
|
||||
@ -7,9 +7,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://no4s7dsg8tih" path="res://assets/props/overhead_light/overhead_light_N.png" id="4_3gl0p"]
|
||||
[ext_resource type="Texture2D" uid="uid://cr5e4hk33wmwf" path="res://assets/props/overhead_light/overhead_light_R.png" id="5_210ch"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="6_3gl0p"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="8_ljcul"]
|
||||
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_cmugl"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_jdrpd"]
|
||||
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="8_3gl0p"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ljcul"]
|
||||
albedo_texture = ExtResource("1_whqf3")
|
||||
@ -119,45 +117,6 @@ _data = {
|
||||
&"flicker": SubResource("Animation_whqf3")
|
||||
}
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("10_jdrpd")
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("10_jdrpd")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rve3b"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("8_ljcul")
|
||||
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
|
||||
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
|
||||
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
|
||||
shader_parameter/pixellation = 128.0
|
||||
shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.04
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("9_cmugl")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||
shader_parameter/jitter_magnitude = 0.0
|
||||
shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_jdrpd"]
|
||||
data = PackedVector3Array(0.4, -0.1, 0.75, 0.3, -0.2, 0.75, 0.4, 0, 0.75, 0.4, 0, 0.75, 0.3, -0.2, 0.75, -0.4, 0, 0.75, -0.4, 0, 0.75, 0.3, -0.2, 0.75, -0.4, -0.1, 0.75, -0.4, -0.1, 0.75, 0.3, -0.2, 0.75, -0.3, -0.2, 0.75, 0.4, 0, -0.75, 0.4, -0.1, -0.75, 0.4, 0, 0.75, 0.4, 0, 0.75, 0.4, -0.1, -0.75, 0.4, -0.1, 0.75, -0.4, -0.1, -0.75, -0.3, -0.2, -0.75, -0.4, 0, -0.75, -0.4, 0, -0.75, -0.3, -0.2, -0.75, 0.4, 0, -0.75, 0.4, 0, -0.75, -0.3, -0.2, -0.75, 0.4, -0.1, -0.75, 0.4, -0.1, -0.75, -0.3, -0.2, -0.75, 0.3, -0.2, -0.75, -0.4, 0, 0.75, -0.4, -0.1, 0.75, -0.4, 0, -0.75, -0.4, 0, -0.75, -0.4, -0.1, 0.75, -0.4, -0.1, -0.75, -0.4, 0, -0.75, 0.4, 0, -0.75, -0.4, 0, 0.75, -0.4, 0, 0.75, 0.4, 0, -0.75, 0.4, 0, 0.75, -0.3, -0.2, 0.75, -0.3, -0.2, -0.75, -0.4, -0.1, 0.75, -0.4, -0.1, 0.75, -0.3, -0.2, -0.75, -0.4, -0.1, -0.75, 0.3, -0.2, -0.75, 0.3, -0.2, 0.75, 0.4, -0.1, -0.75, 0.4, -0.1, -0.75, 0.3, -0.2, 0.75, 0.4, -0.1, 0.75, 0.3, -0.2, -0.75, -0.3, -0.2, -0.75, 0.3, -0.2, 0.75, 0.3, -0.2, 0.75, -0.3, -0.2, -0.75, -0.3, -0.2, 0.75)
|
||||
|
||||
@ -173,7 +132,7 @@ light_energy = 2.0
|
||||
light_specular = 1.0
|
||||
spot_range = 16.0
|
||||
spot_attenuation = 0.5
|
||||
spot_angle = 98.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 1.55871
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
@ -187,7 +146,7 @@ autoplay = "flicker"
|
||||
|
||||
[node name="GunkBody" parent="MeshInstance3D" instance=ExtResource("6_3gl0p")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = SubResource("ShaderMaterial_rve3b")
|
||||
source_gunk_material = ExtResource("8_3gl0p")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_jdrpd")
|
||||
|
@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=7 format=4 uid="uid://2yqi5u5eo025"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://07t7yhijru8f" path="res://src/world/gunk_node/grunk_nodule.gd" id="1_iyr82"]
|
||||
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_m8r0a"]
|
||||
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_eu6j6"]
|
||||
[ext_resource type="Script" uid="uid://07t7yhijru8f" path="res://src/world/gunk_node/grunk_nodule.gd" id="1_m8r0a"]
|
||||
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="2_530fq"]
|
||||
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_iyr82"]
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_24j8i"]
|
||||
_surfaces = [{
|
||||
@ -26,7 +26,7 @@ _surfaces = [{
|
||||
"format": 34896613399,
|
||||
"index_count": 60,
|
||||
"index_data": PackedByteArray("AAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsA"),
|
||||
"material": ExtResource("3_eu6j6"),
|
||||
"material": ExtResource("2_530fq"),
|
||||
"name": "Icosphere",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -41,8 +41,8 @@ data = PackedVector3Array(0.7236, -0.4472, 0.5257, 0, -1, 0, -0.2764, -0.4472, 0
|
||||
|
||||
[node name="GrunkNodule" type="StaticBody3D"]
|
||||
collision_layer = 5
|
||||
script = ExtResource("1_iyr82")
|
||||
splatter_scene = ExtResource("2_m8r0a")
|
||||
script = ExtResource("1_m8r0a")
|
||||
splatter_scene = ExtResource("2_iyr82")
|
||||
durability = 3.0
|
||||
metadata/_custom_type_script = "uid://bypgxi0gy56yk"
|
||||
|
||||
|
Binary file not shown.
@ -1,20 +1,16 @@
|
||||
@tool
|
||||
class_name GunkAlarm extends SignalNode
|
||||
## Raises the grunk alert when triggered.
|
||||
|
||||
const ALERT_DELTA := 1
|
||||
|
||||
const JITTER_SCALE_FACTOR := 0.15
|
||||
const JITTER_INFLATION_FACTOR := 1.5
|
||||
|
||||
## Time to wait for a pulse signal before triggering.
|
||||
@export var pulse_timeout := 6.0
|
||||
|
||||
var _busy := false
|
||||
|
||||
@onready var mesh_instance_3d: MeshInstance3D = %MeshInstance3D
|
||||
@onready var animation_player: AnimationPlayer = %AnimationPlayer
|
||||
@onready var pulse_listener_timer: Timer = %PulseListenerTimer
|
||||
@onready var animation_player: AnimationPlayer = $FrameSkipper/AlarmMesh/AnimationPlayer
|
||||
@onready var bud: MeshInstance3D = $FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud
|
||||
|
||||
|
||||
## Trigger this alarm.
|
||||
@ -36,15 +32,12 @@ func pulse() -> void:
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if Engine.is_editor_hint():
|
||||
return
|
||||
|
||||
super._process(delta)
|
||||
# TODO actual model & animation
|
||||
var shader: ShaderMaterial = bud.mesh.surface_get_material(0)
|
||||
var damage := pct_damage()
|
||||
shader.set_shader_parameter("jitter_time_scale", pow(damage * JITTER_SCALE_FACTOR, 1.2))
|
||||
shader.set_shader_parameter("vertex_inflation", pow(damage * JITTER_INFLATION_FACTOR, 3))
|
||||
var material: StandardMaterial3D = mesh_instance_3d.mesh.surface_get_material(0)
|
||||
var value := 1.0 - pct_damage()
|
||||
material.albedo_color = Color(value, value, value)
|
||||
|
||||
# TODO pulse animation
|
||||
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -67,6 +67,6 @@ static func find_path(
|
||||
|
||||
|
||||
func _editor_connect(node: SignalNode) -> void:
|
||||
self.triggered.connect(node.trigger, CONNECT_PERSIST)
|
||||
self.pulsed.connect(node.trigger, CONNECT_PERSIST)
|
||||
self.connect("triggered", node.trigger, CONNECT_PERSIST)
|
||||
self.connect("pulsed", node.pulse, CONNECT_PERSIST)
|
||||
self.notify_property_list_changed()
|
||||
|
@ -111,6 +111,7 @@ _data = {
|
||||
[node name="GunkRelay" type="StaticBody3D"]
|
||||
collision_layer = 5
|
||||
script = ExtResource("1_rdv5j")
|
||||
durability = 0.8
|
||||
value = 800.0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user