[gd_scene load_steps=21 format=3 uid="uid://1rwj4eq63xgb"]

[ext_resource type="Script" path="res://scenes/base_game_scene.gd" id="1_lv8qp"]
[ext_resource type="PackedScene" uid="uid://7uc6tf2tvn1k" path="res://scenes/xr_origin_3d.tscn" id="2_pnpvr"]
[ext_resource type="PackedScene" uid="uid://clc5dre31iskm" path="res://addons/godot-xr-tools/xr/start_xr.tscn" id="3_7tbdf"]
[ext_resource type="PackedScene" uid="uid://57q7hhomocdh" path="res://addons/godot-xr-tools/objects/world_grab_area.tscn" id="4_6jer4"]
[ext_resource type="PackedScene" uid="uid://cibwlfqvmirgb" path="res://scenes/ambient_particles.tscn" id="5_l7f6r"]
[ext_resource type="Script" path="res://scenes/performance_settings/voxel_gi_toggle.gd" id="7_r0ih7"]
[ext_resource type="Environment" uid="uid://c1yf8e4qr42hr" path="res://scenes/environment.tres" id="8_8na6t"]
[ext_resource type="PackedScene" uid="uid://rsrnbs08nv1n" path="res://scenes/collisions/proxy_collision_detector.tscn" id="10_e5fuu"]
[ext_resource type="TubeTrailMesh" uid="uid://davtfqjg4wclw" path="res://scenes/tutorial_scenes/tutorial_1_particle_mat.tres" id="10_f6cc6"]
[ext_resource type="PackedScene" uid="uid://g4esih4vcves" path="res://scenes/level_select_3d.tscn" id="10_vjuu6"]

[sub_resource type="BoxShape3D" id="BoxShape3D_gj4t1"]
size = Vector3(100, 100, 100)

[sub_resource type="BoxShape3D" id="BoxShape3D_jwkgy"]
size = Vector3(40, 40, 40)

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lvd12"]
albedo_color = Color(0.563626, 0.563626, 0.563625, 1)

[sub_resource type="PlaneMesh" id="PlaneMesh_gsjte"]
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_2hwxq"]
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="TextMesh" id="TextMesh_1u4xn"]
text = "Tutorial"
pixel_size = 0.1
depth = 0.5

[node name="TutorialSceneBase" type="Node3D"]
script = ExtResource("1_lv8qp")

[node name="XROrigin3D" parent="." instance=ExtResource("2_pnpvr")]

[node name="StartXR" parent="." instance=ExtResource("3_7tbdf")]

[node name="WorldGrabArea" parent="." instance=ExtResource("4_6jer4")]
gravity_space_override = 3
gravity = 0.0

[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldGrabArea"]
shape = SubResource("BoxShape3D_gj4t1")

[node name="AmbientParticles" parent="." instance=ExtResource("5_l7f6r")]

[node name="VoxelGI" type="VoxelGI" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.4, -3.27626)
subdiv = 0
size = Vector3(10, 5, 10)
script = ExtResource("7_r0ih7")

[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = ExtResource("8_8na6t")

[node name="ReverbArea" type="Area3D" parent="."]
reverb_bus_enabled = true
reverb_bus_name = &"Reverb"
reverb_bus_amount = 1.0

[node name="CollisionShape3D" type="CollisionShape3D" parent="ReverbArea"]
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
spot_range = 40.0
spot_attenuation = 0.1
spot_angle = 48.3

[node name="ProxyCollisionDetector" parent="." instance=ExtResource("10_e5fuu")]
source_particles_paths = Array[NodePath]([NodePath("../GPUParticles3D")])

[node name="GPUParticles3D" type="GPUParticles3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.29421, 1.523, -2.03293)
cast_shadow = 0
gi_mode = 2
amount = 500
lifetime = 4.5
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_2hwxq")
draw_pass_1 = ExtResource("10_f6cc6")

[node name="TutorialText" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.07209, -5.05289)
mesh = SubResource("TextMesh_1u4xn")

[node name="LevelSelect3D" parent="." instance=ExtResource("10_vjuu6")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, 2)
