Compare commits

...

10 commits
Test ... master

39 changed files with 6754 additions and 365 deletions

2
.gitignore vendored
View file

@ -13,3 +13,5 @@ android/
.venv/
.vscode
bin
override.cfg
addons/godot-git-plugin/win64/~libgit_plugin.windows.editor.x86_64.dll

View file

@ -6,4 +6,4 @@ cull_mode = 2
albedo_color = Color(0.906332, 0.836398, 0.446766, 1)
roughness = 0.5
emission_enabled = true
emission = Color(0.741793, 0.548567, 0.129865, 1)
emission = Color(1.8, 1.6, 0, 1)

View file

@ -2,12 +2,10 @@
[resource]
resource_name = "Glass.001"
transparency = 4
transparency = 1
cull_mode = 2
albedo_color = Color(1, 1, 1, 0.144)
albedo_color = Color(1, 1, 1, 0.148)
metallic = 1.0
metallic_specular = 0.55
roughness = 0.33
clearcoat_enabled = true
anisotropy = 0.7
refraction_scale = 0.37
metallic_specular = 1.0
rim_enabled = true
rim_tint = 0.55

File diff suppressed because it is too large Load diff

View file

@ -1836,11 +1836,11 @@ _subresources={
"materials": {
"Emission": {
"use_external/enabled": true,
"use_external/path": "res://assets/Emission.tres"
"use_external/path": "res://assets/Materials/Emission.tres"
},
"Glass.001": {
"use_external/enabled": true,
"use_external/path": "res://assets/Glass.001.tres"
"use_external/path": "res://assets/Materials/Glass.001.tres"
}
}
}

BIN
assets/boombap.ogg Normal file

Binary file not shown.

19
assets/boombap.ogg.import Normal file
View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://iquu0ttk5ib1"
path="res://.godot/imported/boombap.ogg-87f100dad48530603cd8a71c6b152bfc.oggvorbisstr"
[deps]
source_file="res://assets/boombap.ogg"
dest_files=["res://.godot/imported/boombap.ogg-87f100dad48530603cd8a71c6b152bfc.oggvorbisstr"]
[params]
loop=true
loop_offset=0.0
bpm=140.0
beat_count=0
bar_beats=4

BIN
assets/crash.ogg Normal file

Binary file not shown.

19
assets/crash.ogg.import Normal file
View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://chh3mqdtd3nw4"
path="res://.godot/imported/crash.ogg-b1191c6b92c1b51c76cfcb881e83d310.oggvorbisstr"
[deps]
source_file="res://assets/crash.ogg"
dest_files=["res://.godot/imported/crash.ogg-b1191c6b92c1b51c76cfcb881e83d310.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View file

@ -15,10 +15,6 @@ func _ready() -> void:
$"Flask/Star_003".mesh.surface_set_material(0, material)
$AnimationPlayer.play("HeartAction")
$AnimationPlayer.play("StarAction")
$AnimationPlayer.play("StarAction_001")
$AnimationPlayer.play("StarAction_002")
$AnimationPlayer.play("StarAction_003")
func _on_target_1_occupancy_changed(value: float) -> void:
material.emission_energy_multiplier = value * 10

View file

@ -1,5 +1,11 @@
[gd_scene load_steps=2 format=3 uid="uid://bgh4fmqrhb0cs"]
[ext_resource type="PackedScene" uid="uid://ewhlayr70v2l" path="res://assets/Star bulb.glb" id="1_onaud"]
[ext_resource type="PackedScene" uid="uid://ewhlayr70v2l" path="res://assets/Models/Star bulb.glb" id="1_onaud"]
[node name="Star bulb" instance=ExtResource("1_onaud")]
[node name="Star Bulb" parent="." index="0"]
layers = 4
[node name="Star" parent="Star Bulb" index="0"]
layers = 4

View file

@ -5,10 +5,18 @@ var material: StandardMaterial3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
var mat = $"Star Bulb".mesh.surface_get_material(1)
# Duplicate meshes and materials
var star_bulb = $"Star Bulb"
var star = $"Star Bulb/Star"
star_bulb.mesh = star_bulb.mesh.duplicate()
star.mesh = star.mesh.duplicate()
var mat = star_bulb.mesh.surface_get_material(1)
material = mat.duplicate()
$"Star Bulb".mesh.surface_set_material(1, material)
$"Star Bulb/Star".mesh.surface_set_material(0, material)
star_bulb.mesh.surface_set_material(1, material)
star.mesh.surface_set_material(0, material)
$AnimationPlayer.play("StarAction")

View file

@ -1,42 +1,26 @@
[gd_scene load_steps=8 format=3 uid="uid://5yw5sbkwj0qk"]
[gd_scene load_steps=6 format=3 uid="uid://5yw5sbkwj0qk"]
[ext_resource type="Script" path="res://scenes/target.gd" id="1_kdcb3"]
[ext_resource type="AudioStream" uid="uid://cv0f1tu5pac60" path="res://assets/Sounds/02 midpiano.ogg" id="2_thrll"]
[ext_resource type="AudioStream" uid="uid://dnwh2iqwi86ku" path="res://assets/Sounds/04 bass.ogg" id="2_xtxs5"]
[ext_resource type="PackedScene" uid="uid://cp2i64bioqppu" path="res://assets/love_potion.tscn" id="3_l1kad"]
[ext_resource type="Script" path="res://assets/love_potion_target.gd" id="4_6owuw"]
[sub_resource type="BoxShape3D" id="BoxShape3D_2pv4i"]
[sub_resource type="BoxMesh" id="BoxMesh_tp0p7"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mjtav"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
size = Vector3(0.8, 0.8, 0.8)
[node name="Target1" type="StaticBody3D" groups=["targets"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.91143, 3.59885, -3.13788)
script = ExtResource("1_kdcb3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_2pv4i")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
visible = false
layers = 4
mesh = SubResource("BoxMesh_tp0p7")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_mjtav")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("2_thrll")
stream = ExtResource("2_xtxs5")
volume_db = -80.0
autoplay = true
[node name="Love Potion" parent="." instance=ExtResource("3_l1kad")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.330896, 0)
script = ExtResource("4_6owuw")
[connection signal="occupancy_changed" from="." to="Love Potion" method="_on_target_1_occupancy_changed"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=8 format=3 uid="uid://yqgq7gjbu72p"]
[gd_scene load_steps=6 format=3 uid="uid://yqgq7gjbu72p"]
[ext_resource type="Script" path="res://scenes/target.gd" id="1_8ktrr"]
[ext_resource type="AudioStream" uid="uid://cqb1bo72232vs" path="res://assets/Sounds/03 highpiano.ogg" id="2_hpxkg"]
@ -6,32 +6,14 @@
[ext_resource type="Script" path="res://assets/star_bulb_target.gd" id="4_5igaa"]
[sub_resource type="BoxShape3D" id="BoxShape3D_2pv4i"]
[sub_resource type="BoxMesh" id="BoxMesh_tp0p7"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mjtav"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
size = Vector3(0.8, 0.8, 0.8)
[node name="Target1" type="StaticBody3D" groups=["targets"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.91143, 3.59885, -3.13788)
script = ExtResource("1_8ktrr")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_2pv4i")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
visible = false
layers = 4
mesh = SubResource("BoxMesh_tp0p7")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_mjtav")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("2_hpxkg")
volume_db = -80.0

View file

@ -9,7 +9,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="bin/Sneeditorium.exe"
export_path="bin/Syneed.exe"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
@ -31,7 +31,7 @@ codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PackedStringArray()
application/modify_resources=true
application/modify_resources=false
application/icon=""
application/console_wrapper_icon=""
application/icon_interpolation=4

View file

@ -10,8 +10,8 @@ config_version=5
[application]
config/name="Sneeditorium"
config/description="gpu particle system puzzle game."
config/name="Syneed"
config/description="Formerly Sneeditorium's. gpu particle system puzzle game."
config/version="0.1"
run/main_scene="res://demo_staging.tscn"
config/features=PackedStringArray("4.3")

View file

@ -80,7 +80,16 @@ func check_puzzle_completion(delta: float) -> void:
_completion_timer += delta
if _completion_timer >= completion_time:
_puzzle_complete = true
print("puzzle completed")
puzzle_completed.emit()
force_drop_and_disable_manipulators()
else:
_completion_timer = 0.0
# Force drop and disable all manipulators when puzzle is complete
func force_drop_and_disable_manipulators():
var manipulators = get_tree().get_nodes_in_group("manipulators")
for manipulator in manipulators:
manipulator.drop()
manipulator.enabled = false

View file

@ -45,3 +45,9 @@ layout_mode = 2
text = "Valentine"
script = ExtResource("2_4d80g")
scene_path = "res://scenes/valentine_scene/valentine_scene.tscn"
[node name="SceneSelect5" type="Button" parent="MarginContainer/VBoxContainer" groups=["scene_button"]]
layout_mode = 2
text = "Pipes"
script = ExtResource("2_4d80g")
scene_path = "res://scenes/pipes_scene/pipes_scene.tscn"

View file

@ -0,0 +1,38 @@
[gd_resource type="ParticleProcessMaterial" load_steps=5 format=3 uid="uid://db6gxv4sns4ex"]
[sub_resource type="Gradient" id="Gradient_0ygfi"]
colors = PackedColorArray(0.720471, 0.182584, 0.797749, 1, 1, 1, 3, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_e428v"]
gradient = SubResource("Gradient_0ygfi")
use_hdr = true
[sub_resource type="Curve" id="Curve_g0jsu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.905229, 0.968574), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_qnerq"]
curve = SubResource("Curve_g0jsu")
[resource]
resource_local_to_scene = true
emission_shape = 3
emission_box_extents = Vector3(0.1, 0.1, 0.1)
spread = 0.0
initial_velocity_min = 1.0
initial_velocity_max = 1.0
gravity = Vector3(0, 0, 0)
damping_min = 0.05
damping_max = 0.05
scale_max = 1.3
scale_curve = SubResource("CurveTexture_qnerq")
color = Color(0.848753, 0.313913, 0.294879, 1)
color_ramp = SubResource("GradientTexture1D_e428v")
hue_variation_min = -0.1
hue_variation_max = 0.1
turbulence_noise_scale = 6.228
turbulence_influence_min = 0.01
turbulence_influence_max = 0.01
collision_mode = 1
collision_friction = 1.0
collision_bounce = 0.0

View file

@ -0,0 +1,11 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://1gk8yvunqk7d"]
[resource]
shading_mode = 2
vertex_color_use_as_albedo = true
vertex_color_is_srgb = true
emission_enabled = true
emission = Color(2, 1.335, 0.166, 1)
emission_energy_multiplier = 4.89
disable_receive_shadows = true
use_particle_trails = true

View file

@ -0,0 +1,26 @@
[remap]
importer="3d_texture"
type="CompressedTexture3D"
uid="uid://dlrcjkwxa2rud"
path="res://.godot/imported/pipes_scene.GPUParticlesCollisionSDF3D_data.exr-a8a34a9db7e4fd16a2ab5cced5e5bb22.ctex3d"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/pipes_scene/pipes_scene.GPUParticlesCollisionSDF3D_data.exr"
dest_files=["res://.godot/imported/pipes_scene.GPUParticlesCollisionSDF3D_data.exr-a8a34a9db7e4fd16a2ab5cced5e5bb22.ctex3d"]
[params]
compress/mode=3
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/channel_pack=1
mipmaps/generate=false
mipmaps/limit=-1
slices/horizontal=1
slices/vertical=64

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,43 @@
[gd_scene load_steps=8 format=3 uid="uid://b47wuj6l7jcer"]
[ext_resource type="Script" path="res://scenes/target.gd" id="1_yma8k"]
[ext_resource type="AudioStream" uid="uid://cqb1bo72232vs" path="res://assets/Sounds/03 highpiano.ogg" id="2_pbmr6"]
[ext_resource type="PackedScene" uid="uid://bgh4fmqrhb0cs" path="res://assets/star_bulb.tscn" id="3_mq1le"]
[ext_resource type="Script" path="res://assets/star_bulb_target.gd" id="4_1tttv"]
[sub_resource type="BoxShape3D" id="BoxShape3D_2pv4i"]
[sub_resource type="BoxMesh" id="BoxMesh_tp0p7"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mjtav"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
[node name="Target1" type="StaticBody3D" groups=["targets"]]
script = ExtResource("1_yma8k")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_2pv4i")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
visible = false
layers = 4
mesh = SubResource("BoxMesh_tp0p7")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_mjtav")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("2_pbmr6")
volume_db = -80.0
autoplay = true
[node name="Star bulb" parent="." instance=ExtResource("3_mq1le")]
transform = Transform3D(1.3, 0, 0, 0, 1.3, 0, 0, 0, 1.3, 0, -0.542325, 0)
script = ExtResource("4_1tttv")
[connection signal="occupancy_changed" from="." to="Star bulb" method="_on_target_1_occupancy_changed"]

View file

@ -23,7 +23,7 @@ func _ready() -> void:
func _process(delta: float) -> void:
_current_occupancy = lerp(_current_occupancy, _target_occupancy, lerp_speed * delta)
if mesh:
var material = mesh.get_surface_override_material(0)
if material:
material.emission_energy_multiplier = _current_occupancy * 10

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=45 format=3 uid="uid://bd86thqpujh3p"]
[gd_scene load_steps=38 format=3 uid="uid://bd86thqpujh3p"]
[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/scene_base.gd" id="1_t86sx"]
[ext_resource type="Script" path="res://scenes/base_game_scene.gd" id="1_243qh"]
[ext_resource type="PackedScene" uid="uid://7uc6tf2tvn1k" path="res://scenes/xr_origin_3d.tscn" id="2_xk21l"]
[ext_resource type="PackedScene" uid="uid://clc5dre31iskm" path="res://addons/godot-xr-tools/xr/start_xr.tscn" id="3_hdcpx"]
[ext_resource type="Environment" uid="uid://c1yf8e4qr42hr" path="res://scenes/environment.tres" id="3_v4538"]
@ -9,13 +9,12 @@
[ext_resource type="CompressedTexture3D" uid="uid://c6uya54wegrle" path="res://scenes/title_scene/title_scene.GPUParticlesCollisionSDF3D_data.exr" id="6_l378m"]
[ext_resource type="PackedScene" uid="uid://rsrnbs08nv1n" path="res://scenes/collisions/proxy_collision_detector.tscn" id="7_1kkxh"]
[ext_resource type="Script" path="res://scenes/performance_settings/voxel_gi_toggle.gd" id="7_4p11s"]
[ext_resource type="PackedScene" uid="uid://c20kawop2lrv" path="res://assets/Models/Arcane Source 2.glb" id="8_h17hj"]
[ext_resource type="Script" path="res://scenes/target.gd" id="11_7oif6"]
[ext_resource type="AudioStream" uid="uid://dnwh2iqwi86ku" path="res://assets/Sounds/04 bass.ogg" id="12_8dki8"]
[ext_resource type="AudioStream" uid="uid://cv0f1tu5pac60" path="res://assets/Sounds/02 midpiano.ogg" id="13_6bsa0"]
[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="13_ab6mb"]
[ext_resource type="AudioStream" uid="uid://cqb1bo72232vs" path="res://assets/Sounds/03 highpiano.ogg" id="14_8b4v6"]
[ext_resource type="PackedScene" uid="uid://cyd8poa47ir2i" path="res://scenes/performance_settings/performance_settings_menu.tscn" id="14_s5dwy"]
[ext_resource type="PackedScene" uid="uid://b47wuj6l7jcer" path="res://scenes/star_bulb_target.tscn" id="17_3djum"]
[ext_resource type="PackedScene" uid="uid://bu0fu4uiwyu65" path="res://scenes/win_particles.tscn" id="17_68lw0"]
[ext_resource type="PackedScene" uid="uid://bifpsyvpcem3a" path="res://scenes/manipulator/manipulator.tscn" id="17_uqqr1"]
[ext_resource type="PackedScene" uid="uid://ccmx5v2601k8q" path="res://scenes/manipulator/visual_attractor_sphere.tscn" id="18_qmvne"]
[ext_resource type="PackedScene" uid="uid://cibwlfqvmirgb" path="res://scenes/ambient_particles.tscn" id="19_dlo8s"]
@ -42,7 +41,7 @@ roughness = 0.27
[sub_resource type="TextMesh" id="TextMesh_6owc4"]
material = SubResource("StandardMaterial3D_tm3oq")
text = "Sneed"
text = "Syneed"
font_size = 36
pixel_size = 0.1
depth = 0.5
@ -106,39 +105,6 @@ cap_top = false
cap_bottom = false
curve = SubResource("Curve_y0yng")
[sub_resource type="BoxShape3D" id="BoxShape3D_gofwq"]
[sub_resource type="BoxMesh" id="BoxMesh_0cc1r"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_m6mak"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sffkp"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
[sub_resource type="BoxMesh" id="BoxMesh_ootr5"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o8q0i"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
[sub_resource type="PrismMesh" id="PrismMesh_be80n"]
size = Vector3(0.2, 0.2, 0.2)
@ -150,7 +116,9 @@ emission = Color(0.208505, 0.70691, 0.626474, 1)
shading_mode = 0
[node name="TitleScene" type="Node3D"]
script = ExtResource("1_t86sx")
script = ExtResource("1_243qh")
completion_threshold = 0.2
completion_time = 2.0
[node name="XROrigin3D" parent="." instance=ExtResource("2_xk21l")]
@ -193,19 +161,17 @@ shape = SubResource("BoxShape3D_jwkgy")
mesh = SubResource("PlaneMesh_gsjte")
[node name="Title" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, -10.1744)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.59344, -10.1744)
mesh = SubResource("TextMesh_6owc4")
[node name="Arcane Source 2" parent="." instance=ExtResource("8_h17hj")]
transform = Transform3D(0.837576, 0, 0.546321, 0, 1, 0, -0.546321, 0, 0.837576, -3.43117, -0.0137267, -5.21196)
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.38227, 3.47531, -13.7485)
light_energy = 1.308
light_energy = 2.097
light_bake_mode = 1
light_cull_mask = 4294443007
shadow_enabled = true
omni_range = 14.8072
omni_attenuation = 0.93
metadata/_edit_lock_ = true
[node name="ProxyCollisionDetector" parent="." instance=ExtResource("7_1kkxh")]
@ -231,60 +197,6 @@ trail_lifetime = 0.5
process_material = SubResource("ParticleProcessMaterial_y126y")
draw_pass_1 = SubResource("TubeTrailMesh_xiw4w")
[node name="Target1" type="StaticBody3D" parent="." groups=["targets"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.31548, 4.27292, -10.1667)
script = ExtResource("11_7oif6")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Target1"]
shape = SubResource("BoxShape3D_gofwq")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target1"]
layers = 4
mesh = SubResource("BoxMesh_0cc1r")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_m6mak")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Target1"]
stream = ExtResource("14_8b4v6")
volume_db = -80.0
autoplay = true
[node name="Target2" type="StaticBody3D" parent="." groups=["targets"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.21807, 4.27292, -10.0553)
script = ExtResource("11_7oif6")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Target2"]
shape = SubResource("BoxShape3D_gofwq")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target2"]
layers = 4
mesh = SubResource("BoxMesh_0cc1r")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_sffkp")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Target2"]
stream = ExtResource("13_6bsa0")
volume_db = -80.0
autoplay = true
[node name="Target3" type="StaticBody3D" parent="." groups=["targets"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.005826, 1.90465, -9.1875)
script = ExtResource("11_7oif6")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Target3"]
shape = SubResource("BoxShape3D_gofwq")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target3"]
layers = 4
mesh = SubResource("BoxMesh_ootr5")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_o8q0i")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Target3"]
stream = ExtResource("12_8dki8")
volume_db = -80.0
autoplay = true
[node name="Manipulator0" parent="." instance=ExtResource("17_uqqr1")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.63926, -9.75923)
@ -310,9 +222,33 @@ surface_material_override/0 = SubResource("StandardMaterial3D_hyt1m")
[node name="AmbientParticles" parent="." instance=ExtResource("19_dlo8s")]
[node name="LevelSelect3D" parent="." instance=ExtResource("13_ab6mb")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -2.95677, 1.44193, -4.49419)
transform = Transform3D(0.813314, 0, 0.581825, 0, 1, 0, -0.581825, 0, 0.813314, -5.18917, 1.44193, -3.00804)
screen_size = Vector2(2, 2)
scene = ExtResource("20_b65a1")
viewport_size = Vector2(200, 200)
material = SubResource("StandardMaterial3D_6y3wb")
scene_properties_keys = PackedStringArray()
[node name="WinParticles" parent="." instance=ExtResource("17_68lw0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, -8)
[node name="Target4" parent="." instance=ExtResource("17_3djum")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.31548, 4.27292, -10.1667)
[node name="Target5" parent="." instance=ExtResource("17_3djum")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.21807, 4.27292, -10.0553)
[node name="AudioStreamPlayer3D" parent="Target5" index="2"]
stream = ExtResource("13_6bsa0")
[node name="Target6" parent="." instance=ExtResource("17_3djum")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.005826, 1.90465, -9.1875)
[node name="AudioStreamPlayer3D" parent="Target6" index="2"]
stream = ExtResource("12_8dki8")
[connection signal="puzzle_completed" from="." to="WinParticles" method="_on_puzzle_completed"]
[editable path="Target4"]
[editable path="Target5"]
[editable path="Target6"]

View file

@ -1,13 +1,11 @@
[gd_scene load_steps=24 format=3 uid="uid://dqbxp72mjmbc"]
[gd_scene load_steps=19 format=3 uid="uid://dqbxp72mjmbc"]
[ext_resource type="PackedScene" uid="uid://1rwj4eq63xgb" path="res://scenes/tutorial_scenes/tutorial_scene_base.tscn" id="1_lkcbi"]
[ext_resource type="VoxelGIData" uid="uid://nuw3xyd4kkpq" path="res://scenes/tutorial_scenes/tutorial_scene_1.VoxelGI_data.res" id="2_4e4av"]
[ext_resource type="PackedScene" uid="uid://bifpsyvpcem3a" path="res://scenes/manipulator/manipulator.tscn" id="3_pgrk8"]
[ext_resource type="PackedScene" uid="uid://ccmx5v2601k8q" path="res://scenes/manipulator/visual_attractor_sphere.tscn" id="4_05xwa"]
[ext_resource type="Script" path="res://scenes/target.gd" id="5_46vbo"]
[ext_resource type="AudioStream" uid="uid://cqb1bo72232vs" path="res://assets/Sounds/03 highpiano.ogg" id="6_bxnqe"]
[ext_resource type="PackedScene" uid="uid://bgh4fmqrhb0cs" path="res://assets/star_bulb.tscn" id="7_aq638"]
[ext_resource type="Script" path="res://assets/star_bulb_target.gd" id="8_ipvvg"]
[ext_resource type="PackedScene" uid="uid://b47wuj6l7jcer" path="res://scenes/star_bulb_target.tscn" id="5_g0pjq"]
[ext_resource type="PackedScene" uid="uid://bu0fu4uiwyu65" path="res://scenes/win_particles.tscn" id="9_31knv"]
[sub_resource type="Gradient" id="Gradient_0ygfi"]
colors = PackedColorArray(0.720471, 0.182584, 0.797749, 1, 1, 1, 3, 1)
@ -95,19 +93,6 @@ size = Vector3(0.2, 0.2, 0.2)
emission_enabled = true
emission = Color(0.208505, 0.70691, 0.626474, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_2pv4i"]
[sub_resource type="BoxMesh" id="BoxMesh_tp0p7"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mjtav"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
[node name="TutorialSceneBase" instance=ExtResource("1_lkcbi")]
[node name="VoxelGI" parent="." index="4"]
@ -156,27 +141,10 @@ mesh = SubResource("PrismMesh_f1dje")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_vyhi3")
[node name="Target1" type="StaticBody3D" parent="." index="18" groups=["targets"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.91143, 3.59885, -3.13788)
script = ExtResource("5_46vbo")
[node name="Target1" parent="." index="18" instance=ExtResource("5_g0pjq")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.521359, 3.59335, -3.06702)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Target1" index="0"]
shape = SubResource("BoxShape3D_2pv4i")
[node name="WinParticles" parent="." index="20" instance=ExtResource("9_31knv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, -3)
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target1" index="1"]
visible = false
layers = 4
mesh = SubResource("BoxMesh_tp0p7")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_mjtav")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Target1" index="2"]
stream = ExtResource("6_bxnqe")
volume_db = -80.0
autoplay = true
[node name="Star bulb" parent="Target1" index="3" instance=ExtResource("7_aq638")]
transform = Transform3D(1.3, 0, 0, 0, 1.3, 0, 0, 0, 1.3, 0, -0.542325, 0)
script = ExtResource("8_ipvvg")
[connection signal="occupancy_changed" from="Target1" to="Target1/Star bulb" method="_on_target_1_occupancy_changed"]
[connection signal="puzzle_completed" from="." to="WinParticles" method="_on_puzzle_completed"]

View file

@ -1,12 +1,12 @@
[gd_scene load_steps=25 format=3 uid="uid://wnfi7j3dmjl"]
[gd_scene load_steps=20 format=3 uid="uid://wnfi7j3dmjl"]
[ext_resource type="PackedScene" uid="uid://1rwj4eq63xgb" path="res://scenes/tutorial_scenes/tutorial_scene_base.tscn" id="1_ef0x7"]
[ext_resource type="VoxelGIData" uid="uid://nhfw6m8oc1hi" path="res://scenes/tutorial_scenes/tutorial_scene_2.VoxelGI_data.res" id="2_eyu4w"]
[ext_resource type="PackedScene" uid="uid://bifpsyvpcem3a" path="res://scenes/manipulator/manipulator.tscn" id="3_00eva"]
[ext_resource type="PackedScene" uid="uid://ccmx5v2601k8q" path="res://scenes/manipulator/visual_attractor_sphere.tscn" id="4_5h7mx"]
[ext_resource type="Script" path="res://scenes/target.gd" id="5_nrhx8"]
[ext_resource type="AudioStream" uid="uid://cqb1bo72232vs" path="res://assets/Sounds/03 highpiano.ogg" id="6_8qjxs"]
[ext_resource type="AudioStream" uid="uid://cv0f1tu5pac60" path="res://assets/Sounds/02 midpiano.ogg" id="7_bmi33"]
[ext_resource type="PackedScene" uid="uid://b47wuj6l7jcer" path="res://scenes/star_bulb_target.tscn" id="5_rw8un"]
[ext_resource type="PackedScene" uid="uid://bu0fu4uiwyu65" path="res://scenes/win_particles.tscn" id="6_5uqih"]
[ext_resource type="AudioStream" uid="uid://cv0f1tu5pac60" path="res://assets/Sounds/02 midpiano.ogg" id="6_goelp"]
[sub_resource type="Gradient" id="Gradient_0ygfi"]
colors = PackedColorArray(0.720471, 0.182584, 0.797749, 1, 1, 1, 3, 1)
@ -73,30 +73,6 @@ size = Vector3(0.2, 0.2, 0.2)
emission_enabled = true
emission = Color(0.208505, 0.70691, 0.626474, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_5cvp1"]
[sub_resource type="BoxMesh" id="BoxMesh_swij7"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w1uvt"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
[sub_resource type="BoxMesh" id="BoxMesh_cvybi"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jqpsb"]
transparency = 1
albedo_color = Color(1, 1, 1, 0.3)
emission_enabled = true
emission = Color(1, 1, 1, 1)
emission_energy_multiplier = 0.61
rim = 0.38
refraction_scale = 0.88
[sub_resource type="TextMesh" id="TextMesh_gt0jy"]
text = "the
target"
@ -161,41 +137,14 @@ mesh = SubResource("PrismMesh_vebbs")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_6o2tn")
[node name="Target1" type="StaticBody3D" parent="." index="15" groups=["targets"]]
[node name="Target3" parent="." index="15" instance=ExtResource("5_rw8un")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.599, -6.182)
script = ExtResource("5_nrhx8")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Target1" index="0"]
shape = SubResource("BoxShape3D_5cvp1")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target1" index="1"]
layers = 4
mesh = SubResource("BoxMesh_swij7")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_w1uvt")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Target1" index="2"]
stream = ExtResource("6_8qjxs")
volume_db = -80.0
autoplay = true
[node name="Target2" type="StaticBody3D" parent="." index="16" groups=["targets"]]
[node name="Target1" parent="." index="16" instance=ExtResource("5_rw8un")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.85112, -4.45978)
script = ExtResource("5_nrhx8")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Target2" index="0"]
shape = SubResource("BoxShape3D_5cvp1")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target2" index="1"]
layers = 4
mesh = SubResource("BoxMesh_cvybi")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_jqpsb")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Target2" index="2"]
stream = ExtResource("7_bmi33")
volume_db = -80.0
autoplay = true
[node name="AudioStreamPlayer3D" parent="Target1" index="2"]
stream = ExtResource("6_goelp")
[node name="TheTarget" type="MeshInstance3D" parent="." index="17"]
transform = Transform3D(0.996969, 0, -0.0777979, 0, 1, 0, 0.0777979, 0, 0.996969, -1.65468, 2.00334, -4.59936)
@ -205,6 +154,14 @@ mesh = SubResource("TextMesh_gt0jy")
transform = Transform3D(0.996969, 0, -0.0777979, 0, 1, 0, 0.0777979, 0, 0.996969, -1.53939, 3.57846, -6.22573)
mesh = SubResource("TextMesh_tfnjp")
[node name="LevelSelect" type="MeshInstance3D" parent="." index="20"]
[node name="WinParticles" parent="." index="20" instance=ExtResource("6_5uqih")]
transform = Transform3D(0.933054, 0, 0.359736, 0, 1, 0, -0.359736, 0, 0.933054, 0, 5, -3.5)
[node name="LevelSelect" type="MeshInstance3D" parent="." index="21"]
transform = Transform3D(0.933054, 0, 0.359736, 0, 1, 0, -0.359736, 0, 0.933054, -3.68075, 2.72605, -4.01316)
mesh = SubResource("TextMesh_jioxp")
[connection signal="puzzle_completed" from="." to="WinParticles" method="_on_puzzle_completed"]
[editable path="Target3"]
[editable path="Target1"]

View file

@ -102,6 +102,10 @@ shape = SubResource("BoxShape3D_jwkgy")
[node name="Floor" type="MeshInstance3D" parent="."]
mesh = SubResource("PlaneMesh_gsjte")
[node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Floor"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
size = Vector3(10, 0.1, 10)
[node name="SpotLight3D" type="SpotLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.571688, 0.820471, 0, -0.820471, 0.571688, 0, 4.06392, -0.511663)
shadow_enabled = true

View file

@ -19,8 +19,8 @@ resource_local_to_scene = true
emission_shape = 3
emission_box_extents = Vector3(0.1, 0.1, 0.1)
spread = 0.0
initial_velocity_min = 1.0
initial_velocity_max = 1.0
initial_velocity_min = 1.5
initial_velocity_max = 1.5
gravity = Vector3(0, 0, 0)
damping_min = 0.05
damping_max = 0.05
@ -34,5 +34,5 @@ turbulence_noise_scale = 6.228
turbulence_influence_min = 0.01
turbulence_influence_max = 0.01
collision_mode = 1
collision_friction = 0.06
collision_bounce = 1.0
collision_friction = 1.0
collision_bounce = 0.0

View file

@ -1,10 +1,10 @@
[gd_scene load_steps=44 format=4 uid="uid://4hr2m5ibwhpy"]
[gd_scene load_steps=41 format=4 uid="uid://4hr2m5ibwhpy"]
[ext_resource type="Script" path="res://scenes/base_game_scene.gd" id="1_fbwwc"]
[ext_resource type="PackedScene" uid="uid://7uc6tf2tvn1k" path="res://scenes/xr_origin_3d.tscn" id="2_i3vfe"]
[ext_resource type="PackedScene" uid="uid://clc5dre31iskm" path="res://addons/godot-xr-tools/xr/start_xr.tscn" id="3_d0uvh"]
[ext_resource type="PackedScene" uid="uid://57q7hhomocdh" path="res://addons/godot-xr-tools/objects/world_grab_area.tscn" id="4_54g2v"]
[ext_resource type="VoxelGIData" uid="uid://bxphdae7hohsh" path="res://scenes/title_scene/title_scene.VoxelGI_data.res" id="8_qelii"]
[ext_resource type="VoxelGIData" uid="uid://buf7pi8wefjwt" path="res://scenes/valentine_scene/valentine_scene.VoxelGI_data.res" id="5_lo6fo"]
[ext_resource type="Script" path="res://scenes/performance_settings/voxel_gi_toggle.gd" id="9_busdy"]
[ext_resource type="Environment" uid="uid://c1yf8e4qr42hr" path="res://scenes/environment.tres" id="10_wr4yd"]
[ext_resource type="PackedScene" uid="uid://c20kawop2lrv" path="res://assets/Models/Arcane Source 2.glb" id="11_1bcu4"]
@ -13,12 +13,14 @@
[ext_resource type="TubeTrailMesh" uid="uid://cs018yg173f03" path="res://scenes/valentine_scene/new_tube_trail_mesh.tres" id="12_qbtqr"]
[ext_resource type="Material" uid="uid://b4vq6ouyv64bx" path="res://scenes/valentine_scene/new_particle_process_material.tres" id="13_0sy3c"]
[ext_resource type="PackedScene" uid="uid://yqgq7gjbu72p" path="res://assets/target_star_bulb.tscn" id="15_0akd8"]
[ext_resource type="AudioStream" uid="uid://cv0f1tu5pac60" path="res://assets/Sounds/02 midpiano.ogg" id="15_rsyhe"]
[ext_resource type="PackedScene" uid="uid://bifpsyvpcem3a" path="res://scenes/manipulator/manipulator.tscn" id="18_wecvv"]
[ext_resource type="PackedScene" uid="uid://cibwlfqvmirgb" path="res://scenes/ambient_particles.tscn" id="19_ssw3h"]
[ext_resource type="PackedScene" uid="uid://ccmx5v2601k8q" path="res://scenes/manipulator/visual_attractor_sphere.tscn" id="19_xjpkb"]
[ext_resource type="PackedScene" uid="uid://bch40cmi2hgkl" path="res://assets/Models/Pipes.glb" id="20_dn0uk"]
[ext_resource type="PackedScene" uid="uid://g4esih4vcves" path="res://scenes/level_select_3d.tscn" id="20_l6q7q"]
[ext_resource type="Texture2D" uid="uid://c6chhj2jhli1w" path="res://assets/Models/Pipes_Pipe_Base_color.png" id="21_5tu01"]
[ext_resource type="PackedScene" uid="uid://bu0fu4uiwyu65" path="res://scenes/win_particles.tscn" id="21_xyf8w"]
[ext_resource type="PackedScene" uid="uid://5yw5sbkwj0qk" path="res://assets/target_love_potion.tscn" id="22_edujp"]
[sub_resource type="BoxShape3D" id="BoxShape3D_gj4t1"]
@ -34,43 +36,6 @@ albedo_color = Color(0.563626, 0.563626, 0.563625, 1)
material = SubResource("StandardMaterial3D_lvd12")
size = Vector2(100, 100)
[sub_resource type="Gradient" id="Gradient_0ygfi"]
colors = PackedColorArray(0.720471, 0.182584, 0.797749, 1, 1, 1, 3, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_e428v"]
gradient = SubResource("Gradient_0ygfi")
use_hdr = true
[sub_resource type="Curve" id="Curve_g0jsu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.905229, 0.968574), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_qnerq"]
curve = SubResource("Curve_g0jsu")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_efdjr"]
resource_local_to_scene = true
emission_shape = 3
emission_box_extents = Vector3(0.1, 0.1, 0.1)
spread = 0.0
initial_velocity_min = 1.0
initial_velocity_max = 1.0
gravity = Vector3(0, 0, 0)
damping_min = 0.05
damping_max = 0.05
scale_max = 1.3
scale_curve = SubResource("CurveTexture_qnerq")
color = Color(0.288256, 0.558565, 0.665093, 1)
color_ramp = SubResource("GradientTexture1D_e428v")
hue_variation_min = -0.1
hue_variation_max = 0.1
turbulence_noise_scale = 6.228
turbulence_influence_min = 0.01
turbulence_influence_max = 0.01
collision_mode = 1
collision_friction = 0.06
collision_bounce = 1.0
[sub_resource type="PrismMesh" id="PrismMesh_be80n"]
size = Vector3(0.2, 0.2, 0.2)
@ -282,6 +247,7 @@ shadow_mesh = SubResource("ArrayMesh_p4r60")
[node name="ValentineScene" type="Node3D"]
script = ExtResource("1_fbwwc")
completion_threshold = 0.4
[node name="XROrigin3D" parent="." instance=ExtResource("2_i3vfe")]
@ -298,7 +264,7 @@ shape = SubResource("BoxShape3D_gj4t1")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.4, -3.27626)
subdiv = 0
size = Vector3(10, 5, 10)
data = ExtResource("8_qelii")
data = ExtResource("5_lo6fo")
script = ExtResource("9_busdy")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
@ -320,12 +286,15 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0,
mesh = SubResource("PlaneMesh_gsjte")
[node name="SpotLight3D" type="SpotLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.571688, 0.820471, 0, -0.820471, 0.571688, 0, 4.06392, -0.511663)
transform = Transform3D(1, 0, 0, 0, 0.629158, 0.777278, 0, -0.777278, 0.629158, 0, 4.06392, -0.511663)
light_color = Color(0.938193, 0.801023, 0.819717, 1)
shadow_enabled = true
spot_range = 40.0
spot_attenuation = 0.32
spot_angle = 78.21
[node name="Arcane Source 2" parent="." instance=ExtResource("11_1bcu4")]
transform = Transform3D(-3.27835e-08, 0, -0.75, 0, 0.75, 0, 0.75, 0, -3.27835e-08, 3.33249, 0, -2.02237)
transform = Transform3D(-3.27835e-08, 0, -0.75, 0, 0.75, 0, 0.75, 0, -3.27835e-08, 4.59749, 0, -2.02237)
[node name="ProxyCollisionDetector" parent="." instance=ExtResource("12_8ub4t")]
source_particles_paths = Array[NodePath]([NodePath("../GPUParticles3D"), NodePath("../GPUParticles3D2")])
@ -341,21 +310,21 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.40364, 1.523, -2.03293)
cast_shadow = 0
gi_mode = 2
amount = 500
lifetime = 6.75
lifetime = 4.8
randomness = 0.18
visibility_aabb = AABB(-100, -100, -100, 200, 200, 200)
transform_align = 2
trail_enabled = true
trail_lifetime = 0.5
process_material = SubResource("ParticleProcessMaterial_efdjr")
process_material = ExtResource("13_0sy3c")
draw_pass_1 = ExtResource("12_qbtqr")
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 3.25566, 1.52311, -2.0325)
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 4.404, 1.523, -2.033)
cast_shadow = 0
gi_mode = 2
amount = 500
lifetime = 5.5
lifetime = 4.8
randomness = 0.18
visibility_aabb = AABB(-100, -100, -100, 200, 200, 200)
transform_align = 2
@ -365,7 +334,10 @@ process_material = ExtResource("13_0sy3c")
draw_pass_1 = ExtResource("12_qbtqr")
[node name="Target1" parent="." instance=ExtResource("22_edujp")]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.109229, 3.59648, -4.23545)
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 3.3549, -5.19378)
[node name="Love Potion" parent="Target1" index="2"]
script = null
[node name="Flask" parent="Target1/Love Potion" index="0"]
layers = 4
@ -386,41 +358,35 @@ layers = 4
layers = 4
[node name="Target2" parent="." instance=ExtResource("15_0akd8")]
transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, -0.613242, 2.06385, -2.61652)
transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, -1.174, 2.737, -3.368)
[node name="MeshInstance3D" parent="Target2" index="1"]
skeleton = NodePath("..")
[node name="Star Bulb" parent="Target2/Star bulb" index="0"]
layers = 4
[node name="Star" parent="Target2/Star bulb/Star Bulb" index="0"]
layers = 4
[node name="Star bulb" parent="Target2" index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.542325, 0)
[node name="Target3" parent="." instance=ExtResource("15_0akd8")]
transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, 0.572697, 2.053, -2.54185)
transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, 1.17434, 2.73723, -3.36824)
[node name="Star Bulb" parent="Target3/Star bulb" index="0"]
layers = 4
[node name="AudioStreamPlayer3D" parent="Target3" index="1"]
stream = ExtResource("15_rsyhe")
[node name="Star" parent="Target3/Star bulb/Star Bulb" index="0"]
layers = 4
[node name="Star bulb" parent="Target3" index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.542325, 0)
[node name="Manipulator0" parent="." groups=["manipulators"] instance=ExtResource("18_wecvv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.75019, -3.96693)
[node name="VisualAttractorSphere" parent="Manipulator0" instance=ExtResource("19_xjpkb")]
strength = 26.31
attenuation = 4.13335
attenuation = 2.21501
radius = 3.0
[node name="Manipulator1" parent="." groups=["manipulators"] instance=ExtResource("18_wecvv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0383019, 1.42738, -2.59085)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.427, -2.591)
[node name="VisualAttractorSphere" parent="Manipulator1" instance=ExtResource("19_xjpkb")]
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0)
strength = 6.84
attenuation = 3.13249
attenuation = 2.29312
directionality = 1.0
radius = 1.3
@ -431,10 +397,10 @@ skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_hyt1m")
[node name="Manipulator2" parent="." groups=["manipulators"] instance=ExtResource("18_wecvv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00211065, 3.71723, -5.02046)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.717, -5.10931)
[node name="VisualAttractorSphere" parent="Manipulator2" instance=ExtResource("19_xjpkb")]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, 0, 0, 0)
strength = 39.61
attenuation = 1.46136
directionality = 1.0
@ -454,32 +420,32 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.7
[node name="Pipes" parent="." instance=ExtResource("20_dn0uk")]
transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, -6.23829, 2.38419e-07, -3.4459)
[node name="Light Segment" parent="Pipes" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.612772, 0.731119, 0.457281)
[node name="Pipe Connector" parent="Pipes" index="1"]
transform = Transform3D(-1.31134e-07, 3, -1.31134e-07, 0, -1.31134e-07, -3, -3, -1.31134e-07, 5.73206e-15, 0.45822, 0.913214, -0.259165)
[node name="Pipe Segment" parent="Pipes" index="2"]
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 1.50575, 1.4942, -0.581697)
[node name="Pipe Segment 90" parent="Pipes" index="3"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.615002, 1.3479, 0.454257)
[node name="T Pipe Segment" parent="Pipes" index="4"]
transform = Transform3D(1, 0, 4.37114e-08, -4.37114e-08, 1.91069e-15, 1, 0, -1, 1.91069e-15, 0.615232, 1.4923, -0.580647)
[node name="Broken Pipe" parent="Pipes" index="5"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.616053, 0.47833, 0.459138)
[node name="Pipe Segment Split" parent="Pipes" index="6"]
transform = Transform3D(0.999957, 0.00925011, 0, -0.00925011, 0.999957, 0, 0, 0, 1, 0.612797, -0.265908, 0.463929)
[node name="Pipe Segment 91" type="MeshInstance3D" parent="Pipes"]
transform = Transform3D(-4.37114e-08, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -4.37114e-08, 1.91069e-15, 2.61936, 1.4933, -0.579223)
mesh = SubResource("ArrayMesh_bwvdg")
skeleton = NodePath("")
[node name="Light Segment" parent="Pipes" index="1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.612772, 0.731119, 0.457281)
[node name="Pipe Connector" parent="Pipes" index="2"]
transform = Transform3D(-1.31134e-07, 3, -1.31134e-07, 0, -1.31134e-07, -3, -3, -1.31134e-07, 5.73206e-15, 0.45822, 0.913214, -0.259165)
[node name="Pipe Segment" parent="Pipes" index="3"]
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 1.50575, 1.4942, -0.581697)
[node name="Pipe Segment 90" parent="Pipes" index="4"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.615002, 1.3479, 0.454257)
[node name="T Pipe Segment" parent="Pipes" index="5"]
transform = Transform3D(1, 0, 4.37114e-08, -4.37114e-08, 1.91069e-15, 1, 0, -1, 1.91069e-15, 0.615232, 1.4923, -0.580647)
[node name="Broken Pipe" parent="Pipes" index="6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.616053, 0.47833, 0.459138)
[node name="Pipe Segment Split" parent="Pipes" index="7"]
transform = Transform3D(0.999957, 0.00925011, 0, -0.00925011, 0.999957, 0, 0, 0, 1, 0.612797, -0.265908, 0.463929)
[node name="Light Segment2" type="MeshInstance3D" parent="Pipes"]
transform = Transform3D(0.999991, 0, 0.00422368, 0, 1, 0, -0.00422368, 0, 0.999991, 0.61305, 0.253352, 0.462031)
mesh = SubResource("ArrayMesh_ywi2y")
@ -511,22 +477,22 @@ mesh = SubResource("ArrayMesh_eijwi")
skeleton = NodePath("")
[node name="Pipe Segment Split2" type="MeshInstance3D" parent="Pipes"]
transform = Transform3D(0.999957, 0.00925011, 0, -0.00925011, 0.999957, 0, 0, 0, 1, 2.2697, -0.0507845, 0.289026)
transform = Transform3D(0.99503, 0.0141769, 0, -0.00920453, 1.53255, 0, 0, 0, 1, 2.47181, -0.190739, 0.0225495)
mesh = SubResource("ArrayMesh_iwan1")
skeleton = NodePath("")
[node name="Light Segment5" type="MeshInstance3D" parent="Pipes"]
transform = Transform3D(0.999991, 0, 0.00422368, 0, 1, 0, -0.00422368, 0, 0.999991, 2.26995, 0.468476, 0.287128)
transform = Transform3D(0.999991, 0, 0.00422368, 0, 1, 0, -0.00422368, 0, 0.999991, 2.47206, 0.68979, 0.0206513)
mesh = SubResource("ArrayMesh_ywi2y")
skeleton = NodePath("")
[node name="Pipe Segment Split3" type="MeshInstance3D" parent="Pipes"]
transform = Transform3D(0.999957, 0.00925011, 0, -0.00925011, 0.999957, 0, 0, 0, 1, 1.87704, -0.0507845, 0.289026)
transform = Transform3D(0.996222, 0.0129854, 0, -0.00921556, 1.40375, 0, 0, 0, 1, 1.68981, -0.108888, 0.0263661)
mesh = SubResource("ArrayMesh_iwan1")
skeleton = NodePath("")
[node name="Light Segment6" type="MeshInstance3D" parent="Pipes"]
transform = Transform3D(0.999991, 0, 0.00422368, 0, 1, 0, -0.00422368, 0, 0.999991, 1.87729, 0.468476, 0.287128)
transform = Transform3D(0.999991, 0, 0.00422368, 0, 1, 0, -0.00422368, 0, 0.999991, 1.69006, 0.692465, 0.0244681)
mesh = SubResource("ArrayMesh_ywi2y")
skeleton = NodePath("")
@ -535,6 +501,11 @@ transform = Transform3D(-1.31134e-07, 3, -1.31134e-07, 0, -1.31134e-07, -3, -3,
mesh = SubResource("ArrayMesh_n7qi3")
skeleton = NodePath("")
[node name="WinParticles" parent="." instance=ExtResource("21_xyf8w")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, -2)
[connection signal="puzzle_completed" from="." to="WinParticles" method="_on_puzzle_completed"]
[editable path="Target1"]
[editable path="Target1/Love Potion"]
[editable path="Target2"]

10
scenes/win_particles.gd Normal file
View file

@ -0,0 +1,10 @@
extends GPUParticles3D
func _ready() -> void:
$boombap.volume_db = linear_to_db(0.0)
func _on_puzzle_completed() -> void:
emitting = true
$Crash.play()
var tween = create_tween()
tween.tween_property($boombap, "volume_db", linear_to_db(1.0), 2.0)

137
scenes/win_particles.tscn Normal file
View file

@ -0,0 +1,137 @@
[gd_scene load_steps=8 format=3 uid="uid://bu0fu4uiwyu65"]
[ext_resource type="Script" path="res://scenes/win_particles.gd" id="1_ittcg"]
[ext_resource type="AudioStream" uid="uid://chh3mqdtd3nw4" path="res://assets/crash.ogg" id="2_sr0qd"]
[ext_resource type="AudioStream" uid="uid://iquu0ttk5ib1" path="res://assets/boombap.ogg" id="3_xnety"]
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_bm8qp"]
particle_flag_align_y = true
emission_shape_scale = Vector3(3, 1, 3)
emission_shape = 3
emission_box_extents = Vector3(1, 1, 1)
angle_min = -122.4
angle_max = 151.5
spread = 180.0
initial_velocity_min = 0.1
initial_velocity_max = 0.5
angular_velocity_min = -105.82
angular_velocity_max = 157.69
gravity = Vector3(0, -5, 0)
damping_min = 2.0
damping_max = 3.0
scale_min = 0.5
scale_max = 2.0
color = Color(0.997807, 0.645565, 0.348555, 1)
hue_variation_min = -0.33
hue_variation_max = 0.33
turbulence_enabled = true
turbulence_noise_scale = 5.45
collision_mode = 1
collision_friction = 1.0
collision_bounce = 0.0
[sub_resource type="Shader" id="Shader_xdn50"]
code = "// NOTE: Shader automatically converted from Godot Engine 4.3.stable's StandardMaterial3D.
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx, vertex_lighting;
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
uniform float point_size : hint_range(0.1, 128.0, 0.1);
uniform float roughness : hint_range(0.0, 1.0);
uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable;
uniform float specular : hint_range(0.0, 1.0, 0.01);
uniform float metallic : hint_range(0.0, 1.0, 0.01);
uniform sampler2D texture_emission : source_color, hint_default_black, filter_linear_mipmap, repeat_enable;
uniform vec4 emission : source_color;
uniform float emission_energy : hint_range(0.0, 100.0, 0.01);
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
uniform vec3 uv2_scale;
uniform vec3 uv2_offset;
void vertex() {
// Vertex Color is sRGB: Enabled
if (!OUTPUT_IS_SRGB) {
COLOR.rgb = mix(
pow((COLOR.rgb + vec3(0.055)) * (1.0 / (1.0 + 0.055)), vec3(2.4)),
COLOR.rgb * (1.0 / 12.92),
lessThan(COLOR.rgb, vec3(0.04045)));
}
// Shading Mode: Per Vertex
ROUGHNESS = roughness;
UV = UV * uv1_scale.xy + uv1_offset.xy;
}
void fragment() {
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo, base_uv);
// Vertex Color Use as Albedo: Enabled
albedo_tex *= COLOR;
ALBEDO = albedo.rgb * albedo_tex.rgb;
float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel);
METALLIC = metallic_tex * metallic;
SPECULAR = specular;
vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0);
float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel);
ROUGHNESS = roughness_tex * roughness;
// Emission Operator: Add
EMISSION = ALBEDO * emission_energy;
}
"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bvlxl"]
render_priority = 0
shader = SubResource("Shader_xdn50")
shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/point_size = 1.0
shader_parameter/roughness = 1.0
shader_parameter/metallic_texture_channel = null
shader_parameter/specular = 1.0
shader_parameter/metallic = 1.0
shader_parameter/emission = Color(0.996454, 0.721284, 0.467443, 1)
shader_parameter/emission_energy = 0.5
shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/uv2_scale = Vector3(1, 1, 1)
shader_parameter/uv2_offset = Vector3(0, 0, 0)
[sub_resource type="QuadMesh" id="QuadMesh_tfxeh"]
material = SubResource("ShaderMaterial_bvlxl")
size = Vector2(0.01, 0.01)
orientation = 1
[node name="WinParticles" type="GPUParticles3D"]
emitting = false
amount = 3000
lifetime = 20.0
one_shot = true
explosiveness = 0.75
randomness = 0.58
visibility_aabb = AABB(-8, -8, -8, 16, 16, 16)
process_material = SubResource("ParticleProcessMaterial_bm8qp")
draw_pass_1 = SubResource("QuadMesh_tfxeh")
script = ExtResource("1_ittcg")
[node name="Crash" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("2_sr0qd")
volume_db = -10.444
[node name="boombap" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("3_xnety")
autoplay = true