generated from krampus/template-godot4
Compare commits
No commits in common. "main" and "v0.0.6" have entirely different histories.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
assets/black.png
(Stored with Git LFS)
Normal file
BIN
assets/black.png
(Stored with Git LFS)
Normal file
Binary file not shown.
36
assets/black.png.import
Normal file
36
assets/black.png.import
Normal file
@ -0,0 +1,36 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cm1jrvx7ftx4c"
|
||||
path.s3tc="res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/black.png"
|
||||
dest_files=["res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.s3tc.ctex", "res://.godot/imported/black.png-0c928088330c4cddf9e28b960b6ccae3.etc2.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
|
BIN
assets/level/player_ship/player_ship_tank_C.png
(Stored with Git LFS)
BIN
assets/level/player_ship/player_ship_tank_C.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dupdt58lfmd85"
|
||||
path="res://.godot/imported/player_ship_tank_C.png-2e28f4e40d6659b147f8774c8f00a92c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/level/player_ship/player_ship_tank_C.png"
|
||||
dest_files=["res://.godot/imported/player_ship_tank_C.png-2e28f4e40d6659b147f8774c8f00a92c.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=0
|
BIN
assets/level/player_ship/player_ship_tank_M.png
(Stored with Git LFS)
BIN
assets/level/player_ship/player_ship_tank_M.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dmcdypipuh3gc"
|
||||
path="res://.godot/imported/player_ship_tank_M.png-038b169c5185b0df793fe61b4a39d2a5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/level/player_ship/player_ship_tank_M.png"
|
||||
dest_files=["res://.godot/imported/player_ship_tank_M.png-038b169c5185b0df793fe61b4a39d2a5.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=0
|
BIN
assets/level/player_ship/player_ship_tank_N.png
(Stored with Git LFS)
BIN
assets/level/player_ship/player_ship_tank_N.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bux766vwb1rrc"
|
||||
path="res://.godot/imported/player_ship_tank_N.png-e252c9c00a914aed6a656535d06377a5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/level/player_ship/player_ship_tank_N.png"
|
||||
dest_files=["res://.godot/imported/player_ship_tank_N.png-e252c9c00a914aed6a656535d06377a5.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=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/level/player_ship/player_ship_tank_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/level/player_ship/player_ship_tank_R.png
(Stored with Git LFS)
BIN
assets/level/player_ship/player_ship_tank_R.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://3swdihtwt7n0"
|
||||
path="res://.godot/imported/player_ship_tank_R.png-dcde35e7c6dcee74b85671e215b7b04c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/level/player_ship/player_ship_tank_R.png"
|
||||
dest_files=["res://.godot/imported/player_ship_tank_R.png-dcde35e7c6dcee74b85671e215b7b04c.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=0
|
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.
BIN
assets/materials/metal_plate_02/metal_plate_02_ao.png
(Stored with Git LFS)
BIN
assets/materials/metal_plate_02/metal_plate_02_ao.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqbn7jqwg8xog"
|
||||
path="res://.godot/imported/metal_plate_02_ao.png-bf552b9ec5614af376549ade2c6fa3fa.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/metal_plate_02/metal_plate_02_ao.png"
|
||||
dest_files=["res://.godot/imported/metal_plate_02_ao.png-bf552b9ec5614af376549ade2c6fa3fa.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=8
|
||||
roughness/src_normal="res://assets/materials/metal_plate_02/metal_plate_02_normal.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/materials/metal_plate_02/metal_plate_02_arm.png
(Stored with Git LFS)
BIN
assets/materials/metal_plate_02/metal_plate_02_arm.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c4alj64mpkmbn"
|
||||
path="res://.godot/imported/metal_plate_02_arm.png-9ab5b2c741188045e0d3c27804585cba.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/metal_plate_02/metal_plate_02_arm.png"
|
||||
dest_files=["res://.godot/imported/metal_plate_02_arm.png-9ab5b2c741188045e0d3c27804585cba.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=0
|
BIN
assets/materials/metal_plate_02/metal_plate_02_diff.png
(Stored with Git LFS)
BIN
assets/materials/metal_plate_02/metal_plate_02_diff.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bnub5w8l7oqi4"
|
||||
path="res://.godot/imported/metal_plate_02_diff.png-e6e1d781abc4ece5066e87bb0b75d2dc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/metal_plate_02/metal_plate_02_diff.png"
|
||||
dest_files=["res://.godot/imported/metal_plate_02_diff.png-e6e1d781abc4ece5066e87bb0b75d2dc.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=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/materials/metal_plate_02/metal_plate_02_diff.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/materials/metal_plate_02/metal_plate_02_disp.png
(Stored with Git LFS)
BIN
assets/materials/metal_plate_02/metal_plate_02_disp.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c5glfbn5pljec"
|
||||
path="res://.godot/imported/metal_plate_02_disp.png-64a7284ed65ad6be4016bea99e56e48f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/metal_plate_02/metal_plate_02_disp.png"
|
||||
dest_files=["res://.godot/imported/metal_plate_02_disp.png-64a7284ed65ad6be4016bea99e56e48f.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=0
|
BIN
assets/materials/metal_plate_02/metal_plate_02_metal.png
(Stored with Git LFS)
BIN
assets/materials/metal_plate_02/metal_plate_02_metal.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bs42aw8m1ljl0"
|
||||
path="res://.godot/imported/metal_plate_02_metal.png-8460c10472df28043b4eae487824ebd7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/metal_plate_02/metal_plate_02_metal.png"
|
||||
dest_files=["res://.godot/imported/metal_plate_02_metal.png-8460c10472df28043b4eae487824ebd7.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=0
|
BIN
assets/materials/metal_plate_02/metal_plate_02_normal.png
(Stored with Git LFS)
BIN
assets/materials/metal_plate_02/metal_plate_02_normal.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cmg4jvcy6wfgg"
|
||||
path="res://.godot/imported/metal_plate_02_normal.png-61f4a5d4256e92c5a0cd23e1ade29e2f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/metal_plate_02/metal_plate_02_normal.png"
|
||||
dest_files=["res://.godot/imported/metal_plate_02_normal.png-61f4a5d4256e92c5a0cd23e1ade29e2f.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=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/materials/metal_plate_02/metal_plate_02_normal.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/materials/metal_plate_02/metal_plate_02_rough.png
(Stored with Git LFS)
BIN
assets/materials/metal_plate_02/metal_plate_02_rough.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://3pbh06yskfoe"
|
||||
path="res://.godot/imported/metal_plate_02_rough.png-f469e5e75e571426bacf0f8b34677644.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/metal_plate_02/metal_plate_02_rough.png"
|
||||
dest_files=["res://.godot/imported/metal_plate_02_rough.png-f469e5e75e571426bacf0f8b34677644.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=0
|
BIN
assets/materials/rubber/rubber_diff.png
(Stored with Git LFS)
BIN
assets/materials/rubber/rubber_diff.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvoptcnbonqlo"
|
||||
path="res://.godot/imported/rubber_diff.png-469fd7609d1247b88bcd26e134dc9309.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/rubber/rubber_diff.png"
|
||||
dest_files=["res://.godot/imported/rubber_diff.png-469fd7609d1247b88bcd26e134dc9309.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=0
|
BIN
assets/materials/rubber/rubber_gasket_C.png
(Stored with Git LFS)
BIN
assets/materials/rubber/rubber_gasket_C.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://btq7agwq1vdqk"
|
||||
path="res://.godot/imported/rubber_gasket_C.png-f41f0d91b6d4589d1b2b860b032a91a6.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/rubber/rubber_gasket_C.png"
|
||||
dest_files=["res://.godot/imported/rubber_gasket_C.png-f41f0d91b6d4589d1b2b860b032a91a6.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=0
|
BIN
assets/materials/rubber/rubber_gasket_N.png
(Stored with Git LFS)
BIN
assets/materials/rubber/rubber_gasket_N.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d0oxo3u6ts6k5"
|
||||
path="res://.godot/imported/rubber_gasket_N.png-df9be035eb688efd2f5cd3ede8b86ab4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/rubber/rubber_gasket_N.png"
|
||||
dest_files=["res://.godot/imported/rubber_gasket_N.png-df9be035eb688efd2f5cd3ede8b86ab4.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=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/materials/rubber/rubber_gasket_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/materials/rubber/rubber_gasket_R.png
(Stored with Git LFS)
BIN
assets/materials/rubber/rubber_gasket_R.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ktr5niaf6psx"
|
||||
path="res://.godot/imported/rubber_gasket_R.png-95bd053e083c213a09a8e6fc6195ac52.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/rubber/rubber_gasket_R.png"
|
||||
dest_files=["res://.godot/imported/rubber_gasket_R.png-95bd053e083c213a09a8e6fc6195ac52.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=0
|
BIN
assets/materials/rubber/rubber_normal.png
(Stored with Git LFS)
BIN
assets/materials/rubber/rubber_normal.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqsg8wo432heo"
|
||||
path="res://.godot/imported/rubber_normal.png-f2bba016f2b97da408f58c02df181bac.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/rubber/rubber_normal.png"
|
||||
dest_files=["res://.godot/imported/rubber_normal.png-f2bba016f2b97da408f58c02df181bac.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=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/materials/rubber/rubber_normal.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/materials/rubber/rubber_rough.png
(Stored with Git LFS)
BIN
assets/materials/rubber/rubber_rough.png
(Stored with Git LFS)
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dkmym84u7hdq0"
|
||||
path="res://.godot/imported/rubber_rough.png-d808e9bf5f003c56bfa12f7990dfd856.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/materials/rubber/rubber_rough.png"
|
||||
dest_files=["res://.godot/imported/rubber_rough.png-d808e9bf5f003c56bfa12f7990dfd856.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=0
|
@ -3,27 +3,25 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b0vorb12h2idg"
|
||||
path.s3tc="res://.godot/imported/overhead_light_burnout_E.png-ce71c7290fb299e0f7b60d0a9c7d4505.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/overhead_light_burnout_E.png-ce71c7290fb299e0f7b60d0a9c7d4505.etc2.ctex"
|
||||
path="res://.godot/imported/overhead_light_burnout_E.png-ce71c7290fb299e0f7b60d0a9c7d4505.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/props/overhead_light/overhead_light_burnout_E.png"
|
||||
dest_files=["res://.godot/imported/overhead_light_burnout_E.png-ce71c7290fb299e0f7b60d0a9c7d4505.s3tc.ctex", "res://.godot/imported/overhead_light_burnout_E.png-ce71c7290fb299e0f7b60d0a9c7d4505.etc2.ctex"]
|
||||
dest_files=["res://.godot/imported/overhead_light_burnout_E.png-ce71c7290fb299e0f7b60d0a9c7d4505.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
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/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
@ -33,4 +31,4 @@ 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
|
||||
detect_3d/compress_to=1
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=70 format=3 uid="uid://cwhmn3w8hoads"]
|
||||
[gd_scene load_steps=71 format=3 uid="uid://cwhmn3w8hoads"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="1_isxnv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_si4vj"]
|
||||
@ -81,8 +81,11 @@ texture_filter = 4
|
||||
material = SubResource("StandardMaterial3D_kp5n7")
|
||||
size = Vector2(3.5, 3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_wnav5"]
|
||||
size = Vector3(3.5, 3, 0.1)
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_gim1e"]
|
||||
data = PackedVector3Array(1.75, -1.5, 0, -1.75, -1.5, 0, 1.75, 1.5, 0, -1.75, -1.5, 0, -1.75, 1.5, 0, 1.75, 1.5, 0)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_6giaa"]
|
||||
data = PackedVector3Array(1.75, -1.5, 0, -1.75, -1.5, 0, 1.75, 1.5, 0, -1.75, -1.5, 0, -1.75, 1.5, 0, 1.75, 1.5, 0)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_f0xh4"]
|
||||
resource_local_to_scene = true
|
||||
@ -100,8 +103,8 @@ texture_filter = 4
|
||||
material = SubResource("StandardMaterial3D_f0xh4")
|
||||
size = Vector2(2, 0.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_cxsgl"]
|
||||
size = Vector3(2, 0.5, 0.1)
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_smvh1"]
|
||||
data = PackedVector3Array(1, -0.25, 0, -1, -0.25, 0, 1, 0.25, 0, -1, -0.25, 0, -1, 0.25, 0, 1, 0.25, 0)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_p11ap"]
|
||||
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
|
||||
@ -260,24 +263,24 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 2.75,
|
||||
mesh = SubResource("QuadMesh_kcek3")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Bounds/SimpleWalls"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 2.75, 0, 4.55)
|
||||
shape = SubResource("BoxShape3D_wnav5")
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Bounds/SimpleWalls"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -2.75, 0, 4.55)
|
||||
shape = SubResource("BoxShape3D_wnav5")
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 2.75, 0, 4.5)
|
||||
shape = SubResource("ConcavePolygonShape3D_gim1e")
|
||||
|
||||
[node name="MeshInstance3D4" type="MeshInstance3D" parent="Bounds/SimpleWalls"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -2.75, 0, 4.5)
|
||||
mesh = SubResource("QuadMesh_kcek3")
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Bounds/SimpleWalls"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -2.75, 0, 4.5)
|
||||
shape = SubResource("ConcavePolygonShape3D_6giaa")
|
||||
|
||||
[node name="MeshInstance3D7" type="MeshInstance3D" parent="Bounds/SimpleWalls"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.25, 4.5)
|
||||
mesh = SubResource("QuadMesh_1njh5")
|
||||
|
||||
[node name="CollisionShape3D5" type="CollisionShape3D" parent="Bounds/SimpleWalls"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.25, 4.55)
|
||||
shape = SubResource("BoxShape3D_cxsgl")
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.25, 4.5)
|
||||
shape = SubResource("ConcavePolygonShape3D_smvh1")
|
||||
|
||||
[node name="FarWall" type="Node3D" parent="Bounds"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
||||
|
@ -66,7 +66,7 @@ turbulence_noise_strength = 0.1
|
||||
turbulence_noise_scale = 0.3
|
||||
turbulence_influence_min = 0.0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_a8b6q"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_20ek7"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1, -0.4, -0.2, 2, 0.4, 0.4),
|
||||
"format": 34896613377,
|
||||
@ -95,7 +95,7 @@ _surfaces = [{
|
||||
"vertex_data": PackedByteArray("AAD///////8AAAAA/3///wAA//8AAP//AAD//wAAsvIAAAAA/3+y8v////8AALLy//8AAP9/svL/////AAD/v///AAD/f/+//////////7////////8mwv//AAD/fybCAAD/////JsIAAAAA/38mwgAA//8AAFTV/////wAAVNUAAP////9U1f///////1TV/z//f/8//3//P/9/PjnAxj45wMY+OcDGPjnAxv9/AAD/fwAA/38AAIYUeOuGFHjrhhR464YUeOtU1aoqVNWqKlTVqipU1aoq")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_a8b6q")
|
||||
shadow_mesh = SubResource("ArrayMesh_20ek7")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ojd88"]
|
||||
data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1, -0.4, 0, 1, 0, -0.2, 1, 0, -0.2, -1, -0.4, 0, 1, -0.4, 0, 1, 0, -0.2, 1, -0.4, 0, 1, 0, 0.2, 1, 0, 0.2, 1, -0.4, 0, -1, 0, 0.2, -1, 0, 0.2, 1, -0.4, 0, -1, -0.4, 0, -1, 0, -0.2, 1, 0, -0.2, -1, 0, 0.2, -1, 0, 0.2, 1, 0, -0.2, 1, 0, 0.2)
|
||||
@ -175,7 +175,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_ojd88")
|
||||
|
||||
[node name="Gunkable" parent="Hallway1/AirlockSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_i2ry3")
|
||||
@ -378,7 +378,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_mgo71")
|
||||
|
||||
[node name="Gunkable" parent="Hallway4/MessHallSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_i2ry3")
|
||||
|
@ -21,7 +21,7 @@
|
||||
[ext_resource type="ArrayMesh" uid="uid://c785n3j3aq4sf" path="res://assets/level/wall/wall_1.mesh" id="17_ka7sa"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/grunk_overlays/lowrez_overlay.material" id="17_wqkax"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="19_j48oc"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/gunk_listener.tscn" id="22_arxka"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="22_arxka"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://d0sdsir1hqnbu" path="res://assets/level/wall/wall_4.mesh" id="23_7ox1u"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgeg3kkogm71m" path="res://src/world/mechanics/alarm/gunk_alarm.tscn" id="23_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/gunk_node/grunk_nodule.tscn" id="24_6qtqj"]
|
||||
@ -238,7 +238,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_2ft6k")
|
||||
|
||||
[node name="Gunkable" parent="Hallway1/MessHallSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_iefrw")
|
||||
@ -341,7 +341,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_7ctwk")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/CrewQuartersSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_iefrw")
|
||||
|
@ -267,7 +267,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_dxmep")
|
||||
|
||||
[node name="Gunkable" parent="Hallway/CrewQuartersSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
@ -309,7 +309,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_0ij5m")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/OpsSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
@ -640,7 +640,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_wqqoq")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway3/MedbaySign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
@ -800,7 +800,7 @@ collision_mask = 0
|
||||
shape = SubResource("ConcavePolygonShape3D_np3w4")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway7/CargoBaySign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
|
@ -9,7 +9,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="7_smsfc"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://b17naqcl4ie21" path="res://assets/level/floor/floor_1.mesh" id="8_vt83f"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dbgk0kdg1vufk" path="res://assets/level/ceiling/ceiling_1.mesh" id="9_ga3kk"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/gunk_listener.tscn" id="10_4ybca"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="10_4ybca"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctm84yms40858" path="res://src/props/railing/railing.tscn" id="10_b82y2"]
|
||||
[ext_resource type="PackedScene" uid="uid://bttust5ohud8e" path="res://src/world/mechanics/relay/gunk_relay.tscn" id="11_ct7ya"]
|
||||
[ext_resource type="PackedScene" uid="uid://c55n6h3ydi32e" path="res://src/props/sofa/phys_sofa.tscn" id="11_vt83f"]
|
||||
@ -1467,7 +1467,52 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, -1.2)
|
||||
shape = SubResource("BoxShape3D_mxi1m")
|
||||
|
||||
[node name="FloorSpawner" parent="CommonArea/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.8, -3, -4.7)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner2" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner3" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner4" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner5" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner6" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner7" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner8" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner9" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner10" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner11" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner12" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 3.3)
|
||||
|
||||
[node name="UpperFloorSpawner13" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 3.3)
|
||||
|
||||
[node name="UpperFloorSpawner14" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 1.8)
|
||||
|
||||
[node name="UpperFloorSpawner15" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 1.8)
|
||||
|
||||
[node name="LowerFloorSpawner" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.8, -3, -5.7)
|
||||
@ -1841,6 +1886,89 @@ process_material = SubResource("ParticleProcessMaterial_wvfch")
|
||||
[node name="OverheadLight" parent="Room1" instance=ExtResource("24_or2wh")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -3, 3, 0)
|
||||
|
||||
[node name="BeastSpawnZone" parent="Room1" instance=ExtResource("25_5rwfs")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room1/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -3)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="Room1/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.899999, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.1, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="Room2" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.8, 0, 9.3)
|
||||
|
||||
@ -2057,6 +2185,92 @@ process_material = SubResource("ParticleProcessMaterial_wvfch")
|
||||
[node name="OverheadLight" parent="Room2" instance=ExtResource("24_or2wh")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -3, 3, 0)
|
||||
|
||||
[node name="BeastSpawnZone" parent="Room2" instance=ExtResource("25_5rwfs")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room2/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -3)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="Room2/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -1.8)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.1, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.599999, 0, -1.8)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -4.5)
|
||||
|
||||
[node name="Room3" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, 9.3)
|
||||
|
||||
|
@ -1,226 +0,0 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://covuxcwb25yeo"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="1_t70on"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="2_s2562"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="3_aixto"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_xbtal"]
|
||||
size = Vector3(6, 3, 12)
|
||||
|
||||
[node name="DisabledSpawns" type="Node3D"]
|
||||
|
||||
[node name="BeastSpawnZone" parent="." instance=ExtResource("1_t70on")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0, 9.3)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -3)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="BeastSpawnZone" instance=ExtResource("2_s2562")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.899999, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.1, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="BeastSpawnZone2" parent="." instance=ExtResource("1_t70on")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.8, 0, 9.3)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -3)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="BeastSpawnZone2" instance=ExtResource("2_s2562")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -1.8)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.1, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.599999, 0, -1.8)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="BeastSpawnZone2" instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -4.5)
|
||||
|
||||
[node name="UpperFloorSpawner" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner2" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner3" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner4" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner5" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner6" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner7" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner8" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner9" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner10" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner11" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner12" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 3.3)
|
||||
|
||||
[node name="UpperFloorSpawner13" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 3.3)
|
||||
|
||||
[node name="UpperFloorSpawner14" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 1.8)
|
||||
|
||||
[node name="UpperFloorSpawner15" parent="." instance=ExtResource("3_aixto")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 1.8)
|
@ -1134,7 +1134,7 @@ durability = 0.6
|
||||
value = 400.0
|
||||
|
||||
[node name="GrunkNodule34" parent="Traps/Trap3" instance=ExtResource("20_hl3fx")]
|
||||
transform = Transform3D(0.156165, -0.00400145, 0.124885, -0.0674853, 0.165533, 0.0896924, -0.105157, -0.112174, 0.127902, 0.192554, 2.76956, -1.03145)
|
||||
transform = Transform3D(-0.181119, -0.0770963, -0.0353836, -0.0814267, 0.181397, 0.0215609, 0.023781, 0.0339313, -0.195661, 0.392554, 2.76956, -0.631451)
|
||||
chitter = true
|
||||
durability = 0.6
|
||||
value = 400.0
|
||||
|
@ -1,20 +1,12 @@
|
||||
[gd_scene load_steps=53 format=3 uid="uid://oowut88kr2ox"]
|
||||
[gd_scene load_steps=43 format=3 uid="uid://oowut88kr2ox"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://lfd36ps52xgk" path="res://levels/ghost_ship/player_ship/player_ship.gd" id="1_0r2ng"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dq4aj5ph31rce" path="res://assets/level/player_ship/player_ship.obj" id="1_nafoa"]
|
||||
[ext_resource type="Texture2D" uid="uid://cg6dpd6dhcowu" path="res://assets/level/player_ship/tank_facade_C.png" id="2_xgclp"]
|
||||
[ext_resource type="Material" uid="uid://x1h5m3w0m0g7" path="res://assets/materials/metal_plate_02/metal_plate_02.material" id="3_0e0pl"]
|
||||
[ext_resource type="Texture2D" uid="uid://duo8ph784g4gd" path="res://assets/level/player_ship/tank_facade_M.png" id="3_e4hmc"]
|
||||
[ext_resource type="Texture2D" uid="uid://ccnk8eicahcw8" path="res://assets/level/player_ship/tank_facade_N.png" id="4_0r2ng"]
|
||||
[ext_resource type="Texture2D" uid="uid://dupdt58lfmd85" path="res://assets/level/player_ship/player_ship_tank_C.png" id="4_66f7e"]
|
||||
[ext_resource type="Texture2D" uid="uid://btq7agwq1vdqk" path="res://assets/materials/rubber/rubber_gasket_C.png" id="4_veot7"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv2876ywyq6rf" path="res://assets/level/player_ship/tank_facade_R.png" id="5_22nd2"]
|
||||
[ext_resource type="Texture2D" uid="uid://dmcdypipuh3gc" path="res://assets/level/player_ship/player_ship_tank_M.png" id="5_eicqe"]
|
||||
[ext_resource type="Texture2D" uid="uid://d0oxo3u6ts6k5" path="res://assets/materials/rubber/rubber_gasket_N.png" id="5_qj4yg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bux766vwb1rrc" path="res://assets/level/player_ship/player_ship_tank_N.png" id="6_8v6o6"]
|
||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="6_e4hmc"]
|
||||
[ext_resource type="Texture2D" uid="uid://ktr5niaf6psx" path="res://assets/materials/rubber/rubber_gasket_R.png" id="6_ny71l"]
|
||||
[ext_resource type="Texture2D" uid="uid://3swdihtwt7n0" path="res://assets/level/player_ship/player_ship_tank_R.png" id="7_rfxeu"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://djgqnuxrja1mo" path="res://assets/level/player_ship/player_ship_tank_facade.obj" id="8_2mvif"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk/gunk.gdshader" id="8_al8ma"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://bc8457r4rxpey" path="res://assets/level/player_ship/grunk_liquid.obj" id="8_xuj2g"]
|
||||
@ -30,24 +22,6 @@
|
||||
[ext_resource type="AudioStream" uid="uid://b601aiv71ddra" path="res://assets/sfx/space_door.wav" id="20_3rulp"]
|
||||
[ext_resource type="AudioStream" uid="uid://bckqqojs6pcu1" path="res://assets/sfx/space_door_close.wav" id="21_bmg36"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rts36"]
|
||||
albedo_texture = ExtResource("4_66f7e")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("5_eicqe")
|
||||
roughness_texture = ExtResource("7_rfxeu")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("6_8v6o6")
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_66f7e"]
|
||||
albedo_color = Color(0.281187, 0.281187, 0.281187, 1)
|
||||
albedo_texture = ExtResource("4_veot7")
|
||||
roughness_texture = ExtResource("6_ny71l")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("5_qj4yg")
|
||||
uv1_scale = Vector3(1.37, 1.37, 1.37)
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xpsdy"]
|
||||
transparency = 1
|
||||
albedo_texture = ExtResource("2_xgclp")
|
||||
@ -77,6 +51,14 @@ seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("10_2mvif")
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("10_2mvif")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7fplw"]
|
||||
frequency = 0.0703
|
||||
|
||||
@ -90,31 +72,30 @@ noise = SubResource("FastNoiseLite_7fplw")
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("8_al8ma")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
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.25, 0.88, 1, 1)
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/fresnel_color = Color(0.25, 0.88, 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.02
|
||||
shader_parameter/bump_strength = 10.0
|
||||
shader_parameter/fresnel_color = Color(0.25, 0.88, 1, 1)
|
||||
shader_parameter/normal_scale = 1.0
|
||||
shader_parameter/fresnel_power = 4.0
|
||||
shader_parameter/fresnel_intensity = 0.0
|
||||
shader_parameter/iridescence_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/iridescence_power = 4.0
|
||||
shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/bump_strength = 10.0
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||
shader_parameter/jitter_magnitude = 0.1
|
||||
shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_i4yi7"]
|
||||
albedo_color = Color(0.243137, 0.231373, 0.219608, 1)
|
||||
@ -310,9 +291,6 @@ size = Vector3(1.25, 2.5, 0.1)
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_0e0pl"]
|
||||
data = PackedVector3Array(-0.625, 1.25, 0.05, 0.625, 1.25, 0.05, -0.625, -1.25, 0.05, 0.625, 1.25, 0.05, 0.625, -1.25, 0.05, -0.625, -1.25, 0.05, 0.625, 1.25, -0.05, -0.625, 1.25, -0.05, 0.625, -1.25, -0.05, -0.625, 1.25, -0.05, -0.625, -1.25, -0.05, 0.625, -1.25, -0.05, 0.625, 1.25, 0.05, 0.625, 1.25, -0.05, 0.625, -1.25, 0.05, 0.625, 1.25, -0.05, 0.625, -1.25, -0.05, 0.625, -1.25, 0.05, -0.625, 1.25, -0.05, -0.625, 1.25, 0.05, -0.625, -1.25, -0.05, -0.625, 1.25, 0.05, -0.625, -1.25, 0.05, -0.625, -1.25, -0.05, 0.625, 1.25, 0.05, -0.625, 1.25, 0.05, 0.625, 1.25, -0.05, -0.625, 1.25, 0.05, -0.625, 1.25, -0.05, 0.625, 1.25, -0.05, -0.625, -1.25, 0.05, 0.625, -1.25, 0.05, -0.625, -1.25, -0.05, 0.625, -1.25, 0.05, 0.625, -1.25, -0.05, -0.625, -1.25, -0.05)
|
||||
|
||||
[sub_resource type="FogMaterial" id="FogMaterial_66f7e"]
|
||||
density = -8.0
|
||||
|
||||
[node name="PlayerShip" type="Node3D"]
|
||||
script = ExtResource("1_0r2ng")
|
||||
|
||||
@ -322,9 +300,6 @@ collision_layer = 5
|
||||
[node name="PlayerShipMesh" type="MeshInstance3D" parent="StaticBody3D"]
|
||||
sorting_offset = 3.0
|
||||
mesh = ExtResource("1_nafoa")
|
||||
surface_material_override/0 = ExtResource("3_0e0pl")
|
||||
surface_material_override/1 = SubResource("StandardMaterial3D_rts36")
|
||||
surface_material_override/2 = SubResource("StandardMaterial3D_66f7e")
|
||||
|
||||
[node name="TankFacadeMesh" type="MeshInstance3D" parent="StaticBody3D"]
|
||||
mesh = ExtResource("8_2mvif")
|
||||
@ -332,7 +307,6 @@ skeleton = NodePath("../..")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xpsdy")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
visible = false
|
||||
shape = SubResource("ConcavePolygonShape3D_nafoa")
|
||||
|
||||
[node name="TankInteractBody" type="StaticBody3D" parent="."]
|
||||
@ -368,10 +342,9 @@ skeleton = NodePath("../..")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_3trrp")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.85878, 0)
|
||||
light_color = Color(1, 1, 0.956863, 1)
|
||||
light_indirect_energy = 16.0
|
||||
shadow_enabled = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.9, 0)
|
||||
light_energy = 2.0
|
||||
light_indirect_energy = 8.0
|
||||
omni_range = 10.0
|
||||
|
||||
[node name="TerminalCable" type="CSGPolygon3D" parent="."]
|
||||
@ -450,11 +423,6 @@ volume_db = -8.0
|
||||
unit_size = 4.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="NegativeFog" type="FogVolume" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.25, 1.5)
|
||||
size = Vector3(6, 3.5, 12)
|
||||
material = SubResource("FogMaterial_66f7e")
|
||||
|
||||
[connection signal="activated" from="TankInteractBody/TankInteractor" to="." method="deposit_grunk"]
|
||||
[connection signal="body_entered" from="DoorArea" to="DoorArea" method="_on_body_entered"]
|
||||
[connection signal="body_exited" from="DoorArea" to="DoorArea" method="_on_body_exited"]
|
||||
|
@ -91,9 +91,6 @@ shader_parameter/iridescence_intensity = 0.1
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("3_3t4ks")
|
||||
shader_parameter/base_uv_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/base_normal_scale = 1.0
|
||||
shader_parameter/normal_blend = 1.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_gpcv6"]
|
||||
data = PackedVector3Array(4.5, 0, 4.5, -4.5, 0, 4.5, 4.5, 0, -4.5, 4.5, 0, -4.5, -4.5, 0, 4.5, -4.5, 0, -4.5)
|
||||
@ -246,9 +243,6 @@ shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("31_753oq")
|
||||
shader_parameter/base_uv_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/base_normal_scale = 1.0
|
||||
shader_parameter/normal_blend = 1.0
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k52xx"]
|
||||
resource_local_to_scene = true
|
||||
|
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -12,7 +12,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/testing/mechanic_test/prop_test.tscn" id="10_xrfi2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/testing/mechanic_test/item_test.tscn" id="11_8natv"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="13_aix42"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/gunk_listener.tscn" id="13_awnx0"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="13_awnx0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="13_cgmn0"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="15_6frcc"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="15_aix42"]
|
||||
|
@ -7,7 +7,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bttust5ohud8e" path="res://src/world/mechanics/relay/gunk_relay.tscn" id="9_d4a3d"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgeg3kkogm71m" path="res://src/world/mechanics/alarm/gunk_alarm.tscn" id="10_l8xa5"]
|
||||
[ext_resource type="PackedScene" uid="uid://d0j20q65wnqsr" path="res://src/world/mechanics/heart/gunk_heart.tscn" id="11_tfbib"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/gunk_listener.tscn" id="12_e8utx"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="12_e8utx"]
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_ix0jw"]
|
||||
_surfaces = [{
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=65 format=4 uid="uid://dc4tts6342cuj"]
|
||||
[gd_scene load_steps=61 format=4 uid="uid://dc4tts6342cuj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dmbdkydqnbyqv" path="res://levels/testing/prop_test/prop_test.gd" id="1_ibd1t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_ml0ka"]
|
||||
@ -35,7 +35,6 @@
|
||||
[ext_resource type="Texture2D" uid="uid://gbvtbiurxrop" path="res://assets/props/vending_machine/vending_machine_R.png" id="27_8a67w"]
|
||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="28_ibd1t"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1kacn4b60ucy" path="res://src/ui/post_processing.tscn" id="30_qnhar"]
|
||||
[ext_resource type="Material" uid="uid://dmolqtdktqdsl" path="res://levels/ghost_ship/guide_sign/airlock_sign.material" id="34_rl4wl"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfm80tqsw22qc" path="res://src/props/wire_shelves/wire_shelves.tscn" id="36_hb05j"]
|
||||
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/grunk_overlays/bright_overlay.material" id="37_00w3i"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="40_6kdm2"]
|
||||
@ -67,40 +66,6 @@ texture_filter = 2
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ibd1t"]
|
||||
size = Vector3(2.35, 3.1, 1.5)
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_20ek7"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1, -0.4, -0.2, 2, 0.4, 0.4),
|
||||
"format": 34896613377,
|
||||
"index_count": 24,
|
||||
"index_data": PackedByteArray("AAABAAIAAAADAAEAAgABAAQAAgAEAAAABAABAAMABQADAAAABAADAAUAAAAEAAUA"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 6,
|
||||
"vertex_data": PackedByteArray("AAD/////AAAAAAAA/38AAAAA//8AAAAA//8AAP9/AAD/////AAAAAP///////wAA")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_bbjgc"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1, -0.4, -0.2, 2, 0.4, 0.4),
|
||||
"attribute_data": PackedByteArray("AAD/I/8RAAD/I/8j/yP/I/9N/yP/I//b/03/2/8j/9v/Ef//AAD/2/93/9v/Tf/b/3f/I/9N/yP/I/8j/yP/2wAA/yMAAP/b"),
|
||||
"format": 34896613399,
|
||||
"index_count": 24,
|
||||
"index_data": PackedByteArray("AAABAAIAAwAEAAUABQAEAAYABwAIAAkACgALAAwADAALAA0ADgAPABAAEAAPABEA"),
|
||||
"material": ExtResource("34_rl4wl"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 18,
|
||||
"vertex_data": PackedByteArray("AAD///////8AAAAA/3///wAA//8AAP//AAD//wAAsvIAAAAA/3+y8v////8AALLy//8AAP9/svL/////AAD/v///AAD/f/+//////////7////////8mwv//AAD/fybCAAD/////JsIAAAAA/38mwgAA//8AAFTV/////wAAVNUAAP////9U1f///////1TV/z//f/8//3//P/9/PjnAxj45wMY+OcDGPjnAxv9/AAD/fwAA/38AAIYUeOuGFHjrhhR464YUeOtU1aoqVNWqKlTVqipU1aoq")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_20ek7")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_pyppt"]
|
||||
data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1, -0.4, 0, 1, 0, -0.2, 1, 0, -0.2, -1, -0.4, 0, 1, -0.4, 0, 1, 0, -0.2, 1, -0.4, 0, 1, 0, 0.2, 1, 0, 0.2, 1, -0.4, 0, -1, 0, 0.2, -1, 0, 0.2, 1, -0.4, 0, -1, -0.4, 0, -1, 0, -0.2, 1, 0, -0.2, -1, 0, 0.2, -1, 0, 0.2, 1, 0, -0.2, 1, 0, 0.2)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hb05j"]
|
||||
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
|
||||
|
||||
@ -409,24 +374,6 @@ label = "Vending Machine"
|
||||
verb = "toggle"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="AirlockSign" type="MeshInstance3D" parent="Props"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -9.06159, 3, -7.29323)
|
||||
gi_mode = 2
|
||||
mesh = SubResource("ArrayMesh_bbjgc")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Props/AirlockSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/AirlockSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_pyppt")
|
||||
|
||||
[node name="Gunkable" parent="Props/AirlockSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("40_6kdm2")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("37_00w3i")
|
||||
|
||||
[node name="CleanPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4, 1, 0)
|
||||
|
||||
|
@ -107,7 +107,7 @@ gameplay/beast/anger_min=0.0
|
||||
gameplay/beast/anger_max=150.0
|
||||
gameplay/beast/anger_decay_rate=1.0
|
||||
gameplay/beast/anger_noise=10.0
|
||||
gameplay/beast/anger_noise_near=10.0
|
||||
gameplay/beast/anger_noise_near=30.0
|
||||
gameplay/beast/provocation_range=5.5
|
||||
gameplay/beast/anger_alarm=60.0
|
||||
gameplay/beast/anger_alarm_extra=60.0
|
||||
@ -123,8 +123,6 @@ gameplay/beast/anger_threshold_pursuit=80.0
|
||||
gameplay/beast/anger_start_tracking=4.0
|
||||
gameplay/beast/anger_extra_alert_level=4
|
||||
gameplay/beast/anger_threshold_pounce=140.0
|
||||
debug/show_beast_info=false
|
||||
debug/show_beast_info.editor_runtime=true
|
||||
|
||||
[global_group]
|
||||
|
||||
|
@ -28,8 +28,32 @@ func _process(_delta: float) -> void:
|
||||
(c as Node3D).global_position = child_pos
|
||||
|
||||
var collider: Object = get_collider()
|
||||
if is_instance_valid(collider):
|
||||
_connect_gunkable(collider)
|
||||
var new_gunk_id: int = collider.get_instance_id()
|
||||
if new_gunk_id != gunk_id:
|
||||
gunk_id = new_gunk_id
|
||||
if gunkable:
|
||||
# Disconnect old signals to avoid emitting from previous node and accumulating connections
|
||||
if gunkable.painted_at_point.is_connected(grunk_dust._on_gunkable_painted_at_point):
|
||||
gunkable.painted_at_point.disconnect(grunk_dust._on_gunkable_painted_at_point)
|
||||
if gunkable.clear_total_updated.is_connected(
|
||||
grunk_dust._on_gunkable_clear_total_updated
|
||||
):
|
||||
gunkable.clear_total_updated.disconnect(
|
||||
grunk_dust._on_gunkable_clear_total_updated
|
||||
)
|
||||
gunkable = Gunkable.get_component(collider)
|
||||
if gunkable:
|
||||
# Connect signals of new gunkable to our gunk dust
|
||||
if !gunkable.painted_at_point.is_connected(
|
||||
grunk_dust._on_gunkable_painted_at_point
|
||||
):
|
||||
gunkable.painted_at_point.connect(grunk_dust._on_gunkable_painted_at_point)
|
||||
if !gunkable.clear_total_updated.is_connected(
|
||||
grunk_dust._on_gunkable_clear_total_updated
|
||||
):
|
||||
gunkable.clear_total_updated.connect(
|
||||
grunk_dust._on_gunkable_clear_total_updated
|
||||
)
|
||||
|
||||
laser_dust.emitting = true
|
||||
|
||||
@ -37,26 +61,3 @@ func _process(_delta: float) -> void:
|
||||
else:
|
||||
laser_dust.emitting = false
|
||||
glow_light.visible = false
|
||||
|
||||
|
||||
func _connect_gunkable(collider: Object) -> void:
|
||||
var new_gunk_id: int = collider.get_instance_id()
|
||||
if new_gunk_id != gunk_id:
|
||||
gunk_id = new_gunk_id
|
||||
if gunkable:
|
||||
# Disconnect old signals to avoid emitting from previous node and accumulating connections
|
||||
if gunkable.painted_at_point.is_connected(grunk_dust._on_gunkable_painted_at_point):
|
||||
gunkable.painted_at_point.disconnect(grunk_dust._on_gunkable_painted_at_point)
|
||||
if gunkable.clear_total_updated.is_connected(
|
||||
grunk_dust._on_gunkable_clear_total_updated
|
||||
):
|
||||
gunkable.clear_total_updated.disconnect(grunk_dust._on_gunkable_clear_total_updated)
|
||||
gunkable = Gunkable.get_component(collider)
|
||||
if gunkable:
|
||||
# Connect signals of new gunkable to our gunk dust
|
||||
if !gunkable.painted_at_point.is_connected(grunk_dust._on_gunkable_painted_at_point):
|
||||
gunkable.painted_at_point.connect(grunk_dust._on_gunkable_painted_at_point)
|
||||
if !gunkable.clear_total_updated.is_connected(
|
||||
grunk_dust._on_gunkable_clear_total_updated
|
||||
):
|
||||
gunkable.clear_total_updated.connect(grunk_dust._on_gunkable_clear_total_updated)
|
||||
|
@ -2,7 +2,7 @@ extends SurfaceSnapTool
|
||||
# the wimpy toothbrush
|
||||
|
||||
const PAINT_COLOR := Color(1, 0, 0, 0.3)
|
||||
const BRUSH_SCALE := 0.5
|
||||
const BRUSH_SCALE := 0.2
|
||||
|
||||
@export var damage := 0.0063 # ~8 seconds to destroy standard nodule
|
||||
|
||||
|
@ -77,6 +77,7 @@ collision_mask = 4
|
||||
hit_from_inside = true
|
||||
|
||||
[node name="BeamPassthroughArea" type="Area3D" parent="Raycast"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
collision_layer = 128
|
||||
collision_mask = 0
|
||||
|
||||
|
@ -28,9 +28,6 @@ const THROW_TUTORIAL_DELAY := 6.0
|
||||
## Temporary collision mask.
|
||||
@export_flags_3d_physics var hold_collision_physics := 0b01000001
|
||||
|
||||
## This is set when an object is thrown and released when the mouse button is released
|
||||
var just_threw_object := false
|
||||
|
||||
## The object currently being held.
|
||||
var _held_object: RigidBody3D
|
||||
|
||||
@ -111,7 +108,6 @@ func _process_hold_controls() -> void:
|
||||
drop()
|
||||
elif Input.is_action_just_pressed("fire"):
|
||||
throw()
|
||||
just_threw_object = true
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
@ -119,10 +115,6 @@ func _physics_process(delta: float) -> void:
|
||||
if holding_object():
|
||||
_process_hold_controls()
|
||||
|
||||
# Release held object lockout as soon as possible
|
||||
if not Input.is_action_pressed("fire"):
|
||||
just_threw_object = false
|
||||
|
||||
# Held object logic
|
||||
if not holding_object():
|
||||
return
|
||||
|
@ -216,8 +216,7 @@ func _physics_process(delta: float) -> void:
|
||||
firing = false
|
||||
if tool:
|
||||
# Tool use
|
||||
# Lockout fire input after throwing an object until input is released.
|
||||
if Input.is_action_pressed("fire") and not hold_component.just_threw_object:
|
||||
if Input.is_action_pressed("fire"):
|
||||
tool.fire()
|
||||
firing = true
|
||||
else:
|
||||
|
@ -40,7 +40,7 @@ uniform float overlay_emission_scale = 1.0;
|
||||
#if defined(USE_MASK)
|
||||
group_uniforms gunk_mask;
|
||||
uniform float edge_bleed = 0.25;
|
||||
uniform sampler2D gunk_mask: hint_default_black, filter_linear_mipmap_anisotropic, repeat_disable;
|
||||
uniform sampler2D gunk_mask;
|
||||
#endif
|
||||
|
||||
|
||||
@ -72,26 +72,6 @@ float hardstep(float value) {
|
||||
return 0.5 * tanh( (20.0 * x - 10.0) * inversesqrt(x - x * x) ) + 0.5;
|
||||
}
|
||||
|
||||
vec3 slerp(vec3 a, vec3 b, float t) {
|
||||
vec3 v0 = normalize(a);
|
||||
vec3 v1 = normalize(b);
|
||||
|
||||
float cos_theta = clamp(dot(v0, v1), -1.0, 1.0);
|
||||
|
||||
// use lerp for small angles to avoid division by small sine
|
||||
const float epsilon = 1e-6;
|
||||
if (1.0 - abs(cos_theta) < epsilon) {
|
||||
return normalize(mix(v0, v1, t));
|
||||
}
|
||||
|
||||
float theta = acos(cos_theta);
|
||||
float sin_theta = sin(theta);
|
||||
float w0 = sin((1.0 - t) * theta) / sin_theta;
|
||||
float w1 = sin(t * theta) / sin_theta;
|
||||
|
||||
return w0 * v0 + w1 * v1;
|
||||
}
|
||||
|
||||
vec3 swirl_uvt(vec3 uvt) {
|
||||
uvt.x += sin(uvt.y * 1.54 * PI + uvt.z) * cos(uvt.y * 1.31 * PI + uvt.z) * 0.2;
|
||||
uvt.y += cos(uvt.x * 1.74 * PI + uvt.z) * -sin(uvt.y * 1.64 * PI + uvt.z) * 0.2;
|
||||
|
@ -5,12 +5,6 @@ render_mode depth_prepass_alpha;
|
||||
#define USE_MASK
|
||||
#include "common.gdshaderinc"
|
||||
|
||||
group_uniforms base_material;
|
||||
uniform vec3 base_uv_scale = vec3(1.0);
|
||||
uniform sampler2D base_normal_map: hint_normal, filter_linear;
|
||||
uniform float base_normal_scale = 0.8;
|
||||
uniform float normal_blend = 1.0;
|
||||
|
||||
void fragment() {
|
||||
vec3 uvt = scale_uvt(UV, TIME);
|
||||
float value = sample_noise(uvt);
|
||||
@ -19,32 +13,16 @@ void fragment() {
|
||||
EMISSION = base_emission(UV, value);
|
||||
SPECULAR = base_specular();
|
||||
|
||||
mat3 TBN = mat3(TANGENT, BINORMAL, NORMAL);
|
||||
mat3 inv_TBN = transpose(TBN);
|
||||
|
||||
vec3 base_nmap = textureLod(base_normal_map, UV * base_uv_scale.xy, 0).rgb * 2.0 - 1.0;
|
||||
vec3 base_world_normal = TBN * base_nmap;
|
||||
vec3 gunk_nmap = sobel_convolution(UV, uvt);
|
||||
vec3 gunk_world_normal = TBN * gunk_nmap;
|
||||
|
||||
// Unity blending
|
||||
// see https://blog.selfshadow.com/publications/blending-in-detail/
|
||||
// note that there are actually cheaper alternatives to this, if needed
|
||||
vec3 n = base_nmap * vec3(1.0, 1.0, 1.0 / base_normal_scale);
|
||||
vec3 n2 = gunk_nmap;
|
||||
mat3 basis = mat3(
|
||||
vec3(n.z, n.y, -n.x),
|
||||
vec3(n.x, n.z, -n.y),
|
||||
vec3(n.x, n.y, n.z)
|
||||
);
|
||||
vec3 nmap = normalize(n2.x * basis[0] + n2.y * basis[1] + n2.z * basis[2]);
|
||||
|
||||
// UDN blending
|
||||
// vec3 nmap = normalize(vec3(base_nmap.xy + gunk_nmap.xy, base_nmap.z));
|
||||
vec3 world_normal = TBN * nmap;
|
||||
NORMAL_MAP = nmap / 2.0 + 0.5;
|
||||
// vec3 nmap = minimal_convolution(UV, uvt);
|
||||
// vec3 nmap = cross_convolution(UV, uvt);
|
||||
vec3 nmap = sobel_convolution(UV, uvt);
|
||||
// vec3 nmap = sobel_5x5_convolution(UV, uvt);
|
||||
// vec3 nmap = scharr_convolution(UV, uvt);
|
||||
// vec3 nmap = godot_convolution(UV, uvt);
|
||||
NORMAL_MAP = nmap / 2.0 + 0.5;
|
||||
|
||||
// add fresnel
|
||||
vec3 world_normal = mat3(TANGENT, BINORMAL, NORMAL) * nmap;
|
||||
EMISSION += rim_glow(
|
||||
world_normal,
|
||||
VIEW,
|
||||
|
@ -1,36 +0,0 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://bju72ap41tg6j"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://b07fevr214mmr" path="res://src/ui/hud/hud_theme.tres" id="1_h04vq"]
|
||||
|
||||
[node name="AdvisoryPanel" type="MarginContainer"]
|
||||
custom_minimum_size = Vector2(560, 140)
|
||||
offset_right = 532.0
|
||||
offset_bottom = 137.0
|
||||
theme_override_constants/margin_left = 4
|
||||
theme_override_constants/margin_top = 4
|
||||
theme_override_constants/margin_right = 4
|
||||
theme_override_constants/margin_bottom = 4
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("1_h04vq")
|
||||
theme_type_variation = &"AdvisoryPanelContainer"
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AdvisoryHeading"
|
||||
text = "HEADING"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AdvisoryText"
|
||||
text = "Sub-Heading Text"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
@ -1,29 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://5pky6tgbjyb"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://b07fevr214mmr" path="res://src/ui/hud/hud_theme.tres" id="1_jrjp2"]
|
||||
[ext_resource type="PackedScene" uid="uid://bju72ap41tg6j" path="res://src/ui/hud/alert_advisory/advisory_panel.tscn" id="2_v20c2"]
|
||||
|
||||
[node name="AlertAdvisory" type="Control"]
|
||||
custom_minimum_size = Vector2(600, 800)
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
theme = ExtResource("1_jrjp2")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AdvisoryPanel" parent="VBoxContainer" instance=ExtResource("2_v20c2")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" parent="VBoxContainer/AdvisoryPanel/PanelContainer/VBoxContainer" index="0"]
|
||||
text = "LOW"
|
||||
|
||||
[node name="Label2" parent="VBoxContainer/AdvisoryPanel/PanelContainer/VBoxContainer" index="1"]
|
||||
text = "Low Risk of Anti-Psionic Cataclysm"
|
||||
|
||||
[editable path="VBoxContainer/AdvisoryPanel"]
|
@ -1,30 +1,9 @@
|
||||
[gd_resource type="Theme" load_steps=3 format=3 uid="uid://b07fevr214mmr"]
|
||||
[gd_resource type="Theme" load_steps=2 format=3 uid="uid://b07fevr214mmr"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://oq8ue2qrfijg" path="res://assets/fonts/Silkscreen/Silkscreen-Regular.ttf" id="1_qb3fo"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qb3fo"]
|
||||
content_margin_left = 12.0
|
||||
content_margin_top = 12.0
|
||||
content_margin_right = 12.0
|
||||
content_margin_bottom = 12.0
|
||||
bg_color = Color(0, 0, 0, 1)
|
||||
draw_center = false
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color(0, 0, 0, 0.423529)
|
||||
corner_detail = 1
|
||||
anti_aliasing = false
|
||||
|
||||
[resource]
|
||||
default_font = ExtResource("1_qb3fo")
|
||||
AdvisoryHeading/base_type = &"Label"
|
||||
AdvisoryHeading/font_sizes/font_size = 48
|
||||
AdvisoryPanelContainer/base_type = &"PanelContainer"
|
||||
AdvisoryPanelContainer/styles/panel = SubResource("StyleBoxFlat_qb3fo")
|
||||
AdvisoryText/base_type = &"Label"
|
||||
AdvisoryText/font_sizes/font_size = 18
|
||||
AlertLabel/base_type = &"Label"
|
||||
AlertLabel/colors/font_color = Color(1, 0, 0, 1)
|
||||
AlertLabel/colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
|
@ -23,5 +23,4 @@ func play_tank_full_alert() -> void:
|
||||
|
||||
|
||||
func _on_clear_alert() -> void:
|
||||
if World.instance.manager.alert_level >= 2:
|
||||
alert_clear_player.play("alert_clear")
|
||||
alert_clear_player.play("alert_clear")
|
||||
|
@ -458,10 +458,10 @@ anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.7219
|
||||
offset_top = -16.7788
|
||||
offset_right = -20.7219
|
||||
offset_bottom = -16.7788
|
||||
offset_left = -20.2593
|
||||
offset_top = -19.6536
|
||||
offset_right = -20.2593
|
||||
offset_bottom = -19.6536
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("4_ud8na")
|
||||
|
@ -13,8 +13,6 @@ var _track_list_dirty := false
|
||||
|
||||
@onready var alert_level_label: Label = %AlertLevelLabel
|
||||
|
||||
@onready var show_beast_info: CheckButton = %ShowBeastInfo
|
||||
|
||||
@onready var tracks_collected_list: VBoxContainer = %TracksCollectedList
|
||||
@onready var append_target: Panel = %AppendTarget
|
||||
|
||||
@ -32,11 +30,6 @@ func _ready() -> void:
|
||||
_build_track_list()
|
||||
_update_alert_level()
|
||||
|
||||
@warning_ignore("unsafe_cast")
|
||||
show_beast_info.set_pressed_no_signal(
|
||||
ProjectSettings.get_setting_with_override("game/debug/show_beast_info") as bool
|
||||
)
|
||||
|
||||
|
||||
func _build_track_list() -> void:
|
||||
tracks_collected_list.remove_child(append_target)
|
||||
@ -145,7 +138,3 @@ func spawn_beast() -> void:
|
||||
func kill_beasts() -> void:
|
||||
for c: Node in get_tree().get_nodes_in_group(GrunkBeast.GROUP):
|
||||
c.queue_free()
|
||||
|
||||
|
||||
func set_show_beast_info(toggled_on: bool) -> void:
|
||||
ProjectSettings.set_setting("game/debug/show_beast_info", toggled_on)
|
||||
|
@ -205,12 +205,6 @@ text = "Spawn grunkbeast"
|
||||
layout_mode = 2
|
||||
text = "Despawn all grunkbeasts"
|
||||
|
||||
[node name="ShowBeastInfo" type="CheckButton" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Show beast info"
|
||||
alignment = 2
|
||||
|
||||
[node name="HBoxContainer6" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
@ -385,7 +379,6 @@ preserve_on_drag = true
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer7/ResetAlertLevel" to="." method="reset_alert_level"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8/SpawnBeast" to="." method="spawn_beast"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8/KillBeasts" to="." method="kill_beasts"]
|
||||
[connection signal="toggled" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer8/ShowBeastInfo" to="." method="set_show_beast_info"]
|
||||
[connection signal="child_entered_tree" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6/TracksCollectedColumn/TracksCollected/MarginContainer/ScrollContainer/MarginContainer/TracksCollectedList" to="." method="_on_track_list_changed" unbinds=1]
|
||||
[connection signal="child_exiting_tree" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6/TracksCollectedColumn/TracksCollected/MarginContainer/ScrollContainer/MarginContainer/TracksCollectedList" to="." method="_on_track_list_changed" unbinds=1]
|
||||
[connection signal="child_order_changed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer6/TracksCollectedColumn/TracksCollected/MarginContainer/ScrollContainer/MarginContainer/TracksCollectedList" to="." method="_on_track_list_changed"]
|
||||
|
@ -191,7 +191,7 @@ layout_mode = 2
|
||||
[node name="Label" type="Label" parent="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/TutorialHeading"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "SETTINGS_GAME_TUTORIAL_HEADING"
|
||||
text = "SETTINGS_TUTORIAL_HEADING"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/TutorialHeading"]
|
||||
layout_mode = 2
|
||||
|
@ -1,13 +1,10 @@
|
||||
class_name FloorSpawner extends BeastSpawner
|
||||
## Beast spawner on the floor
|
||||
|
||||
@export var y_offset: float = 1.0
|
||||
|
||||
|
||||
func do_spawn() -> void:
|
||||
var instance: GrunkBeast = instantiate()
|
||||
add_sibling(instance)
|
||||
|
||||
instance.global_transform = global_transform
|
||||
instance.global_position.y += y_offset
|
||||
instance.start_spawn()
|
||||
|
@ -14,5 +14,4 @@ func tick(_actor: Node, blackboard: Blackboard) -> int:
|
||||
blackboard.set_value(
|
||||
GrunkBeast.ANGER_KEY, clampf(value + d, GrunkBeast.anger_min, GrunkBeast.anger_max)
|
||||
)
|
||||
print_debug("Beast anger increased by ", d, " by action ", name)
|
||||
return SUCCESS
|
||||
|
@ -10,7 +10,7 @@ class_name PursueTarget extends ActionLeaf
|
||||
@onready var nav_agent: NavigationAgent3D = %NavAgent
|
||||
|
||||
|
||||
func tick(_actor: Node, blackboard: Blackboard) -> int:
|
||||
func tick(actor: Node, blackboard: Blackboard) -> int:
|
||||
if not blackboard.has_value(blackboard_key):
|
||||
return FAILURE
|
||||
|
||||
|
@ -14,7 +14,7 @@ class_name SetNavTarget extends ActionLeaf
|
||||
@onready var navigation_update_cooldown: Timer = %NavigationUpdateCooldown
|
||||
|
||||
|
||||
func tick(_actor: Node, blackboard: Blackboard) -> int:
|
||||
func tick(actor: Node, blackboard: Blackboard) -> int:
|
||||
if not blackboard.has_value(blackboard_key):
|
||||
return FAILURE
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
extends CanvasLayer
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
ProjectSettings.settings_changed.connect(_check_setting)
|
||||
_check_setting()
|
||||
|
||||
|
||||
func _check_setting() -> void:
|
||||
visible = ProjectSettings.get_setting_with_override("game/debug/show_beast_info")
|
@ -1 +0,0 @@
|
||||
uid://dw3t84dfacj2a
|
@ -109,7 +109,6 @@ func _ready() -> void:
|
||||
|
||||
|
||||
func start_spawn() -> void:
|
||||
apply_floor_snap()
|
||||
model.play_spawn_animation()
|
||||
root_block.await_signal(model.spawn_animation_finished)
|
||||
# Set point of interest to spawn point
|
||||
@ -196,10 +195,10 @@ func on_sound_detected(source: Vector3) -> void:
|
||||
|
||||
point_of_interest = source
|
||||
if sound_detection_cooldown.is_stopped():
|
||||
print_debug("Beast heard something from ", source, "(+", GrunkBeast.anger_noise, ")")
|
||||
print_debug("Beast heard something from ", source)
|
||||
anger_level += GrunkBeast.anger_noise
|
||||
if source.distance_to(self.global_position) <= GrunkBeast.provocation_range:
|
||||
print_debug("... And it was close, too! (+", GrunkBeast.anger_noise_near, ")")
|
||||
print_debug("... And it was close, too!")
|
||||
anger_level += GrunkBeast.anger_noise_near
|
||||
sound_detection_cooldown.start()
|
||||
# TODO animation?
|
||||
@ -225,11 +224,11 @@ func _on_alarm_triggered(source: GunkAlarm) -> void:
|
||||
if root_block.is_blocked():
|
||||
return
|
||||
|
||||
print_debug("The beast was angered by the alarm! (+", GrunkBeast.anger_alarm, ")")
|
||||
print_debug("The beast was angered by the alarm!")
|
||||
point_of_interest = source.global_position
|
||||
anger_level += GrunkBeast.anger_alarm
|
||||
if World.instance.manager.alert_level >= GrunkBeast.anger_extra_alert_level:
|
||||
print_debug("The beast got extra-angry! (+", GrunkBeast.anger_alarm_extra, ")")
|
||||
print_debug("The beast got extra-angry!")
|
||||
anger_level += GrunkBeast.anger_alarm_extra
|
||||
|
||||
|
||||
@ -238,6 +237,6 @@ func _on_touch(_body: Node3D) -> void:
|
||||
return
|
||||
|
||||
if touch_cooldown.is_stopped():
|
||||
print_debug("Touched the beast! (+", GrunkBeast.anger_touch, ")")
|
||||
print_debug("Touched the beast!")
|
||||
anger_level += GrunkBeast.anger_touch
|
||||
touch_cooldown.start()
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=46 format=3 uid="uid://ehf5sg3ahvbf"]
|
||||
[gd_scene load_steps=45 format=3 uid="uid://ehf5sg3ahvbf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b5loa2u6s5l5c" path="res://src/player/rigid_body_physics.gd" id="2_4alar"]
|
||||
[ext_resource type="PackedScene" uid="uid://brrd33217oplv" path="res://src/world/grunk_beast/shambler/shambler.tscn" id="2_csisu"]
|
||||
@ -36,7 +36,6 @@
|
||||
[ext_resource type="Script" uid="uid://o625e667ig2e" path="res://src/world/grunk_beast/behaviors/conditions/point_in_range.gd" id="34_vbkm0"]
|
||||
[ext_resource type="Script" uid="uid://dsf3a8vlolhx8" path="res://addons/beehave/nodes/decorators/succeeder.gd" id="35_4alar"]
|
||||
[ext_resource type="Script" uid="uid://c7n3lak5yhrpv" path="res://src/world/grunk_beast/behaviors/decorators/random_chance.gd" id="36_uy7at"]
|
||||
[ext_resource type="Script" uid="uid://dw3t84dfacj2a" path="res://src/world/grunk_beast/debug_canvas_layer.gd" id="37_uy7at"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_sm756"]
|
||||
_limits = [0.0, 10.0, 0.0, 150.0]
|
||||
@ -50,7 +49,7 @@ radius = 0.4
|
||||
radius = 9.0
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_1cnlk"]
|
||||
radius = 1.7
|
||||
radius = 2.0
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_3gbao"]
|
||||
radius = 1.4
|
||||
@ -159,7 +158,7 @@ one_shot = true
|
||||
|
||||
[node name="TouchCooldown" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
wait_time = 0.8
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
|
||||
[node name="AngerDecay" type="Timer" parent="."]
|
||||
@ -390,7 +389,7 @@ metadata/_custom_type_script = "uid://cg016dbe7gs1x"
|
||||
script = ExtResource("11_mbqcc")
|
||||
mean_time = 4.0
|
||||
st_dev_time = 0.6
|
||||
wait_time = 4.22028
|
||||
wait_time = 4.75634
|
||||
metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
|
||||
|
||||
[node name="PickRandomInvestigationTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/TrackingMode/ActionSelector/InvestigateAction/AlwaysSucceedDecorator/InvestigateSequence/RandomDelay"]
|
||||
@ -484,7 +483,7 @@ metadata/_custom_type_script = "uid://bogt3htgqe12s"
|
||||
script = ExtResource("11_mbqcc")
|
||||
mean_time = 9.0
|
||||
st_dev_time = 1.0
|
||||
wait_time = 9.39944
|
||||
wait_time = 9.92344
|
||||
metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
|
||||
|
||||
[node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkingMode/RandomDelay"]
|
||||
@ -510,7 +509,6 @@ metadata/_custom_type_script = "uid://dme5f24l0edsf"
|
||||
[node name="DebugCanvasLayer" type="CanvasLayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layer = 10
|
||||
script = ExtResource("37_uy7at")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="DebugCanvasLayer"]
|
||||
offset_right = 40.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://d2664rpg4losx"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://d2664rpg4losx"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bi5mxt5s4aq1a" path="res://assets/npc/grunk_beast/grunk_beast.gltf" id="1_hoss2"]
|
||||
[ext_resource type="Script" uid="uid://dkll8s6kwb41r" path="res://src/world/grunk_beast/procedural_grunk_beast/start_ik.gd" id="2_qic24"]
|
||||
@ -7,6 +7,7 @@
|
||||
[ext_resource type="Script" uid="uid://7is3sa00qejh" path="res://src/world/grunk_beast/procedural_grunk_beast/ik_target.gd" id="4_3gbao"]
|
||||
[ext_resource type="Script" uid="uid://bpyovjodpxjpb" path="res://src/world/grunk_beast/procedural_grunk_beast/step_ray.gd" id="4_faau1"]
|
||||
[ext_resource type="Script" uid="uid://c1gitpy7s78ev" path="res://src/world/grunk_beast/procedural_grunk_beast/target_container.gd" id="5_wffas"]
|
||||
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="5_xuag8"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="6_mbqcc"]
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
|
||||
@ -17,6 +18,14 @@ seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("6_mbqcc")
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("6_mbqcc")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7fplw"]
|
||||
frequency = 0.0703
|
||||
|
||||
@ -26,60 +35,48 @@ height = 32
|
||||
depth = 128
|
||||
noise = SubResource("FastNoiseLite_7fplw")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ren1j"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vvw1q"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_0gxpq")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
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.25, 0.88, 1, 1)
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
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.02
|
||||
shader_parameter/bump_strength = 1.0
|
||||
shader_parameter/fresnel_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/fresnel_power = 4.0
|
||||
shader_parameter/fresnel_intensity = 0.0
|
||||
shader_parameter/iridescence_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/iridescence_power = 4.0
|
||||
shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("5_xuag8")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||
shader_parameter/jitter_magnitude = 0.3
|
||||
shader_parameter/jitter_time_scale = 0.6
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7gi2a"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ml8dd"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_0gxpq")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
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.25, 0.88, 1, 1)
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
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.02
|
||||
shader_parameter/bump_strength = 1.0
|
||||
shader_parameter/fresnel_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/fresnel_power = 4.0
|
||||
shader_parameter/fresnel_intensity = 0.0
|
||||
shader_parameter/iridescence_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/iridescence_power = 4.0
|
||||
shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
shader_parameter/gunk_mask = ExtResource("5_xuag8")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||
shader_parameter/jitter_magnitude = 0.1
|
||||
shader_parameter/jitter_time_scale = 0.6
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
@ -96,10 +93,10 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0,
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
|
||||
[node name="Body" parent="Armature/Skeleton3D" index="0"]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_ren1j")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_vvw1q")
|
||||
|
||||
[node name="Leg" parent="Armature/Skeleton3D" index="1"]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_7gi2a")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_ml8dd")
|
||||
|
||||
[node name="FrontLeftLeg" type="SkeletonIK3D" parent="Armature/Skeleton3D" index="2"]
|
||||
root_bone = &"Leg1.F.L"
|
||||
|
@ -59,7 +59,6 @@ animation = &"walk_front"
|
||||
animation = &"walk_rear"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nayyt"]
|
||||
graph_offset = Vector2(-1297.66, 69.5868)
|
||||
nodes/anim_scale/node = SubResource("AnimationNodeTimeScale_s7rwx")
|
||||
nodes/anim_scale/position = Vector2(280, 140)
|
||||
nodes/emerge_floor/node = SubResource("AnimationNodeAnimation_vmxrd")
|
||||
@ -438,7 +437,6 @@ draw_pass_1 = SubResource("QuadMesh_10hsf")
|
||||
[node name="SpawnRift" type="MeshInstance3D" parent="SpawnEffects" index="3"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.01, -0.385)
|
||||
visible = false
|
||||
gi_mode = 0
|
||||
mesh = SubResource("PlaneMesh_xlxrx")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
|
@ -22,12 +22,6 @@ const MASK_THRESHOLD := 0.5
|
||||
|
||||
@export var source_gunk_material: ShaderMaterial
|
||||
|
||||
@export_group("Base Materials")
|
||||
@export var base_material_index := 0
|
||||
@export var base_uv_scale := Vector3.ONE
|
||||
@export var base_normal_map: Texture2D
|
||||
@export var base_normal_blend := 0.6
|
||||
|
||||
var meshtool := MeshDataTool.new()
|
||||
|
||||
var _polyline_buffer: Array[Vector2] = []
|
||||
@ -74,22 +68,6 @@ func _ready() -> void:
|
||||
mat_instance.next_pass = mesh_instance.material_overlay
|
||||
mesh_instance.material_overlay = mat_instance
|
||||
|
||||
# Extract what we can from a base material, if we can find one.
|
||||
var base_material: Material = mesh_instance.get_surface_override_material(base_material_index)
|
||||
if not base_material:
|
||||
base_material = mesh_instance.mesh.surface_get_material(base_material_index)
|
||||
var standard_base_mat: StandardMaterial3D = base_material as StandardMaterial3D
|
||||
|
||||
if not base_normal_map and standard_base_mat:
|
||||
base_normal_map = standard_base_mat.normal_texture
|
||||
base_uv_scale = standard_base_mat.uv1_scale
|
||||
|
||||
if base_normal_map:
|
||||
mat_instance.set_shader_parameter("base_normal_map", base_normal_map)
|
||||
mat_instance.set_shader_parameter("normal_blend", base_normal_blend)
|
||||
|
||||
mat_instance.set_shader_parameter("base_uv_scale", base_uv_scale)
|
||||
|
||||
_deferred_init.call_deferred()
|
||||
|
||||
# Initialize meshtool
|
||||
|
@ -1,134 +1,13 @@
|
||||
[gd_scene load_steps=31 format=3 uid="uid://kctp5erogwcb"]
|
||||
[gd_scene load_steps=17 format=3 uid="uid://kctp5erogwcb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bde7cglaqobkd" path="res://src/world/mechanics/listener/gunk_listener.gd" id="1_htscg"]
|
||||
[ext_resource type="Script" uid="uid://bde7cglaqobkd" path="res://src/world/mechanics/listener/listener.gd" id="1_htscg"]
|
||||
[ext_resource type="Script" uid="uid://cfsiyhhrcua6o" path="res://src/world/game_sound/game_sound_listener.gd" id="2_htscg"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2c0ooj1re3dk" path="res://src/world/mechanics/listener/listener_model.tscn" id="3_r42ft"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk/gunk.gdshader" id="4_gt631"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="5_gg3ey"]
|
||||
[ext_resource type="Texture2D" uid="uid://bl1aniu87mioa" path="res://assets/particles/light_02.png" id="7_pp7wn"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_2ibh1"]
|
||||
radius = 1.0
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("5_gg3ey")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7fplw"]
|
||||
frequency = 0.0703
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_omayi"]
|
||||
width = 32
|
||||
height = 32
|
||||
depth = 128
|
||||
noise = SubResource("FastNoiseLite_7fplw")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_ih22n"]
|
||||
offsets = PackedFloat32Array(0, 0.001, 0.05)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.25098, 0.878431, 1, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_v2pcm"]
|
||||
gradient = SubResource("Gradient_ih22n")
|
||||
fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4io3x"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_gt631")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
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.25, 0.88, 1, 1)
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
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.02
|
||||
shader_parameter/bump_strength = 10.0
|
||||
shader_parameter/fresnel_color = Color(0.25, 0.88, 1, 1)
|
||||
shader_parameter/fresnel_power = 4.0
|
||||
shader_parameter/fresnel_intensity = 0.0
|
||||
shader_parameter/iridescence_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/iridescence_power = 4.0
|
||||
shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission = SubResource("GradientTexture2D_v2pcm")
|
||||
shader_parameter/overlay_emission_scale = 0.02
|
||||
shader_parameter/jitter_magnitude = 0.4
|
||||
shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_pp7wn"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("5_gg3ey")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_c5snp"]
|
||||
frequency = 0.0703
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_q7kpl"]
|
||||
width = 32
|
||||
height = 32
|
||||
depth = 128
|
||||
noise = SubResource("FastNoiseLite_c5snp")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_mkgnp"]
|
||||
resource_local_to_scene = true
|
||||
offsets = PackedFloat32Array(0, 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_l8xpq"]
|
||||
resource_local_to_scene = true
|
||||
gradient = SubResource("Gradient_mkgnp")
|
||||
width = 32
|
||||
height = 32
|
||||
fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
fill_to = Vector2(1, 1)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_n7js6"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_gt631")
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_pp7wn")
|
||||
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/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/pan_speed = Vector2(0, 0)
|
||||
shader_parameter/time_scale = 0.2
|
||||
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.2
|
||||
shader_parameter/bump_strength = 10.0
|
||||
shader_parameter/fresnel_color = Color(0.25, 0.88, 1, 1)
|
||||
shader_parameter/fresnel_power = 4.0
|
||||
shader_parameter/fresnel_intensity = 0.0
|
||||
shader_parameter/iridescence_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/iridescence_power = 4.0
|
||||
shader_parameter/iridescence_intensity = 0.0
|
||||
shader_parameter/overlay_emission = SubResource("GradientTexture2D_l8xpq")
|
||||
shader_parameter/overlay_emission_scale = 6.0
|
||||
shader_parameter/jitter_magnitude = 0.4
|
||||
shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_q7kpl")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[sub_resource type="Curve" id="Curve_pp7wn"]
|
||||
_limits = [0.0, 0.3, 0.0, 1.0]
|
||||
_data = [Vector2(0, 0), 0.0, 1.51554, 0, 0, Vector2(0.101629, 0.115028), 0.436038, 0.436038, 0, 0, Vector2(0.421742, 0.0779494), 0.21293, 0.21293, 0, 0, Vector2(1, 0), -0.0537925, 0.0, 0, 0]
|
||||
@ -186,7 +65,7 @@ radius = 0.125
|
||||
height = 0.1
|
||||
radius = 0.175
|
||||
|
||||
[node name="GunkListener" type="StaticBody3D" groups=["Persistent"]]
|
||||
[node name="Listener" type="StaticBody3D" groups=["Persistent"]]
|
||||
collision_layer = 36
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_htscg")
|
||||
@ -251,14 +130,10 @@ bones/38/rotation = Quaternion(0.247978, -1.26717e-07, -3.12779e-07, 0.968766)
|
||||
bones/39/rotation = Quaternion(0.148338, 2.72959e-08, 3.46469e-07, 0.988937)
|
||||
bones/40/rotation = Quaternion(0.237284, 5.07144e-06, -1.68211e-06, 0.97144)
|
||||
|
||||
[node name="Listener" parent="ListenerModel/Armature/Skeleton3D" index="0"]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_4io3x")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_n7js6")
|
||||
|
||||
[node name="PhysicalBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="ListenerModel/Armature/Skeleton3D" index="6"]
|
||||
|
||||
[node name="PhysicalBone3D" type="PhysicalBone3D" parent="ListenerModel/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(0.323527, 1.2631e-06, 1.20741, -3.57116e-07, 1.25, -1.21197e-06, -1.20741, -3.12629e-08, 0.323527, -4.8128e-06, 0.800007, -1.25658e-06)
|
||||
transform = Transform3D(0.323524, 1.2631e-06, 1.20741, -3.57116e-07, 1.25, -1.21197e-06, -1.20741, -3.12658e-08, 0.323524, -4.8128e-06, 0.800007, -1.25657e-06)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38539e-08, -5.72204e-06, 3.9816e-06)
|
||||
body_offset = Transform3D(1.25, 3.57626e-07, -3.57628e-07, -3.57627e-07, 1.25, -1.22189e-06, 3.57628e-07, 1.22189e-06, 1.25, -2.98139e-08, 7.15256e-06, -4.97699e-06)
|
||||
bone_name = "Stem5"
|
||||
@ -283,7 +158,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.14, 0)
|
||||
shape = SubResource("CylinderShape3D_dqq13")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.258816, 1.01046e-06, 0.965909, -2.85686e-07, 0.999981, -9.69562e-07, -0.965904, -2.50099e-08, 0.258817, -3.61278e-06, 0.875006, -1.01114e-06)
|
||||
transform = Transform3D(0.258814, 1.01046e-06, 0.96591, -2.85687e-07, 0.999981, -9.69562e-07, -0.965905, -2.50121e-08, 0.258815, -3.61278e-06, 0.875006, -1.01113e-06)
|
||||
shape = SubResource("CylinderShape3D_r42ft")
|
||||
|
||||
[node name="CooldownTimer" type="Timer" parent="."]
|
@ -4,7 +4,7 @@
|
||||
[ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"]
|
||||
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"]
|
||||
[ext_resource type="Resource" uid="uid://0i72bf8ip1lx" path="res://src/world/spook_manager.tres" id="3_l0av5"]
|
||||
[ext_resource type="PackedScene" uid="uid://bov4ok76woyc" path="res://levels/ghost_ship/ghost_ship.tscn" id="4_5kmgb"]
|
||||
[ext_resource type="PackedScene" uid="uid://ogcjwuvqo5rc" path="res://levels/testing/beast_spawner_test/beast_spawner_test.tscn" id="4_5kmgb"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"]
|
||||
[ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"]
|
||||
|
||||
|
@ -147,10 +147,4 @@
|
||||
- author: Peter Hull
|
||||
- license: OFL 1.1
|
||||
- retrieved from https://fonts.google.com/specimen/VT323
|
||||
- assets/fonts/VT323
|
||||
- Materials
|
||||
- metal_plate_02
|
||||
- author: Rob Tuytel
|
||||
- license: CC0
|
||||
- retrieved from https://polyhaven.com/a/metal_plate_02
|
||||
- assets/materials/metal_plate_02
|
||||
- assets/fonts/VT323
|
Loading…
x
Reference in New Issue
Block a user