generated from krampus/template-godot4
Compare commits
6 Commits
fb4b81d78c
...
784576c3fc
Author | SHA1 | Date | |
---|---|---|---|
784576c3fc | |||
a597857367 | |||
1265dc2eb7 | |||
5c6d4ce3bb | |||
6c3cf04023 | |||
acde73921c |
Binary file not shown.
Binary file not shown.
BIN
asset_dev/sfx/collection_pops_v0.wav
(Stored with Git LFS)
Normal file
BIN
asset_dev/sfx/collection_pops_v0.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
asset_dev/sfx/grunk_collection_pops_v2.wav
(Stored with Git LFS)
Normal file
BIN
asset_dev/sfx/grunk_collection_pops_v2.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
assets/particles/light_02.png
(Stored with Git LFS)
Normal file
BIN
assets/particles/light_02.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
assets/particles/light_02.png.import
Normal file
34
assets/particles/light_02.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bl1aniu87mioa"
|
||||||
|
path="res://.godot/imported/light_02.png-8ede73eca58ecd3b47d8333292bea678.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/particles/light_02.png"
|
||||||
|
dest_files=["res://.godot/imported/light_02.png-8ede73eca58ecd3b47d8333292bea678.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/sfx/grunk/grunk_collection_squelch_1_v2.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/grunk/grunk_collection_squelch_1_v2.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/grunk/grunk_collection_squelch_1_v2.wav.import
Normal file
24
assets/sfx/grunk/grunk_collection_squelch_1_v2.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dcjt0re7onrvk"
|
||||||
|
path="res://.godot/imported/grunk_collection_squelch_1_v2.wav-2949cdd645c17a8cd5dce0c2f4aedec9.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/grunk/grunk_collection_squelch_1_v2.wav"
|
||||||
|
dest_files=["res://.godot/imported/grunk_collection_squelch_1_v2.wav-2949cdd645c17a8cd5dce0c2f4aedec9.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/grunk/grunk_collection_squelch_2_v2.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/grunk/grunk_collection_squelch_2_v2.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/grunk/grunk_collection_squelch_2_v2.wav.import
Normal file
24
assets/sfx/grunk/grunk_collection_squelch_2_v2.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dkdgnt6ow2d45"
|
||||||
|
path="res://.godot/imported/grunk_collection_squelch_2_v2.wav-9079bb2f07e036a7976c68ea23859462.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/grunk/grunk_collection_squelch_2_v2.wav"
|
||||||
|
dest_files=["res://.godot/imported/grunk_collection_squelch_2_v2.wav-9079bb2f07e036a7976c68ea23859462.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/grunk/grunk_collection_squelch_3_v2.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/grunk/grunk_collection_squelch_3_v2.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/grunk/grunk_collection_squelch_3_v2.wav.import
Normal file
24
assets/sfx/grunk/grunk_collection_squelch_3_v2.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dyokb48axh7tw"
|
||||||
|
path="res://.godot/imported/grunk_collection_squelch_3_v2.wav-0278ce8105cf87e4e55550c4191e3284.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/grunk/grunk_collection_squelch_3_v2.wav"
|
||||||
|
dest_files=["res://.godot/imported/grunk_collection_squelch_3_v2.wav-0278ce8105cf87e4e55550c4191e3284.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/grunk/grunk_collection_squelch_v1.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/grunk/grunk_collection_squelch_v1.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/grunk/grunk_collection_squelch_v1.wav.import
Normal file
24
assets/sfx/grunk/grunk_collection_squelch_v1.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://34b1ljbojwps"
|
||||||
|
path="res://.godot/imported/grunk_collection_squelch_v1.wav-0adeabb9ed25feb872e0c90d11bd272d.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/grunk/grunk_collection_squelch_v1.wav"
|
||||||
|
dest_files=["res://.godot/imported/grunk_collection_squelch_v1.wav-0adeabb9ed25feb872e0c90d11bd272d.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/grunk/grunk_collection_squelch_v2.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/grunk/grunk_collection_squelch_v2.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/grunk/grunk_collection_squelch_v2.wav.import
Normal file
24
assets/sfx/grunk/grunk_collection_squelch_v2.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://2dow2fwx2pka"
|
||||||
|
path="res://.godot/imported/grunk_collection_squelch_v2.wav-ab2ea89bb19ecd28593021b2e1deae3f.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/grunk/grunk_collection_squelch_v2.wav"
|
||||||
|
dest_files=["res://.godot/imported/grunk_collection_squelch_v2.wav-ab2ea89bb19ecd28593021b2e1deae3f.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
@ -3,12 +3,12 @@
|
|||||||
importer="wav"
|
importer="wav"
|
||||||
type="AudioStreamWAV"
|
type="AudioStreamWAV"
|
||||||
uid="uid://cj6rj8ujl60e3"
|
uid="uid://cj6rj8ujl60e3"
|
||||||
path="res://.godot/imported/collect2.wav-cf3cbf3e79a99d102ddf430dfdd5dce7.sample"
|
path="res://.godot/imported/old_collect2.wav-de018cd9ffe1f93da753a11c274844f6.sample"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/sfx/tools/collect2.wav"
|
source_file="res://assets/sfx/tools/collect_v0/old_collect2.wav"
|
||||||
dest_files=["res://.godot/imported/collect2.wav-cf3cbf3e79a99d102ddf430dfdd5dce7.sample"]
|
dest_files=["res://.godot/imported/old_collect2.wav-de018cd9ffe1f93da753a11c274844f6.sample"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
@ -3,12 +3,12 @@
|
|||||||
importer="wav"
|
importer="wav"
|
||||||
type="AudioStreamWAV"
|
type="AudioStreamWAV"
|
||||||
uid="uid://cof6pg6yadsac"
|
uid="uid://cof6pg6yadsac"
|
||||||
path="res://.godot/imported/collect5.wav-9560532de8bcb52b4f7fb8f0325d4125.sample"
|
path="res://.godot/imported/old_collect5.wav-7b786be0789247cf4cb23e05606cab6b.sample"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/sfx/tools/collect5.wav"
|
source_file="res://assets/sfx/tools/collect_v0/old_collect5.wav"
|
||||||
dest_files=["res://.godot/imported/collect5.wav-9560532de8bcb52b4f7fb8f0325d4125.sample"]
|
dest_files=["res://.godot/imported/old_collect5.wav-7b786be0789247cf4cb23e05606cab6b.sample"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
@ -3,12 +3,12 @@
|
|||||||
importer="wav"
|
importer="wav"
|
||||||
type="AudioStreamWAV"
|
type="AudioStreamWAV"
|
||||||
uid="uid://bmoel4uoncjgj"
|
uid="uid://bmoel4uoncjgj"
|
||||||
path="res://.godot/imported/pop.wav-a125111ccb70bb530d8a9a1e740af87f.sample"
|
path="res://.godot/imported/pop.wav-81386f04b1599b43fee06e2ba4594d44.sample"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/sfx/tools/pop.wav"
|
source_file="res://assets/sfx/tools/collect_v0/pop.wav"
|
||||||
dest_files=["res://.godot/imported/pop.wav-a125111ccb70bb530d8a9a1e740af87f.sample"]
|
dest_files=["res://.godot/imported/pop.wav-81386f04b1599b43fee06e2ba4594d44.sample"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
BIN
assets/sfx/tools/collect_v1/collect1.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v1/collect1.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v1/collect1.wav.import
Normal file
24
assets/sfx/tools/collect_v1/collect1.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://nyq402onyv1x"
|
||||||
|
path="res://.godot/imported/collect1.wav-4f94139411aa2e022fa512feac945418.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v1/collect1.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect1.wav-4f94139411aa2e022fa512feac945418.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v1/collect2.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v1/collect2.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v1/collect2.wav.import
Normal file
24
assets/sfx/tools/collect_v1/collect2.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://ugwfrswtgat5"
|
||||||
|
path="res://.godot/imported/collect2.wav-f386ae9351d542ec0b99417a1f1e0874.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v1/collect2.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect2.wav-f386ae9351d542ec0b99417a1f1e0874.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v1/collect3.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v1/collect3.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v1/collect3.wav.import
Normal file
24
assets/sfx/tools/collect_v1/collect3.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://buj0k1uj6b7f3"
|
||||||
|
path="res://.godot/imported/collect3.wav-c0683ddd575fd657d1ecab8dc454800c.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v1/collect3.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect3.wav-c0683ddd575fd657d1ecab8dc454800c.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v1/collect4.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v1/collect4.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v1/collect4.wav.import
Normal file
24
assets/sfx/tools/collect_v1/collect4.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://c5mcojd3jbexf"
|
||||||
|
path="res://.godot/imported/collect4.wav-03bceb37d81375575851120b4ca0d6c1.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v1/collect4.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect4.wav-03bceb37d81375575851120b4ca0d6c1.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v1/collect5.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v1/collect5.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v1/collect5.wav.import
Normal file
24
assets/sfx/tools/collect_v1/collect5.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://c33rmsqdhn14b"
|
||||||
|
path="res://.godot/imported/collect5.wav-c295da752a08849bbdf711af715cd2d9.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v1/collect5.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect5.wav-c295da752a08849bbdf711af715cd2d9.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v2/collect1.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v2/collect1.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v2/collect1.wav.import
Normal file
24
assets/sfx/tools/collect_v2/collect1.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://bxwds22nlcjie"
|
||||||
|
path="res://.godot/imported/collect1.wav-cb8eabdf40e61a30c366af21e35be9f4.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v2/collect1.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect1.wav-cb8eabdf40e61a30c366af21e35be9f4.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v2/collect2.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v2/collect2.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v2/collect2.wav.import
Normal file
24
assets/sfx/tools/collect_v2/collect2.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dah5wy8rl1s81"
|
||||||
|
path="res://.godot/imported/collect2.wav-f9c240bb248cdc049e2a144310eee0f1.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v2/collect2.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect2.wav-f9c240bb248cdc049e2a144310eee0f1.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v2/collect3.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v2/collect3.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v2/collect3.wav.import
Normal file
24
assets/sfx/tools/collect_v2/collect3.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://btb80wl6ydd1s"
|
||||||
|
path="res://.godot/imported/collect3.wav-fc8bea0fe9fb6b591c800be27924987f.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v2/collect3.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect3.wav-fc8bea0fe9fb6b591c800be27924987f.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v2/collect4.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v2/collect4.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v2/collect4.wav.import
Normal file
24
assets/sfx/tools/collect_v2/collect4.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://cenvpkawd2dcv"
|
||||||
|
path="res://.godot/imported/collect4.wav-10737777fea54622fa97078f77445de1.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v2/collect4.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect4.wav-10737777fea54622fa97078f77445de1.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v2/collect5.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v2/collect5.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v2/collect5.wav.import
Normal file
24
assets/sfx/tools/collect_v2/collect5.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://bsnodw5vse22q"
|
||||||
|
path="res://.godot/imported/collect5.wav-97a3f3b5538f03de5cff29aa1fb25ab5.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v2/collect5.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect5.wav-97a3f3b5538f03de5cff29aa1fb25ab5.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v2/collect6.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v2/collect6.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v2/collect6.wav.import
Normal file
24
assets/sfx/tools/collect_v2/collect6.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://ehjjm123p877"
|
||||||
|
path="res://.godot/imported/collect6.wav-0a3f3af73ee7d4afb07a73b7868ca8b4.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v2/collect6.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect6.wav-0a3f3af73ee7d4afb07a73b7868ca8b4.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
BIN
assets/sfx/tools/collect_v2/collect7.wav
(Stored with Git LFS)
Normal file
BIN
assets/sfx/tools/collect_v2/collect7.wav
(Stored with Git LFS)
Normal file
Binary file not shown.
24
assets/sfx/tools/collect_v2/collect7.wav.import
Normal file
24
assets/sfx/tools/collect_v2/collect7.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://bmj0kkgqw2dhn"
|
||||||
|
path="res://.godot/imported/collect7.wav-06b124a21541c9f74c9e02d3d676595e.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/tools/collect_v2/collect7.wav"
|
||||||
|
dest_files=["res://.godot/imported/collect7.wav-06b124a21541c9f74c9e02d3d676595e.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
File diff suppressed because one or more lines are too long
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=35 format=4 uid="uid://b8rv6dg4tgaeb"]
|
[gd_scene load_steps=36 format=4 uid="uid://b8rv6dg4tgaeb"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bvua1l2hb3an6" path="res://levels/mechanic_test/mechanic_test.gd" id="1_iyuyb"]
|
[ext_resource type="Script" uid="uid://bvua1l2hb3an6" path="res://levels/mechanic_test/mechanic_test.gd" id="1_iyuyb"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_qjnj2"]
|
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_qjnj2"]
|
||||||
@ -12,6 +12,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://b5jubpjj3d277" path="res://levels/mechanic_test/signal_test.tscn" id="9_ix0jw"]
|
[ext_resource type="PackedScene" uid="uid://b5jubpjj3d277" path="res://levels/mechanic_test/signal_test.tscn" id="9_ix0jw"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/mechanic_test/prop_test.tscn" id="10_xrfi2"]
|
[ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/mechanic_test/prop_test.tscn" id="10_xrfi2"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/mechanic_test/item_test.tscn" id="11_8natv"]
|
[ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/mechanic_test/item_test.tscn" id="11_8natv"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="13_awnx0"]
|
||||||
|
|
||||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_goufh"]
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_goufh"]
|
||||||
|
|
||||||
@ -118,7 +119,7 @@ seamless = true
|
|||||||
seamless_blend_skirt = 0.5
|
seamless_blend_skirt = 0.5
|
||||||
noise = ExtResource("7_7cbja")
|
noise = ExtResource("7_7cbja")
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qjnj2"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_awnx0"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("6_6frcc")
|
shader = ExtResource("6_6frcc")
|
||||||
@ -158,6 +159,7 @@ transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225,
|
|||||||
environment = SubResource("Environment_bg05n")
|
environment = SubResource("Environment_bg05n")
|
||||||
|
|
||||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||||
|
collision_layer = 5
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||||
mesh = SubResource("PlaneMesh_mn2wa")
|
mesh = SubResource("PlaneMesh_mn2wa")
|
||||||
@ -168,6 +170,7 @@ shape = SubResource("WorldBoundaryShape3D_mn2wa")
|
|||||||
|
|
||||||
[node name="ResetPodium" type="StaticBody3D" parent="."]
|
[node name="ResetPodium" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2)
|
||||||
|
collision_layer = 5
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="ResetPodium"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="ResetPodium"]
|
||||||
mesh = SubResource("BoxMesh_goufh")
|
mesh = SubResource("BoxMesh_goufh")
|
||||||
@ -185,6 +188,7 @@ text = "RESET"
|
|||||||
|
|
||||||
[node name="NoduleSpawner" type="StaticBody3D" parent="."]
|
[node name="NoduleSpawner" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 1, -6)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 1, -6)
|
||||||
|
collision_layer = 5
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="NoduleSpawner"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="NoduleSpawner"]
|
||||||
mesh = SubResource("BoxMesh_goufh")
|
mesh = SubResource("BoxMesh_goufh")
|
||||||
@ -222,6 +226,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
|
|||||||
|
|
||||||
[node name="AlarmSpawner" type="StaticBody3D" parent="."]
|
[node name="AlarmSpawner" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1, -6)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1, -6)
|
||||||
|
collision_layer = 5
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmSpawner"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmSpawner"]
|
||||||
mesh = SubResource("BoxMesh_goufh")
|
mesh = SubResource("BoxMesh_goufh")
|
||||||
@ -259,6 +264,7 @@ metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
|||||||
|
|
||||||
[node name="AlarmTrigger" type="StaticBody3D" parent="."]
|
[node name="AlarmTrigger" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1, -6)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1, -6)
|
||||||
|
collision_layer = 5
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmTrigger"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmTrigger"]
|
||||||
mesh = SubResource("BoxMesh_goufh")
|
mesh = SubResource("BoxMesh_goufh")
|
||||||
@ -306,13 +312,14 @@ unique_name_in_owner = true
|
|||||||
body = NodePath("..")
|
body = NodePath("..")
|
||||||
mesh_instance = NodePath("../..")
|
mesh_instance = NodePath("../..")
|
||||||
initial_mask = ExtResource("5_aix42")
|
initial_mask = ExtResource("5_aix42")
|
||||||
source_gunk_material = SubResource("ShaderMaterial_qjnj2")
|
source_gunk_material = SubResource("ShaderMaterial_awnx0")
|
||||||
|
|
||||||
[node name="Bulkhead" parent="." instance=ExtResource("8_ujrcv")]
|
[node name="Bulkhead" parent="." instance=ExtResource("8_ujrcv")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, 0, -2)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, 0, -2)
|
||||||
|
|
||||||
[node name="Podium" type="StaticBody3D" parent="Bulkhead"]
|
[node name="Podium" type="StaticBody3D" parent="Bulkhead"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 0)
|
||||||
|
collision_layer = 5
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium"]
|
||||||
mesh = SubResource("BoxMesh_goufh")
|
mesh = SubResource("BoxMesh_goufh")
|
||||||
@ -331,6 +338,7 @@ text = "Open"
|
|||||||
|
|
||||||
[node name="Podium2" type="StaticBody3D" parent="Bulkhead"]
|
[node name="Podium2" type="StaticBody3D" parent="Bulkhead"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1, 0)
|
||||||
|
collision_layer = 5
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium2"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium2"]
|
||||||
mesh = SubResource("BoxMesh_goufh")
|
mesh = SubResource("BoxMesh_goufh")
|
||||||
@ -366,6 +374,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0, -2)
|
|||||||
|
|
||||||
[node name="ItemTest" parent="ItemTestSpawnPoint" instance=ExtResource("11_8natv")]
|
[node name="ItemTest" parent="ItemTestSpawnPoint" instance=ExtResource("11_8natv")]
|
||||||
|
|
||||||
|
[node name="Listener" parent="." instance=ExtResource("13_awnx0")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.5, 0, -6.5)
|
||||||
|
|
||||||
[connection signal="activated" from="ResetPodium/ResetSwitch" to="." method="reset"]
|
[connection signal="activated" from="ResetPodium/ResetSwitch" to="." method="reset"]
|
||||||
[connection signal="activated" from="NoduleSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_nodule"]
|
[connection signal="activated" from="NoduleSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_nodule"]
|
||||||
[connection signal="activated" from="AlarmSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_alarm"]
|
[connection signal="activated" from="AlarmSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_alarm"]
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://cgwgmxwjgwbwr" path="res://assets/particles/splatter_2.png" id="1_5xu2x"]
|
[ext_resource type="Texture2D" uid="uid://cgwgmxwjgwbwr" path="res://assets/particles/splatter_2.png" id="1_5xu2x"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bhoai6xv53tqm" path="res://assets/particles/splatter_1.png" id="2_bt63p"]
|
[ext_resource type="Texture2D" uid="uid://bhoai6xv53tqm" path="res://assets/particles/splatter_1.png" id="2_bt63p"]
|
||||||
[ext_resource type="Script" uid="uid://di5b65ehsfatj" path="res://src/effects/grunk_splatter/grunk_splatter.gd" id="2_grvat"]
|
[ext_resource type="Script" uid="uid://di5b65ehsfatj" path="res://src/effects/grunk_splatter/grunk_splatter.gd" id="2_grvat"]
|
||||||
[ext_resource type="AudioStream" uid="uid://di0j2xhgfc78s" path="res://assets/sfx/grunk/splat1.wav" id="3_t00bd"]
|
[ext_resource type="AudioStream" uid="uid://dcjt0re7onrvk" path="res://assets/sfx/grunk/grunk_collection_squelch_1_v2.wav" id="4_opa8j"]
|
||||||
[ext_resource type="AudioStream" uid="uid://d1w5gfmjj7tjk" path="res://assets/sfx/grunk/splat2.wav" id="4_2iem1"]
|
|
||||||
[ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="5_2iem1"]
|
[ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="5_2iem1"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://dyokb48axh7tw" path="res://assets/sfx/grunk/grunk_collection_squelch_3_v2.wav" id="5_m7td0"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/grunk_dust/grunk_dust.tscn" id="7_opa8j"]
|
[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/grunk_dust/grunk_dust.tscn" id="7_opa8j"]
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_5xu2x"]
|
[sub_resource type="Gradient" id="Gradient_5xu2x"]
|
||||||
@ -103,8 +103,8 @@ size = Vector2(2, 2)
|
|||||||
playback_mode = 1
|
playback_mode = 1
|
||||||
random_pitch = 1.2
|
random_pitch = 1.2
|
||||||
streams_count = 2
|
streams_count = 2
|
||||||
stream_0/stream = ExtResource("3_t00bd")
|
stream_0/stream = ExtResource("4_opa8j")
|
||||||
stream_1/stream = ExtResource("4_2iem1")
|
stream_1/stream = ExtResource("5_m7td0")
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_6adkd"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_6adkd"]
|
||||||
radius = 2.0
|
radius = 2.0
|
||||||
@ -192,8 +192,6 @@ autostart = true
|
|||||||
[node name="SplatterSFX" type="AudioStreamPlayer3D" parent="."]
|
[node name="SplatterSFX" type="AudioStreamPlayer3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
stream = SubResource("AudioStreamRandomizer_6adkd")
|
stream = SubResource("AudioStreamRandomizer_6adkd")
|
||||||
volume_db = -3.0
|
|
||||||
unit_size = 6.0
|
|
||||||
autoplay = true
|
autoplay = true
|
||||||
bus = &"SFX"
|
bus = &"SFX"
|
||||||
|
|
||||||
|
@ -1,22 +1,42 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://cbtmhu787diev"]
|
[gd_scene load_steps=12 format=3 uid="uid://cbtmhu787diev"]
|
||||||
|
|
||||||
[ext_resource type="AudioStream" uid="uid://bmoel4uoncjgj" path="res://assets/sfx/tools/pop.wav" id="1_y7it3"]
|
[ext_resource type="AudioStream" uid="uid://bxwds22nlcjie" path="res://assets/sfx/tools/collect_v2/collect1.wav" id="1_uq3q4"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://dah5wy8rl1s81" path="res://assets/sfx/tools/collect_v2/collect2.wav" id="2_h5hmg"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://btb80wl6ydd1s" path="res://assets/sfx/tools/collect_v2/collect3.wav" id="3_8ycea"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://cenvpkawd2dcv" path="res://assets/sfx/tools/collect_v2/collect4.wav" id="4_ihwko"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://bsnodw5vse22q" path="res://assets/sfx/tools/collect_v2/collect5.wav" id="5_edpo6"]
|
||||||
[ext_resource type="Script" uid="uid://dwt66u7ua1to4" path="res://src/player/grunk_collection_sfx/grunk_collection_sfx.gd" id="5_ihwko"]
|
[ext_resource type="Script" uid="uid://dwt66u7ua1to4" path="res://src/player/grunk_collection_sfx/grunk_collection_sfx.gd" id="5_ihwko"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://cj6rj8ujl60e3" path="res://assets/sfx/tools/collect_v0/old_collect2.wav" id="6_h5hmg"]
|
||||||
|
|
||||||
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ckb8r"]
|
||||||
|
streams_count = 5
|
||||||
|
stream_0/stream = ExtResource("1_uq3q4")
|
||||||
|
stream_1/stream = ExtResource("2_h5hmg")
|
||||||
|
stream_2/stream = ExtResource("3_8ycea")
|
||||||
|
stream_3/stream = ExtResource("4_ihwko")
|
||||||
|
stream_4/stream = ExtResource("5_edpo6")
|
||||||
|
|
||||||
|
[sub_resource type="AudioStreamSynchronized" id="AudioStreamSynchronized_8ycea"]
|
||||||
|
stream_count = 2
|
||||||
|
stream_0/stream = SubResource("AudioStreamRandomizer_ckb8r")
|
||||||
|
stream_0/volume = 0.0
|
||||||
|
stream_1/stream = ExtResource("6_h5hmg")
|
||||||
|
stream_1/volume = -18.0
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_y7it3"]
|
[sub_resource type="Curve" id="Curve_y7it3"]
|
||||||
_limits = [0.0, 2.4, 0.0, 1.0]
|
_limits = [0.0, 1.2, 0.0, 1.0]
|
||||||
_data = [Vector2(0, 0.3), 0.0, 4.59122, 0, 0, Vector2(0.125, 0.5), 0.0, 0.0, 0, 0, Vector2(0.5, 0.5), 0.0, 0.0, 0, 0, Vector2(1, 1.23259), 5.30372, 0.0, 0, 0]
|
_data = [Vector2(0, 0.5), 0.0, 4.59122, 0, 0, Vector2(0.125, 0.7), 0.342099, 0.342099, 0, 0, Vector2(0.826852, 0.824157), 0.481824, 0.481824, 0, 0, Vector2(1, 1.2), 3.17522, 0.0, 0, 0]
|
||||||
point_count = 4
|
point_count = 4
|
||||||
|
|
||||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_y7it3"]
|
[sub_resource type="FastNoiseLite" id="FastNoiseLite_y7it3"]
|
||||||
|
frequency = 0.024
|
||||||
|
domain_warp_enabled = true
|
||||||
|
|
||||||
[node name="GrunkCollectionSFX" type="AudioStreamPlayer"]
|
[node name="GrunkCollectionSFX" type="AudioStreamPlayer"]
|
||||||
stream = ExtResource("1_y7it3")
|
stream = SubResource("AudioStreamSynchronized_8ycea")
|
||||||
volume_db = -4.0
|
|
||||||
max_polyphony = 3
|
max_polyphony = 3
|
||||||
bus = &"SFX"
|
bus = &"SFX"
|
||||||
script = ExtResource("5_ihwko")
|
script = ExtResource("5_ihwko")
|
||||||
delay_mean = 0.4
|
|
||||||
delay_st_dev = 0.2
|
delay_st_dev = 0.2
|
||||||
base_pitch_curve = SubResource("Curve_y7it3")
|
base_pitch_curve = SubResource("Curve_y7it3")
|
||||||
noise = SubResource("FastNoiseLite_y7it3")
|
noise = SubResource("FastNoiseLite_y7it3")
|
||||||
|
53
src/world/mechanics/listener/band_controller.gd
Normal file
53
src/world/mechanics/listener/band_controller.gd
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
@tool
|
||||||
|
extends Node
|
||||||
|
## Controller for animating gradient bands
|
||||||
|
|
||||||
|
const EPSILON: float = 0.001
|
||||||
|
const MAX_IDX: int = 8
|
||||||
|
const BG_COLOR: Color = Color.BLACK
|
||||||
|
|
||||||
|
@export var band_width := 0.2
|
||||||
|
|
||||||
|
@export var band_1_position := -0.1:
|
||||||
|
set(value):
|
||||||
|
band_1_position = value
|
||||||
|
_set_band_position(1, value, band_1_color)
|
||||||
|
|
||||||
|
@export var band_1_color := Color.RED
|
||||||
|
|
||||||
|
@export var band_2_position := -0.1:
|
||||||
|
set(value):
|
||||||
|
band_2_position = value
|
||||||
|
_set_band_position(4, value, band_2_color)
|
||||||
|
|
||||||
|
@export var band_2_color := Color.RED
|
||||||
|
|
||||||
|
@export var band_3_position := -0.1:
|
||||||
|
set(value):
|
||||||
|
band_3_position = value
|
||||||
|
_set_band_position(7, value, band_3_color)
|
||||||
|
|
||||||
|
@export var band_3_color := Color.RED
|
||||||
|
|
||||||
|
var gradient: Gradient
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
var mesh_instance: MeshInstance3D = get_parent()
|
||||||
|
var material: ShaderMaterial = mesh_instance.get_surface_override_material(1)
|
||||||
|
var gradient_tex: GradientTexture2D = material.get_shader_parameter("overlay_emission")
|
||||||
|
gradient = gradient_tex.gradient
|
||||||
|
|
||||||
|
|
||||||
|
func _clamp_offset(idx: int, value: float) -> float:
|
||||||
|
return clampf(value, 0 + EPSILON * idx, 1 - EPSILON * (MAX_IDX - idx))
|
||||||
|
|
||||||
|
|
||||||
|
func _set_band_position(idx: int, position: float, color: Color) -> void:
|
||||||
|
var width := 0.5 * band_width
|
||||||
|
gradient.set_offset(idx - 1, _clamp_offset(idx - 1, position - width))
|
||||||
|
gradient.set_offset(idx, _clamp_offset(idx, position))
|
||||||
|
gradient.set_offset(idx + 1, _clamp_offset(idx + 1, position + width))
|
||||||
|
gradient.set_color(idx - 1, BG_COLOR)
|
||||||
|
gradient.set_color(idx, color)
|
||||||
|
gradient.set_color(idx + 1, BG_COLOR)
|
1
src/world/mechanics/listener/band_controller.gd.uid
Normal file
1
src/world/mechanics/listener/band_controller.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://cw0vig0h2hpaf
|
@ -12,8 +12,9 @@ const JITTER_INFLATION_FACTOR := 1.1
|
|||||||
|
|
||||||
@onready var cooldown_timer: Timer = %CooldownTimer
|
@onready var cooldown_timer: Timer = %CooldownTimer
|
||||||
@onready var listener_model: ListenerModel = %ListenerModel
|
@onready var listener_model: ListenerModel = %ListenerModel
|
||||||
@onready var ping_animation: AnimationPlayer = %PingAnimation
|
|
||||||
@onready var listener_mesh: MeshInstance3D = $ListenerModel/Armature/Skeleton3D/Listener
|
@onready var listener_mesh: MeshInstance3D = $ListenerModel/Armature/Skeleton3D/Listener
|
||||||
|
@onready var pulse_animation: AnimationPlayer = $ListenerModel/PulseAnimation
|
||||||
|
@onready var glow_effect: GPUParticles3D = %GlowEffect
|
||||||
|
|
||||||
|
|
||||||
func _on_sound_detected(source: Vector3) -> void:
|
func _on_sound_detected(source: Vector3) -> void:
|
||||||
@ -25,7 +26,8 @@ func _on_sound_detected(source: Vector3) -> void:
|
|||||||
|
|
||||||
func trigger() -> void:
|
func trigger() -> void:
|
||||||
# TODO play sfx
|
# TODO play sfx
|
||||||
ping_animation.play("ping")
|
pulse_animation.play("pulse")
|
||||||
|
glow_effect.emitting = true
|
||||||
triggered.emit()
|
triggered.emit()
|
||||||
|
|
||||||
|
|
||||||
@ -40,8 +42,13 @@ func _process(delta: float) -> void:
|
|||||||
|
|
||||||
super._process(delta)
|
super._process(delta)
|
||||||
# TODO actual model & animation
|
# TODO actual model & animation
|
||||||
var shader: ShaderMaterial = listener_mesh.get_surface_override_material(0)
|
|
||||||
var damage := pct_damage()
|
var damage := pct_damage()
|
||||||
shader.set_shader_parameter("jitter_time_scale", pow(damage * JITTER_SCALE_FACTOR, 1.2))
|
var jitter_time_scale := pow(damage * JITTER_SCALE_FACTOR, 1.2)
|
||||||
shader.set_shader_parameter("vertex_inflation", pow(damage * JITTER_INFLATION_FACTOR, 3))
|
var vertex_inflation := pow(damage * JITTER_INFLATION_FACTOR, 3)
|
||||||
|
var shader_1: ShaderMaterial = listener_mesh.get_surface_override_material(0)
|
||||||
|
var shader_2: ShaderMaterial = listener_mesh.get_surface_override_material(1)
|
||||||
|
shader_1.set_shader_parameter("jitter_time_scale", jitter_time_scale)
|
||||||
|
shader_2.set_shader_parameter("jitter_time_scale", jitter_time_scale)
|
||||||
|
shader_1.set_shader_parameter("vertex_inflation", vertex_inflation)
|
||||||
|
shader_2.set_shader_parameter("vertex_inflation", vertex_inflation)
|
||||||
# TODO pulse animation
|
# TODO pulse animation
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
[gd_scene load_steps=25 format=3 uid="uid://kctp5erogwcb"]
|
[gd_scene load_steps=34 format=3 uid="uid://kctp5erogwcb"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bde7cglaqobkd" path="res://src/world/mechanics/listener/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="Script" uid="uid://cfsiyhhrcua6o" path="res://src/world/game_sound/game_sound_listener.gd" id="2_htscg"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c31gdstf55x5" path="res://assets/particles/ping.png" id="3_2ibh1"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c2c0ooj1re3dk" path="res://src/world/mechanics/listener/listener_model.tscn" id="3_r42ft"]
|
[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.gdshader" id="4_pp7wn"]
|
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="4_pp7wn"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="5_c5snp"]
|
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="5_c5snp"]
|
||||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="6_m4i7y"]
|
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="6_m4i7y"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bl1aniu87mioa" path="res://assets/particles/light_02.png" id="7_pp7wn"]
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_2ibh1"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_2ibh1"]
|
||||||
radius = 1.0
|
radius = 1.0
|
||||||
@ -36,7 +36,16 @@ height = 32
|
|||||||
depth = 128
|
depth = 128
|
||||||
noise = SubResource("FastNoiseLite_7fplw")
|
noise = SubResource("FastNoiseLite_7fplw")
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yuift"]
|
[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_pp7wn"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("4_pp7wn")
|
shader = ExtResource("4_pp7wn")
|
||||||
@ -60,287 +69,123 @@ shader_parameter/jitter_time_scale = 0.1
|
|||||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||||
shader_parameter/vertex_inflation = 0.0
|
shader_parameter/vertex_inflation = 0.0
|
||||||
shader_parameter/inflation_pixellation = 10.0
|
shader_parameter/inflation_pixellation = 10.0
|
||||||
shader_parameter/overlay_emission_scale = 1.0
|
shader_parameter/overlay_emission = SubResource("GradientTexture2D_v2pcm")
|
||||||
|
shader_parameter/overlay_emission_scale = 0.02
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2ibh1"]
|
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_pp7wn"]
|
||||||
|
width = 256
|
||||||
|
height = 256
|
||||||
|
depth = 32
|
||||||
|
seamless = true
|
||||||
|
seamless_blend_skirt = 0.5
|
||||||
|
noise = ExtResource("6_m4i7y")
|
||||||
|
|
||||||
|
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_c5snp"]
|
||||||
|
width = 256
|
||||||
|
height = 256
|
||||||
|
depth = 32
|
||||||
|
seamless = true
|
||||||
|
seamless_blend_skirt = 0.5
|
||||||
|
noise = ExtResource("6_m4i7y")
|
||||||
|
|
||||||
|
[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_pp7wn"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
transparency = 3
|
offsets = PackedFloat32Array(0, 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008)
|
||||||
alpha_hash_scale = 1.0
|
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)
|
||||||
alpha_antialiasing_mode = 0
|
|
||||||
|
[sub_resource type="GradientTexture2D" id="GradientTexture2D_c5snp"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
gradient = SubResource("Gradient_pp7wn")
|
||||||
|
width = 32
|
||||||
|
height = 32
|
||||||
|
fill = 1
|
||||||
|
fill_from = Vector2(0.5, 0.5)
|
||||||
|
fill_to = Vector2(1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_m4i7y"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("4_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/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/normal_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_c5snp")
|
||||||
|
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_pp7wn")
|
||||||
|
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_c5snp")
|
||||||
|
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
|
||||||
|
shader_parameter/overlay_emission = SubResource("GradientTexture2D_c5snp")
|
||||||
|
shader_parameter/overlay_emission_scale = 6.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]
|
||||||
|
point_count = 4
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_c5snp"]
|
||||||
|
curve = SubResource("Curve_pp7wn")
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_m4i7y"]
|
||||||
|
offsets = PackedFloat32Array(0, 0.131116, 0.46445, 0.699924, 1)
|
||||||
|
colors = PackedColorArray(0, 0, 0, 1, 1, 0, 0, 1, 0.0429, 0.191235, 0.33, 1, 1, 0, 0, 1, 0, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_yuift"]
|
||||||
|
gradient = SubResource("Gradient_m4i7y")
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_rwi8p"]
|
||||||
|
_data = [Vector2(0, 0), 0.0, 2.42303, 0, 0, Vector2(0.535057, 0.472508), 0.37392, 0.37392, 0, 0, Vector2(1, 1), 3.2153, 0.0, 0, 0]
|
||||||
|
point_count = 3
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_co1mg"]
|
||||||
|
curve = SubResource("Curve_rwi8p")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nqo7i"]
|
||||||
|
angle_min = -360.0
|
||||||
|
angle_max = 360.0
|
||||||
|
angular_velocity_min = 45.0
|
||||||
|
angular_velocity_max = 180.0
|
||||||
|
gravity = Vector3(0, 0, 0)
|
||||||
|
attractor_interaction_enabled = false
|
||||||
|
scale_curve = SubResource("CurveTexture_co1mg")
|
||||||
|
color_ramp = SubResource("GradientTexture1D_yuift")
|
||||||
|
alpha_curve = SubResource("CurveTexture_c5snp")
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_niglb"]
|
||||||
|
transparency = 1
|
||||||
no_depth_test = true
|
no_depth_test = true
|
||||||
shading_mode = 0
|
shading_mode = 0
|
||||||
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
|
vertex_color_use_as_albedo = true
|
||||||
albedo_texture = ExtResource("3_2ibh1")
|
albedo_texture = ExtResource("7_pp7wn")
|
||||||
disable_receive_shadows = true
|
billboard_mode = 3
|
||||||
billboard_mode = 1
|
|
||||||
billboard_keep_scale = true
|
billboard_keep_scale = true
|
||||||
|
particles_anim_h_frames = 1
|
||||||
|
particles_anim_v_frames = 1
|
||||||
|
particles_anim_loop = false
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_r42ft"]
|
[sub_resource type="QuadMesh" id="QuadMesh_r7wib"]
|
||||||
resource_local_to_scene = true
|
material = SubResource("StandardMaterial3D_niglb")
|
||||||
material = SubResource("StandardMaterial3D_2ibh1")
|
size = Vector2(1.4, 1.4)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dqq13"]
|
|
||||||
resource_local_to_scene = true
|
|
||||||
transparency = 3
|
|
||||||
alpha_hash_scale = 1.0
|
|
||||||
alpha_antialiasing_mode = 0
|
|
||||||
no_depth_test = true
|
|
||||||
shading_mode = 0
|
|
||||||
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
|
|
||||||
albedo_texture = ExtResource("3_2ibh1")
|
|
||||||
disable_receive_shadows = true
|
|
||||||
billboard_mode = 1
|
|
||||||
billboard_keep_scale = true
|
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_gjouv"]
|
|
||||||
resource_local_to_scene = true
|
|
||||||
material = SubResource("StandardMaterial3D_dqq13")
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pp7wn"]
|
|
||||||
resource_local_to_scene = true
|
|
||||||
transparency = 3
|
|
||||||
alpha_hash_scale = 1.0
|
|
||||||
alpha_antialiasing_mode = 0
|
|
||||||
no_depth_test = true
|
|
||||||
shading_mode = 0
|
|
||||||
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
|
|
||||||
albedo_texture = ExtResource("3_2ibh1")
|
|
||||||
disable_receive_shadows = true
|
|
||||||
billboard_mode = 1
|
|
||||||
billboard_keep_scale = true
|
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_c5snp"]
|
|
||||||
resource_local_to_scene = true
|
|
||||||
material = SubResource("StandardMaterial3D_pp7wn")
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_dqq13"]
|
|
||||||
length = 0.001
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("Ping1:visible")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("Ping1:scale")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.001, 0.001, 0.001)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("Ping1:mesh:material:albedo_color")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(0.866667, 0.109804, 0.101961, 1)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("Ping2:visible")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("Ping2:scale")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.001, 0.001, 0.001)]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("Ping2:mesh:material:albedo_color")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(0.866667, 0.109804, 0.101961, 1)]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath("Ping3:visible")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("Ping3:scale")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.001, 0.001, 0.001)]
|
|
||||||
}
|
|
||||||
tracks/8/type = "value"
|
|
||||||
tracks/8/imported = false
|
|
||||||
tracks/8/enabled = true
|
|
||||||
tracks/8/path = NodePath("Ping3:mesh:material:albedo_color")
|
|
||||||
tracks/8/interp = 1
|
|
||||||
tracks/8/loop_wrap = true
|
|
||||||
tracks/8/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(0.866667, 0.109804, 0.101961, 1)]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_r42ft"]
|
|
||||||
resource_name = "ping"
|
|
||||||
length = 4.0
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("Ping1:visible")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [true]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("Ping1:scale")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 3.4),
|
|
||||||
"transitions": PackedFloat32Array(0.2, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.001, 0.001, 0.001), Vector3(3, 3, 3)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("Ping1:mesh:material:albedo_color")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.3, 1.4),
|
|
||||||
"transitions": PackedFloat32Array(1.618, 0.618, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(0.866667, 0.109804, 0.101961, 1), Color(0.866667, 0.109804, 0.101961, 1), Color(0.66, 0.08888, 0.0792, 0)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("Ping2:visible")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.3),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false, true]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("Ping2:scale")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.3, 3.7),
|
|
||||||
"transitions": PackedFloat32Array(1, 0.2, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.001, 0.001, 0.001), Vector3(0.001, 0.001, 0.001), Vector3(3, 3, 3)]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("Ping2:mesh:material:albedo_color")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.6, 1.7),
|
|
||||||
"transitions": PackedFloat32Array(1, 0.618, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(0.866667, 0.109804, 0.101961, 1), Color(0.866667, 0.109804, 0.101961, 1), Color(0.66, 0.08888, 0.0792, 0)]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath("Ping3:visible")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.6),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false, true]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("Ping3:scale")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.6, 4),
|
|
||||||
"transitions": PackedFloat32Array(1, 0.2, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.001, 0.001, 0.001), Vector3(0.001, 0.001, 0.001), Vector3(3, 3, 3)]
|
|
||||||
}
|
|
||||||
tracks/8/type = "value"
|
|
||||||
tracks/8/imported = false
|
|
||||||
tracks/8/enabled = true
|
|
||||||
tracks/8/path = NodePath("Ping3:mesh:material:albedo_color")
|
|
||||||
tracks/8/interp = 1
|
|
||||||
tracks/8/loop_wrap = true
|
|
||||||
tracks/8/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.9, 2),
|
|
||||||
"transitions": PackedFloat32Array(1, 0.618, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Color(0.866667, 0.109804, 0.101961, 1), Color(0.866667, 0.109804, 0.101961, 1), Color(0.66, 0.08888, 0.0792, 0)]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dqq13"]
|
|
||||||
_data = {
|
|
||||||
&"RESET": SubResource("Animation_dqq13"),
|
|
||||||
&"ping": SubResource("Animation_r42ft")
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_dqq13"]
|
[sub_resource type="CylinderShape3D" id="CylinderShape3D_dqq13"]
|
||||||
height = 0.28
|
height = 0.28
|
||||||
@ -372,15 +217,59 @@ shape = SubResource("SphereShape3D_2ibh1")
|
|||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
||||||
|
|
||||||
|
[node name="Skeleton3D" parent="ListenerModel/Armature" index="0"]
|
||||||
|
bones/0/rotation = Quaternion(-1.51225e-09, 0.130526, 4.05207e-10, 0.991445)
|
||||||
|
bones/1/rotation = Quaternion(9.2869e-09, 0.130526, -8.10413e-10, 0.991445)
|
||||||
|
bones/2/rotation = Quaternion(-9.1802e-09, 0.130526, -8.10414e-10, 0.991445)
|
||||||
|
bones/3/rotation = Quaternion(6.20905e-09, 0.130526, -4.05206e-10, 0.991445)
|
||||||
|
bones/4/rotation = Quaternion(-8.49624e-09, 0.130526, -9.00455e-11, 0.991445)
|
||||||
|
bones/5/rotation = Quaternion(0.54585, 0.487268, 0.374478, -0.569548)
|
||||||
|
bones/6/rotation = Quaternion(0.308353, 2.1709e-08, 1.30586e-08, 0.951272)
|
||||||
|
bones/7/rotation = Quaternion(0.334237, -0.119529, -0.0427788, 0.9339)
|
||||||
|
bones/8/rotation = Quaternion(0.247978, -2.40337e-10, -3.8454e-09, 0.968766)
|
||||||
|
bones/9/rotation = Quaternion(0.148338, 2.82522e-09, -5.65045e-09, 0.988937)
|
||||||
|
bones/10/rotation = Quaternion(0.237284, 7.34911e-07, -1.96017e-07, 0.97144)
|
||||||
|
bones/11/rotation = Quaternion(0.285481, 0.70676, 0.597232, -0.249609)
|
||||||
|
bones/12/rotation = Quaternion(0.308353, 6.75348e-08, -4.55922e-08, 0.951272)
|
||||||
|
bones/13/rotation = Quaternion(0.334237, -0.119529, -0.0427787, 0.9339)
|
||||||
|
bones/14/rotation = Quaternion(0.247978, 6.91065e-10, -2.79256e-08, 0.968766)
|
||||||
|
bones/15/rotation = Quaternion(0.148338, 7.66861e-08, 9.51493e-08, 0.988937)
|
||||||
|
bones/16/rotation = Quaternion(0.237284, 1.57873e-06, -4.4533e-07, 0.97144)
|
||||||
|
bones/17/rotation = Quaternion(-0.0513825, 0.736877, 0.659958, 0.137212)
|
||||||
|
bones/18/rotation = Quaternion(0.308353, -1.71875e-07, -7.09416e-08, 0.951272)
|
||||||
|
bones/19/rotation = Quaternion(0.334237, -0.119529, -0.0427786, 0.9339)
|
||||||
|
bones/20/rotation = Quaternion(0.247978, -5.53974e-08, -1.69864e-07, 0.968766)
|
||||||
|
bones/21/rotation = Quaternion(0.148338, 4.98196e-08, 2.63702e-07, 0.988937)
|
||||||
|
bones/22/rotation = Quaternion(0.237284, 2.44019e-06, -9.05055e-07, 0.97144)
|
||||||
|
bones/23/rotation = Quaternion(-0.374478, 0.569548, 0.545849, 0.487268)
|
||||||
|
bones/24/rotation = Quaternion(0.308353, -3.56631e-08, -1.14694e-08, 0.951272)
|
||||||
|
bones/25/rotation = Quaternion(0.334237, -0.119529, -0.0427786, 0.9339)
|
||||||
|
bones/26/rotation = Quaternion(0.247978, -6.25756e-08, -2.50967e-07, 0.968766)
|
||||||
|
bones/27/rotation = Quaternion(0.148338, 2.83936e-08, 1.69831e-07, 0.988937)
|
||||||
|
bones/28/rotation = Quaternion(0.237284, 3.38177e-06, -1.02259e-06, 0.97144)
|
||||||
|
bones/29/rotation = Quaternion(-0.597232, 0.249609, 0.285481, 0.70676)
|
||||||
|
bones/30/rotation = Quaternion(0.308353, 2.31089e-09, 1.50606e-08, 0.951272)
|
||||||
|
bones/31/rotation = Quaternion(0.334237, -0.119529, -0.0427785, 0.9339)
|
||||||
|
bones/32/rotation = Quaternion(0.247978, -3.1123e-08, -2.32956e-07, 0.968766)
|
||||||
|
bones/33/rotation = Quaternion(0.148338, 5.29717e-08, 2.76084e-07, 0.988937)
|
||||||
|
bones/34/rotation = Quaternion(0.237284, 4.29037e-06, -1.26097e-06, 0.97144)
|
||||||
|
bones/35/rotation = Quaternion(-0.659958, -0.137212, -0.0513825, 0.736877)
|
||||||
|
bones/36/rotation = Quaternion(0.308353, 3.35578e-09, 4.35599e-09, 0.951272)
|
||||||
|
bones/37/rotation = Quaternion(0.334237, -0.119529, -0.0427785, 0.9339)
|
||||||
|
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"]
|
[node name="Listener" parent="ListenerModel/Armature/Skeleton3D" index="0"]
|
||||||
surface_material_override/0 = SubResource("ShaderMaterial_yuift")
|
surface_material_override/0 = SubResource("ShaderMaterial_pp7wn")
|
||||||
|
surface_material_override/1 = SubResource("ShaderMaterial_m4i7y")
|
||||||
|
|
||||||
[node name="PhysicalBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="ListenerModel/Armature/Skeleton3D" index="6"]
|
[node name="PhysicalBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="ListenerModel/Armature/Skeleton3D" index="6"]
|
||||||
|
|
||||||
[node name="PhysicalBone3D" type="PhysicalBone3D" parent="ListenerModel/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
[node name="PhysicalBone3D" type="PhysicalBone3D" parent="ListenerModel/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||||
transform = Transform3D(0.323526, 1.18154e-06, 1.20741, -1.06742e-08, 1.25, -1.22036e-06, -1.20741, 3.05545e-07, 0.323526, -4.82717e-06, 0.800007, -1.2209e-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, 5.43995e-08, -5.86509e-06, 3.98532e-06)
|
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.3854e-08, -5.72204e-06, 3.9816e-06)
|
||||||
body_offset = Transform3D(1.25, 1.11823e-08, -2.86102e-06, -1.11851e-08, 1.25, -1.23028e-06, 2.86102e-06, 1.23028e-06, 1.25, -6.79879e-08, 7.33137e-06, -4.98164e-06)
|
body_offset = Transform3D(1.25, 3.57627e-07, -3.57628e-07, -3.57627e-07, 1.25, -1.22189e-06, 3.57628e-07, 1.22189e-06, 1.25, -2.9814e-08, 7.15256e-06, -4.97699e-06)
|
||||||
bone_name = "Stem5"
|
bone_name = "Stem5"
|
||||||
|
|
||||||
[node name="RemoteTransform3D" type="RemoteTransform3D" parent="ListenerModel/Armature/Skeleton3D/PhysicalBoneSimulator3D/PhysicalBone3D"]
|
[node name="RemoteTransform3D" type="RemoteTransform3D" parent="ListenerModel/Armature/Skeleton3D/PhysicalBoneSimulator3D/PhysicalBone3D"]
|
||||||
@ -388,41 +277,22 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.235, 0)
|
|||||||
remote_path = NodePath("../../../../../../CollisionShape3D2")
|
remote_path = NodePath("../../../../../../CollisionShape3D2")
|
||||||
update_scale = false
|
update_scale = false
|
||||||
|
|
||||||
[node name="PingEffect" type="Node3D" parent="."]
|
[node name="GlowEffect" type="GPUParticles3D" parent="ListenerModel/Armature/Skeleton3D/PhysicalBoneSimulator3D/PhysicalBone3D/RemoteTransform3D"]
|
||||||
|
|
||||||
[node name="Ping1" type="MeshInstance3D" parent="PingEffect"]
|
|
||||||
transform = Transform3D(0.001, 0, 0, 0, 0.001, 0, 0, 0, 0.001, 0, 0, 0)
|
|
||||||
visible = false
|
|
||||||
sorting_offset = 9999.0
|
|
||||||
mesh = SubResource("QuadMesh_r42ft")
|
|
||||||
skeleton = NodePath("../..")
|
|
||||||
|
|
||||||
[node name="Ping2" type="MeshInstance3D" parent="PingEffect"]
|
|
||||||
transform = Transform3D(0.001, 0, 0, 0, 0.001, 0, 0, 0, 0.001, 0, 0, 0)
|
|
||||||
visible = false
|
|
||||||
sorting_offset = 9999.0
|
|
||||||
mesh = SubResource("QuadMesh_gjouv")
|
|
||||||
skeleton = NodePath("../..")
|
|
||||||
|
|
||||||
[node name="Ping3" type="MeshInstance3D" parent="PingEffect"]
|
|
||||||
transform = Transform3D(0.001, 0, 0, 0, 0.001, 0, 0, 0, 0.001, 0, 0, 0)
|
|
||||||
visible = false
|
|
||||||
sorting_offset = 9999.0
|
|
||||||
mesh = SubResource("QuadMesh_c5snp")
|
|
||||||
skeleton = NodePath("../..")
|
|
||||||
|
|
||||||
[node name="PingAnimation" type="AnimationPlayer" parent="PingEffect"]
|
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
libraries = {
|
emitting = false
|
||||||
&"": SubResource("AnimationLibrary_dqq13")
|
amount = 2
|
||||||
}
|
one_shot = true
|
||||||
|
explosiveness = 0.8
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_nqo7i")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_r7wib")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.14, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.14, 0)
|
||||||
shape = SubResource("CylinderShape3D_dqq13")
|
shape = SubResource("CylinderShape3D_dqq13")
|
||||||
|
|
||||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(0.258816, 9.45216e-07, 0.96591, -8.53918e-09, 0.999981, -9.76275e-07, -0.965905, 2.44431e-07, 0.258817, -3.63961e-06, 0.875006, -9.19278e-07)
|
transform = Transform3D(0.258814, 1.01046e-06, 0.96591, -2.85687e-07, 0.999981, -9.69562e-07, -0.965905, -2.50122e-08, 0.258815, -3.61278e-06, 0.875006, -1.01113e-06)
|
||||||
shape = SubResource("CylinderShape3D_r42ft")
|
shape = SubResource("CylinderShape3D_r42ft")
|
||||||
|
|
||||||
[node name="CooldownTimer" type="Timer" parent="."]
|
[node name="CooldownTimer" type="Timer" parent="."]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
class_name ListenerModel extends Node3D
|
class_name ListenerModel extends Node3D
|
||||||
## Model controller for the Grunk Listener
|
## Model controller for the Grunk Listener
|
||||||
|
|
||||||
const TARGET_ACCELERATION := 8.0
|
const TARGET_ACCELERATION := 3.0
|
||||||
|
|
||||||
var ik_influence := 0.0:
|
var ik_influence := 0.0:
|
||||||
set = _set_ik_influence
|
set = _set_ik_influence
|
||||||
|
@ -1,12 +1,143 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://c2c0ooj1re3dk"]
|
[gd_scene load_steps=34 format=3 uid="uid://c2c0ooj1re3dk"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://coucghe370fff" path="res://assets/grunk/listener/listener.gltf" id="1_lgdkx"]
|
[ext_resource type="PackedScene" uid="uid://coucghe370fff" path="res://assets/grunk/listener/listener.gltf" id="1_lgdkx"]
|
||||||
[ext_resource type="Script" uid="uid://co4gkdwyhdbmc" path="res://src/world/mechanics/listener/listener_model.gd" id="2_yh3g4"]
|
[ext_resource type="Script" uid="uid://co4gkdwyhdbmc" path="res://src/world/mechanics/listener/listener_model.gd" id="2_yh3g4"]
|
||||||
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_xijsm"]
|
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="4_q7kpl"]
|
||||||
[ext_resource type="Animation" uid="uid://dihyn82xf67ou" path="res://assets/grunk/listener/animations/RESET.res" id="4_y4jww"]
|
[ext_resource type="Animation" uid="uid://dihyn82xf67ou" path="res://assets/grunk/listener/animations/RESET.res" id="4_y4jww"]
|
||||||
[ext_resource type="Animation" uid="uid://c236lo5xytxaa" path="res://assets/grunk/listener/animations/idle.res" id="5_3vskp"]
|
[ext_resource type="Animation" uid="uid://c236lo5xytxaa" path="res://assets/grunk/listener/animations/idle.res" id="5_3vskp"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="5_6cdu3"]
|
||||||
|
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="6_ftf52"]
|
||||||
[ext_resource type="Animation" uid="uid://bujor2i5icw8c" path="res://assets/grunk/listener/animations/close.res" id="6_ghw47"]
|
[ext_resource type="Animation" uid="uid://bujor2i5icw8c" path="res://assets/grunk/listener/animations/close.res" id="6_ghw47"]
|
||||||
|
[ext_resource type="Script" uid="uid://cw0vig0h2hpaf" path="res://src/world/mechanics/listener/band_controller.gd" id="7_6cdu3"]
|
||||||
[ext_resource type="Animation" uid="uid://c4juq6vxnnxbe" path="res://assets/grunk/listener/animations/open.res" id="7_c25ju"]
|
[ext_resource type="Animation" uid="uid://c4juq6vxnnxbe" path="res://assets/grunk/listener/animations/open.res" id="7_c25ju"]
|
||||||
|
[ext_resource type="Script" uid="uid://ctyyoh8qiyf8t" path="res://src/world/mechanics/listener/ping_band_controller.gd" id="7_ftf52"]
|
||||||
|
|
||||||
|
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
|
||||||
|
width = 256
|
||||||
|
height = 256
|
||||||
|
depth = 32
|
||||||
|
seamless = true
|
||||||
|
seamless_blend_skirt = 0.5
|
||||||
|
noise = ExtResource("6_ftf52")
|
||||||
|
|
||||||
|
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
|
||||||
|
width = 256
|
||||||
|
height = 256
|
||||||
|
depth = 32
|
||||||
|
seamless = true
|
||||||
|
seamless_blend_skirt = 0.5
|
||||||
|
noise = ExtResource("6_ftf52")
|
||||||
|
|
||||||
|
[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_u8t4w"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("4_q7kpl")
|
||||||
|
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/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/normal_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_6cdu3")
|
||||||
|
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||||
|
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||||
|
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
|
||||||
|
shader_parameter/overlay_emission = SubResource("GradientTexture2D_v2pcm")
|
||||||
|
shader_parameter/overlay_emission_scale = 0.02
|
||||||
|
|
||||||
|
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_pp7wn"]
|
||||||
|
width = 256
|
||||||
|
height = 256
|
||||||
|
depth = 32
|
||||||
|
seamless = true
|
||||||
|
seamless_blend_skirt = 0.5
|
||||||
|
noise = ExtResource("6_ftf52")
|
||||||
|
|
||||||
|
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_c5snp"]
|
||||||
|
width = 256
|
||||||
|
height = 256
|
||||||
|
depth = 32
|
||||||
|
seamless = true
|
||||||
|
seamless_blend_skirt = 0.5
|
||||||
|
noise = ExtResource("6_ftf52")
|
||||||
|
|
||||||
|
[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_6cdu3"]
|
||||||
|
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_6cdu3"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
gradient = SubResource("Gradient_6cdu3")
|
||||||
|
width = 32
|
||||||
|
height = 32
|
||||||
|
fill = 1
|
||||||
|
fill_from = Vector2(0.5, 0.5)
|
||||||
|
fill_to = Vector2(1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ftf52"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("4_q7kpl")
|
||||||
|
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
|
||||||
|
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
|
||||||
|
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
|
||||||
|
shader_parameter/pixellation = 128.0
|
||||||
|
shader_parameter/time_pixellation = 30.0
|
||||||
|
shader_parameter/roughness = 0.15
|
||||||
|
shader_parameter/specular_contribution = 0.8
|
||||||
|
shader_parameter/emission_strength = 0.2
|
||||||
|
shader_parameter/normal_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_6cdu3")
|
||||||
|
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_pp7wn")
|
||||||
|
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_c5snp")
|
||||||
|
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
|
||||||
|
shader_parameter/overlay_emission = SubResource("GradientTexture2D_6cdu3")
|
||||||
|
shader_parameter/overlay_emission_scale = 6.0
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ghw47"]
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ghw47"]
|
||||||
_data = {
|
_data = {
|
||||||
@ -21,6 +152,128 @@ _data = {
|
|||||||
&"open": ExtResource("7_c25ju")
|
&"open": ExtResource("7_c25ju")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_q7kpl"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Armature/Skeleton3D/Listener/BandController:band_1_position")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [-0.1]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Armature/Skeleton3D/Listener/BandController:band_2_position")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [-0.1]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("Armature/Skeleton3D/Listener/BandController:band_3_position")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [-0.1]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_ftf52"]
|
||||||
|
resource_name = "pulse"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Armature/Skeleton3D/Listener/BandController:band_1_position")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.4, 0.9),
|
||||||
|
"transitions": PackedFloat32Array(1, 0.3, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [-0.1, -0.1, 1.0]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Armature/Skeleton3D/Listener/BandController:band_2_position")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.266666, 0.766666),
|
||||||
|
"transitions": PackedFloat32Array(1, 0.3, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [-0.1, -0.1, 1.0]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("Armature/Skeleton3D/Listener/BandController:band_3_position")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.133333, 0.633333),
|
||||||
|
"transitions": PackedFloat32Array(1, 0.3, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [-0.1, -0.1, 1.0]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ih22n"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_q7kpl"),
|
||||||
|
&"pulse": SubResource("Animation_ftf52")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_ih22n"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Armature/Skeleton3D/Listener/PingBandController:band_position")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [-0.1]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_6cdu3"]
|
||||||
|
resource_name = "ping"
|
||||||
|
length = 8.0
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Armature/Skeleton3D/Listener/PingBandController:band_position")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = false
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 6),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [1.2, -0.2]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v2pcm"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_ih22n"),
|
||||||
|
&"ping": SubResource("Animation_6cdu3")
|
||||||
|
}
|
||||||
|
|
||||||
[node name="ListenerModel" instance=ExtResource("1_lgdkx")]
|
[node name="ListenerModel" instance=ExtResource("1_lgdkx")]
|
||||||
script = ExtResource("2_yh3g4")
|
script = ExtResource("2_yh3g4")
|
||||||
|
|
||||||
@ -68,7 +321,15 @@ 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)
|
bones/40/rotation = Quaternion(0.237284, 5.07144e-06, -1.68211e-06, 0.97144)
|
||||||
|
|
||||||
[node name="Listener" parent="Armature/Skeleton3D" index="0"]
|
[node name="Listener" parent="Armature/Skeleton3D" index="0"]
|
||||||
surface_material_override/0 = ExtResource("3_xijsm")
|
surface_material_override/0 = SubResource("ShaderMaterial_u8t4w")
|
||||||
|
surface_material_override/1 = SubResource("ShaderMaterial_ftf52")
|
||||||
|
|
||||||
|
[node name="BandController" type="Node" parent="Armature/Skeleton3D/Listener" index="0"]
|
||||||
|
script = ExtResource("7_6cdu3")
|
||||||
|
|
||||||
|
[node name="PingBandController" type="Node" parent="Armature/Skeleton3D/Listener" index="1"]
|
||||||
|
script = ExtResource("7_ftf52")
|
||||||
|
band_color = Color(0.25098, 0.878431, 1, 1)
|
||||||
|
|
||||||
[node name="StemIK1" type="LookAtModifier3D" parent="Armature/Skeleton3D" index="1"]
|
[node name="StemIK1" type="LookAtModifier3D" parent="Armature/Skeleton3D" index="1"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@ -78,7 +339,7 @@ bone_name = "Stem1"
|
|||||||
bone = 0
|
bone = 0
|
||||||
forward_axis = 2
|
forward_axis = 2
|
||||||
primary_rotation_axis = 0
|
primary_rotation_axis = 0
|
||||||
duration = 0.2
|
duration = 0.3
|
||||||
transition_type = 1
|
transition_type = 1
|
||||||
ease_type = 1
|
ease_type = 1
|
||||||
use_angle_limitation = true
|
use_angle_limitation = true
|
||||||
@ -96,7 +357,7 @@ bone_name = "Stem2"
|
|||||||
bone = 1
|
bone = 1
|
||||||
forward_axis = 2
|
forward_axis = 2
|
||||||
primary_rotation_axis = 0
|
primary_rotation_axis = 0
|
||||||
duration = 0.2
|
duration = 0.3
|
||||||
transition_type = 1
|
transition_type = 1
|
||||||
ease_type = 1
|
ease_type = 1
|
||||||
use_angle_limitation = true
|
use_angle_limitation = true
|
||||||
@ -114,7 +375,7 @@ bone_name = "Stem3"
|
|||||||
bone = 2
|
bone = 2
|
||||||
forward_axis = 2
|
forward_axis = 2
|
||||||
primary_rotation_axis = 0
|
primary_rotation_axis = 0
|
||||||
duration = 0.2
|
duration = 0.3
|
||||||
transition_type = 1
|
transition_type = 1
|
||||||
ease_type = 1
|
ease_type = 1
|
||||||
use_angle_limitation = true
|
use_angle_limitation = true
|
||||||
@ -132,7 +393,7 @@ bone_name = "Stem4"
|
|||||||
bone = 3
|
bone = 3
|
||||||
forward_axis = 2
|
forward_axis = 2
|
||||||
primary_rotation_axis = 0
|
primary_rotation_axis = 0
|
||||||
duration = 0.2
|
duration = 0.3
|
||||||
transition_type = 1
|
transition_type = 1
|
||||||
ease_type = 1
|
ease_type = 1
|
||||||
use_angle_limitation = true
|
use_angle_limitation = true
|
||||||
@ -150,7 +411,7 @@ bone_name = "Stem5"
|
|||||||
bone = 4
|
bone = 4
|
||||||
forward_axis = 2
|
forward_axis = 2
|
||||||
primary_rotation_axis = 0
|
primary_rotation_axis = 0
|
||||||
duration = 0.2
|
duration = 0.3
|
||||||
transition_type = 1
|
transition_type = 1
|
||||||
ease_type = 1
|
ease_type = 1
|
||||||
use_angle_limitation = true
|
use_angle_limitation = true
|
||||||
@ -177,3 +438,14 @@ unique_name_in_owner = true
|
|||||||
libraries = {
|
libraries = {
|
||||||
&"": SubResource("AnimationLibrary_5lsre")
|
&"": SubResource("AnimationLibrary_5lsre")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="PulseAnimation" type="AnimationPlayer" parent="." index="5"]
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_ih22n")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="PingLoop" type="AnimationPlayer" parent="." index="6"]
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_v2pcm")
|
||||||
|
}
|
||||||
|
autoplay = "ping"
|
||||||
|
38
src/world/mechanics/listener/ping_band_controller.gd
Normal file
38
src/world/mechanics/listener/ping_band_controller.gd
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
@tool
|
||||||
|
extends Node
|
||||||
|
# Controller for the band position for the "ping" effect
|
||||||
|
|
||||||
|
const EPSILON: float = 0.001
|
||||||
|
const MAX_IDX: int = 2
|
||||||
|
const BG_COLOR: Color = Color.BLACK
|
||||||
|
|
||||||
|
@export var band_position := -0.1:
|
||||||
|
set(value):
|
||||||
|
band_position = value
|
||||||
|
_set_band_position(1, value)
|
||||||
|
|
||||||
|
@export var head_width := 0.01
|
||||||
|
@export var tail_width := 0.15
|
||||||
|
@export var band_color := Color.WHITE
|
||||||
|
|
||||||
|
var gradient: Gradient
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
var mesh_instance: MeshInstance3D = get_parent()
|
||||||
|
var material: ShaderMaterial = mesh_instance.get_surface_override_material(0)
|
||||||
|
var gradient_tex: GradientTexture2D = material.get_shader_parameter("overlay_emission")
|
||||||
|
gradient = gradient_tex.gradient
|
||||||
|
|
||||||
|
|
||||||
|
func _clamp_offset(idx: int, value: float) -> float:
|
||||||
|
return clampf(value, 0 + EPSILON * idx, 1 - EPSILON * (MAX_IDX - idx))
|
||||||
|
|
||||||
|
|
||||||
|
func _set_band_position(idx: int, position: float) -> void:
|
||||||
|
gradient.set_offset(idx + 1, _clamp_offset(idx + 1, position + tail_width))
|
||||||
|
gradient.set_offset(idx, _clamp_offset(idx, position))
|
||||||
|
gradient.set_offset(idx - 1, _clamp_offset(idx - 1, position - head_width))
|
||||||
|
gradient.set_color(idx + 1, BG_COLOR)
|
||||||
|
gradient.set_color(idx, band_color)
|
||||||
|
gradient.set_color(idx - 1, BG_COLOR)
|
1
src/world/mechanics/listener/ping_band_controller.gd.uid
Normal file
1
src/world/mechanics/listener/ping_band_controller.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://ctyyoh8qiyf8t
|
74
utilities/compute_shader_sandbox/compute_shader_sandbox.gd
Normal file
74
utilities/compute_shader_sandbox/compute_shader_sandbox.gd
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
@export var mask_texture: Texture2D
|
||||||
|
|
||||||
|
var shader: RID
|
||||||
|
var pipeline: RID
|
||||||
|
var output_buffer: PackedByteArray
|
||||||
|
|
||||||
|
var output_uniform: RDUniform
|
||||||
|
var texture_uniform: RDUniform
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
RenderingServer.call_on_render_thread(init_compute_shader)
|
||||||
|
|
||||||
|
|
||||||
|
func init_compute_shader() -> void:
|
||||||
|
# Rendering device handle
|
||||||
|
var rd := RenderingServer.get_rendering_device()
|
||||||
|
# Load shader
|
||||||
|
var shader_file: RDShaderFile = load("res://utilities/compute_shader_sandbox/compute_sum.glsl")
|
||||||
|
# Compile shader
|
||||||
|
shader = rd.shader_create_from_spirv(shader_file.get_spirv())
|
||||||
|
# Create pipeline
|
||||||
|
pipeline = rd.compute_pipeline_create(shader)
|
||||||
|
|
||||||
|
# Build output buffer uniform
|
||||||
|
output_buffer = PackedInt32Array([0]).to_byte_array()
|
||||||
|
var storage_buffer := rd.storage_buffer_create(output_buffer.size(), output_buffer)
|
||||||
|
output_uniform = RDUniform.new()
|
||||||
|
output_uniform.uniform_type = RenderingDevice.UNIFORM_TYPE_STORAGE_BUFFER
|
||||||
|
output_uniform.binding = 0
|
||||||
|
output_uniform.add_id(storage_buffer)
|
||||||
|
|
||||||
|
# Build texture uniform
|
||||||
|
texture_uniform = RDUniform.new()
|
||||||
|
texture_uniform.uniform_type = RenderingDevice.UNIFORM_TYPE_IMAGE
|
||||||
|
texture_uniform.binding = 1
|
||||||
|
|
||||||
|
var tex_view := RDTextureView.new()
|
||||||
|
var tex_fmt := RDTextureFormat.new()
|
||||||
|
tex_fmt.width = 64
|
||||||
|
tex_fmt.height = 64
|
||||||
|
tex_fmt.format = RenderingDevice.DATA_FORMAT_R8_UINT
|
||||||
|
tex_fmt.usage_bits = (
|
||||||
|
RenderingDevice.TEXTURE_USAGE_STORAGE_BIT + RenderingDevice.TEXTURE_USAGE_SAMPLING_BIT
|
||||||
|
)
|
||||||
|
var image := mask_texture.get_image()
|
||||||
|
image.convert(Image.FORMAT_R8)
|
||||||
|
var texture := rd.texture_create(tex_fmt, tex_view, [image.get_data()])
|
||||||
|
texture_uniform.add_id(texture)
|
||||||
|
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
RenderingServer.call_on_render_thread(dispatch_compute)
|
||||||
|
|
||||||
|
# Get result
|
||||||
|
var out_data := output_buffer.to_int32_array()
|
||||||
|
print(out_data)
|
||||||
|
|
||||||
|
|
||||||
|
func dispatch_compute() -> void:
|
||||||
|
# Rendering device handle
|
||||||
|
var rd := RenderingServer.get_rendering_device()
|
||||||
|
|
||||||
|
# Prepare shader context
|
||||||
|
var uniform_set := rd.uniform_set_create([output_uniform, texture_uniform], shader, 0)
|
||||||
|
|
||||||
|
# Bind context
|
||||||
|
var compute_list := rd.compute_list_begin()
|
||||||
|
rd.compute_list_bind_compute_pipeline(compute_list, pipeline)
|
||||||
|
rd.compute_list_bind_uniform_set(compute_list, uniform_set, 0)
|
||||||
|
rd.compute_list_dispatch(compute_list, 32, 32, 1)
|
||||||
|
rd.compute_list_end()
|
@ -0,0 +1 @@
|
|||||||
|
uid://bpkwaloqvlvod
|
@ -0,0 +1,8 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://ywmbsmw2em5n"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bpkwaloqvlvod" path="res://utilities/compute_shader_sandbox/compute_shader_sandbox.gd" id="1_0g1hn"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://wqqwtmtmp147" path="res://levels/ghost_ship/level/mess_hall/overhead_light_mask_C.png" id="2_ckeim"]
|
||||||
|
|
||||||
|
[node name="ComputeShaderSandbox" type="Node"]
|
||||||
|
script = ExtResource("1_0g1hn")
|
||||||
|
mask_texture = ExtResource("2_ckeim")
|
19
utilities/compute_shader_sandbox/compute_sum.glsl
Normal file
19
utilities/compute_shader_sandbox/compute_sum.glsl
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#[compute]
|
||||||
|
#version 450
|
||||||
|
|
||||||
|
layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in;
|
||||||
|
|
||||||
|
layout(set = 0, binding = 0, std430) restrict buffer outputBuffer {
|
||||||
|
uint sum_value;
|
||||||
|
} out_data;
|
||||||
|
|
||||||
|
|
||||||
|
layout(set = 0, binding = 1, r8ui) uniform readonly uimage2D inputTexture;
|
||||||
|
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
ivec2 uv = ivec2(gl_GlobalInvocationID.xy);
|
||||||
|
uint value = imageLoad(inputTexture, uv).r + 1;
|
||||||
|
out_data.sum_value = atomicAdd(out_data.sum_value, value);
|
||||||
|
//out_data.sum_value += value;
|
||||||
|
}
|
14
utilities/compute_shader_sandbox/compute_sum.glsl.import
Normal file
14
utilities/compute_shader_sandbox/compute_sum.glsl.import
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="glsl"
|
||||||
|
type="RDShaderFile"
|
||||||
|
uid="uid://bc34sy37cdf6k"
|
||||||
|
path="res://.godot/imported/compute_sum.glsl-65c025c095b2ca4b78b25d3c010d401d.res"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://utilities/compute_shader_sandbox/compute_sum.glsl"
|
||||||
|
dest_files=["res://.godot/imported/compute_sum.glsl-65c025c095b2ca4b78b25d3c010d401d.res"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
4
vault/.obsidian/core-plugins.json
vendored
4
vault/.obsidian/core-plugins.json
vendored
@ -27,5 +27,7 @@
|
|||||||
"file-recovery": true,
|
"file-recovery": true,
|
||||||
"publish": false,
|
"publish": false,
|
||||||
"sync": false,
|
"sync": false,
|
||||||
"webviewer": false
|
"webviewer": false,
|
||||||
|
"footnotes": false,
|
||||||
|
"bases": true
|
||||||
}
|
}
|
@ -15,6 +15,7 @@
|
|||||||
- `#001a4d` Grunk Blue <mark style="font-weight: bold; background: #fff; color: #001a4d;">SAMPLE</mark>
|
- `#001a4d` Grunk Blue <mark style="font-weight: bold; background: #fff; color: #001a4d;">SAMPLE</mark>
|
||||||
- `#00081a` Grunk Dark Blue <mark style="font-weight: bold; background: #fff; color: #00081a;">SAMPLE</mark>
|
- `#00081a` Grunk Dark Blue <mark style="font-weight: bold; background: #fff; color: #00081a;">SAMPLE</mark>
|
||||||
- `#40e0ff` Grunk Emission Cyan <mark style="font-weight: bold; background: #000; color: #40e0ff;">SAMPLE</mark>
|
- `#40e0ff` Grunk Emission Cyan <mark style="font-weight: bold; background: #000; color: #40e0ff;">SAMPLE</mark>
|
||||||
|
- `#fada00` Grunk Psionics Yellow <mark style="font-weight: bold; background: #000; color: #fada00;">SAMPLE</mark>
|
||||||
## World
|
## World
|
||||||
(using [PAPER 8 PALETTE](https://lospec.com/palette-list/paper-8))
|
(using [PAPER 8 PALETTE](https://lospec.com/palette-list/paper-8))
|
||||||
- `#1f244b` Tech Shadow <mark style="font-weight: bold; background: #fff; color: #1f244b;">SAMPLE</mark>
|
- `#1f244b` Tech Shadow <mark style="font-weight: bold; background: #fff; color: #1f244b;">SAMPLE</mark>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user