This commit is contained in:
DESKTOP-P2AGUDS\Titan 2025-02-15 23:41:57 -06:00
commit ffdc97583a
22 changed files with 2106 additions and 21 deletions

View file

@ -220,4 +220,3 @@ func get_adjusted_vector2(p_controller, p_input_action):
vector.x *= -1
return vector

9
assets/Emission.tres Normal file
View file

@ -0,0 +1,9 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://ci8s6gnyvf7s8"]
[resource]
resource_name = "Emission"
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)

13
assets/Glass.001.tres Normal file
View file

@ -0,0 +1,13 @@
[gd_resource type="StandardMaterial3D" format=3 uid="uid://c3waeqeii0krh"]
[resource]
resource_name = "Glass.001"
transparency = 4
cull_mode = 2
albedo_color = Color(1, 1, 1, 0.144)
metallic = 1.0
metallic_specular = 0.55
roughness = 0.33
clearcoat_enabled = true
anisotropy = 0.7
refraction_scale = 0.37

BIN
assets/Star bulb.glb Normal file

Binary file not shown.

1848
assets/Star bulb.glb.import Normal file

File diff suppressed because it is too large Load diff

5
assets/star_bulb.tscn Normal file
View file

@ -0,0 +1,5 @@
[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"]
[node name="Star bulb" instance=ExtResource("1_onaud")]

View file

@ -0,0 +1,17 @@
extends Node3D
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)
material = mat.duplicate()
$"Star Bulb".mesh.surface_set_material(1, material)
$"Star Bulb/Star".mesh.surface_set_material(0, material)
$AnimationPlayer.play("StarAction")
func _on_target_1_occupancy_changed(value: float) -> void:
material.emission_energy_multiplier = value * 10
$AnimationPlayer.speed_scale = value

View file

@ -9,7 +9,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="bin/SneedXR Game Jam Feb 2025.exe"
export_path="bin/Sneeditorium.exe"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
@ -21,7 +21,7 @@ script_export_mode=2
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=0
binary_format/embed_pck=false
binary_format/embed_pck=true
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"

View file

@ -1,3 +1,3 @@
[xr]
openxr/enabled=false
openxr/enabled=true

View file

@ -10,7 +10,8 @@ config_version=5
[application]
config/name="Sneed: XR Game Jam Feb 2025"
config/name="Sneeditorium"
config/description="gpu particle system puzzle game."
config/version="0.1"
run/main_scene="res://demo_staging.tscn"
config/features=PackedStringArray("4.3")

View file

@ -15,6 +15,9 @@ func _ready():
if Engine.is_editor_hint():
return
# reset the world scale to 1.0
XRServer.world_scale = 1.0
# for editor testing when scene is directly loaded
_reset_manipulators()
@ -80,4 +83,4 @@ func check_puzzle_completion(delta: float) -> void:
puzzle_completed.emit()
else:
_completion_timer = 0.0

47
scenes/level_select.tscn Normal file
View file

@ -0,0 +1,47 @@
[gd_scene load_steps=3 format=3 uid="uid://m1twp7r5vtv0"]
[ext_resource type="Theme" uid="uid://bfjhdxefw3nxu" path="res://scenes/new_theme.tres" id="1_0shvn"]
[ext_resource type="Script" path="res://scenes/scene_select_button.gd" id="2_4d80g"]
[node name="LevelSelect" type="Node2D"]
[node name="MarginContainer" type="MarginContainer" parent="."]
offset_right = 40.0
offset_bottom = 40.0
theme = ExtResource("1_0shvn")
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
text = "Level Select"
horizontal_alignment = 1
[node name="SceneSelect" type="Button" parent="MarginContainer/VBoxContainer" groups=["scene_button"]]
layout_mode = 2
text = "Title
"
script = ExtResource("2_4d80g")
scene_path = "res://scenes/title_scene/title_scene.tscn"
[node name="SceneSelect2" type="Button" parent="MarginContainer/VBoxContainer" groups=["scene_button"]]
layout_mode = 2
text = "Tutorial 1"
script = ExtResource("2_4d80g")
scene_path = "res://scenes/tutorial_scenes/tutorial_scene_1.tscn"
[node name="SceneSelect3" type="Button" parent="MarginContainer/VBoxContainer" groups=["scene_button"]]
layout_mode = 2
text = "Tutorial 2"
script = ExtResource("2_4d80g")
scene_path = "res://scenes/tutorial_scenes/tutorial_scene_2.tscn"
[node name="SceneSelect4" type="Button" parent="MarginContainer/VBoxContainer" groups=["scene_button"]]
layout_mode = 2
text = "Valentine"
script = ExtResource("2_4d80g")
scene_path = "res://scenes/valentine_scene/valentine_scene.tscn"

View file

@ -0,0 +1,44 @@
[gd_scene load_steps=8 format=3 uid="uid://g4esih4vcves"]
[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1_t65qq"]
[ext_resource type="PackedScene" uid="uid://m1twp7r5vtv0" path="res://scenes/level_select.tscn" id="2_ju2uv"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wt13n"]
shading_mode = 0
[sub_resource type="QuadMesh" id="QuadMesh_3x3hc"]
resource_local_to_scene = true
size = Vector2(2, 2)
[sub_resource type="ViewportTexture" id="ViewportTexture_whqpc"]
viewport_path = NodePath("Viewport")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ubces"]
shading_mode = 0
albedo_texture = SubResource("ViewportTexture_whqpc")
[sub_resource type="BoxShape3D" id="BoxShape3D_803iy"]
resource_local_to_scene = true
size = Vector3(2, 2, 0.02)
[node name="LevelSelect3D" instance=ExtResource("1_t65qq")]
screen_size = Vector2(2, 2)
scene = ExtResource("2_ju2uv")
viewport_size = Vector2(200, 200)
update_mode = 2
material = SubResource("StandardMaterial3D_wt13n")
scene_properties_keys = PackedStringArray()
[node name="Viewport" parent="." index="0"]
size = Vector2i(200, 200)
[node name="Screen" parent="." index="1"]
mesh = SubResource("QuadMesh_3x3hc")
surface_material_override/0 = SubResource("StandardMaterial3D_ubces")
[node name="StaticBody3D" parent="." index="2"]
screen_size = Vector2(2, 2)
viewport_size = Vector2(200, 200)
[node name="CollisionShape3D" parent="StaticBody3D" index="0"]
shape = SubResource("BoxShape3D_803iy")

15
scenes/new_theme.tres Normal file
View file

@ -0,0 +1,15 @@
[gd_resource type="Theme" load_steps=3 format=3 uid="uid://bfjhdxefw3nxu"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qmc8q"]
bg_color = Color(0.171637, 0.171637, 0.171637, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_icc4y"]
bg_color = Color(0.792047, 0.437933, 0.509316, 1)
[resource]
Button/styles/normal = SubResource("StyleBoxFlat_qmc8q")
MarginContainer/constants/margin_bottom = 10
MarginContainer/constants/margin_left = 10
MarginContainer/constants/margin_right = 10
MarginContainer/constants/margin_top = 10
MarginContainer/styles/normal = SubResource("StyleBoxFlat_icc4y")

View file

@ -0,0 +1,16 @@
class_name SceneSelectButton
extends Button
@export_file('*.tscn') var scene_path : String
func _ready():
pressed.connect(_on_pressed)
func _on_pressed():
var root = get_tree().current_scene
print("Current scene root: ", root)
if root is XRToolsStaging:
print("Loading scene: ", scene_path)
root.load_scene(scene_path)
else:
print("Root scene is not XRToolsStaging, got: ", root)

View file

@ -9,6 +9,8 @@ class_name Target
# this doesn't really interact with the real cpu physics engine though.
extends StaticBody3D
signal occupancy_changed(value: float)
@export var lerp_speed: float = 5.0
@onready var mesh: MeshInstance3D = $MeshInstance3D
@onready var audio: AudioStreamPlayer3D = $AudioStreamPlayer3D
@ -27,6 +29,8 @@ func _process(delta: float) -> void:
material.emission_energy_multiplier = _current_occupancy * 10
if audio:
audio.volume_db = linear_to_db(_current_occupancy)
occupancy_changed.emit(_current_occupancy)
# called from the ProxyCollisionDetector
func set_occupancy(occupancy: float) -> void:

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=43 format=3 uid="uid://bd86thqpujh3p"]
[gd_scene load_steps=45 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="PackedScene" uid="uid://7uc6tf2tvn1k" path="res://scenes/xr_origin_3d.tscn" id="2_xk21l"]
@ -19,6 +19,7 @@
[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"]
[ext_resource type="PackedScene" uid="uid://m1twp7r5vtv0" path="res://scenes/level_select.tscn" id="20_b65a1"]
[sub_resource type="BoxShape3D" id="BoxShape3D_gj4t1"]
size = Vector3(100, 100, 100)
@ -145,6 +146,9 @@ size = Vector3(0.2, 0.2, 0.2)
emission_enabled = true
emission = Color(0.208505, 0.70691, 0.626474, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6y3wb"]
shading_mode = 0
[node name="TitleScene" type="Node3D"]
script = ExtResource("1_t86sx")
@ -304,3 +308,11 @@ skeleton = NodePath("")
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)
screen_size = Vector2(2, 2)
scene = ExtResource("20_b65a1")
viewport_size = Vector2(200, 200)
material = SubResource("StandardMaterial3D_6y3wb")
scene_properties_keys = PackedStringArray()

View file

@ -9,8 +9,8 @@ shading_mode = 2
vertex_color_use_as_albedo = true
vertex_color_is_srgb = true
emission_enabled = true
emission = Color(1.2, 1.5, 1.2, 1)
emission_energy_multiplier = 2.0
emission = Color(1.2, 1.8, 1.2, 1)
emission_energy_multiplier = 3.0
disable_receive_shadows = true
use_particle_trails = true

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://dqbxp72mjmbc"]
[gd_scene load_steps=24 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"]
@ -6,6 +6,8 @@
[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/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"]
[sub_resource type="Gradient" id="Gradient_0ygfi"]
colors = PackedColorArray(0.720471, 0.182584, 0.797749, 1, 1, 1, 3, 1)
@ -53,6 +55,14 @@ line_spacing = -5.0
pixel_size = 0.02
depth = 0.2
[sub_resource type="TextMesh" id="TextMesh_kqj8q"]
text = "Level Select
Is Behind You"
horizontal_alignment = 0
line_spacing = -5.0
pixel_size = 0.02
depth = 0.2
[sub_resource type="TextMesh" id="TextMesh_knbyw"]
text = "Grab the Ball
To Move
@ -114,19 +124,23 @@ process_material = SubResource("ParticleProcessMaterial_pu2oq")
transform = Transform3D(0.787333, 0, 0.616528, 0, 1, 0, -0.616528, 0, 0.787333, -2.04386, 0.522766, -1.73643)
mesh = SubResource("TextMesh_0qq7n")
[node name="GrabTheManipulator" type="MeshInstance3D" parent="." index="13"]
[node name="LevelSelect" type="MeshInstance3D" parent="." index="13"]
transform = Transform3D(0.933054, 0, 0.359736, 0, 1, 0, -0.359736, 0, 0.933054, -2.79529, 2.72605, -4.60797)
mesh = SubResource("TextMesh_kqj8q")
[node name="GrabTheManipulator" type="MeshInstance3D" parent="." index="14"]
transform = Transform3D(0.80479, 0, -0.593559, 0, 1, 0, 0.593559, 0, 0.80479, 1.2946, 0.483083, -2.45375)
mesh = SubResource("TextMesh_knbyw")
[node name="TheStream" type="MeshInstance3D" parent="." index="14"]
[node name="TheStream" type="MeshInstance3D" parent="." index="15"]
transform = Transform3D(0.496262, 0, 0.868173, 0, 1, 0, -0.868173, 0, 0.496262, -2.66182, 1.47005, -1.41463)
mesh = SubResource("TextMesh_7pjq2")
[node name="TheTarget" type="MeshInstance3D" parent="." index="15"]
[node name="TheTarget" type="MeshInstance3D" parent="." index="16"]
transform = Transform3D(0.996969, 0, -0.0777979, 0, 1, 0, 0.0777979, 0, 0.996969, 0.117968, 2.73322, -2.97752)
mesh = SubResource("TextMesh_18ch5")
[node name="Manipulator1" parent="." index="16" groups=["manipulators"] instance=ExtResource("3_pgrk8")]
[node name="Manipulator1" parent="." index="17" groups=["manipulators"] instance=ExtResource("3_pgrk8")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.6837, 1.50178, -2.83406)
[node name="VisualAttractorSphere" parent="Manipulator1" index="4" instance=ExtResource("4_05xwa")]
@ -142,7 +156,7 @@ mesh = SubResource("PrismMesh_f1dje")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_vyhi3")
[node name="Target1" type="StaticBody3D" parent="." index="17" groups=["targets"]]
[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")
@ -150,6 +164,7 @@ script = ExtResource("5_46vbo")
shape = SubResource("BoxShape3D_2pv4i")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target1" index="1"]
visible = false
layers = 4
mesh = SubResource("BoxMesh_tp0p7")
skeleton = NodePath("../..")
@ -159,3 +174,9 @@ surface_material_override/0 = SubResource("StandardMaterial3D_mjtav")
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"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=22 format=3 uid="uid://wnfi7j3dmjl"]
[gd_scene load_steps=25 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"]
@ -86,6 +86,17 @@ 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"
@ -103,6 +114,14 @@ line_spacing = -7.0
pixel_size = 0.02
depth = 0.2
[sub_resource type="TextMesh" id="TextMesh_jioxp"]
text = "Level Select
Is Behind You"
horizontal_alignment = 0
line_spacing = -5.0
pixel_size = 0.02
depth = 0.2
[node name="TutorialSceneBase" instance=ExtResource("1_ef0x7")]
[node name="VoxelGI" parent="." index="4"]
@ -113,7 +132,7 @@ transform = Transform3D(1, 0, 0, 0, 0.798268, 0.602302, 0, -0.602302, 0.798268,
[node name="GPUParticles3D" parent="." index="10"]
transform = Transform3D(-3.09086e-08, -0.707107, 0.707107, 1, -4.37114e-08, 0, 3.09086e-08, 0.707107, 0.707107, -0.0848585, 0.312401, -3.05504)
lifetime = 3.0
lifetime = 2.0
process_material = SubResource("ParticleProcessMaterial_c7gdv")
[node name="GrabTheWorld" type="MeshInstance3D" parent="." index="12"]
@ -169,9 +188,9 @@ shape = SubResource("BoxShape3D_5cvp1")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target2" index="1"]
layers = 4
mesh = SubResource("BoxMesh_swij7")
mesh = SubResource("BoxMesh_cvybi")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_w1uvt")
surface_material_override/0 = SubResource("StandardMaterial3D_jqpsb")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Target2" index="2"]
stream = ExtResource("7_bmi33")
@ -185,3 +204,7 @@ mesh = SubResource("TextMesh_gt0jy")
[node name="TheTarget2" type="MeshInstance3D" parent="." index="18"]
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"]
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")

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=20 format=3 uid="uid://1rwj4eq63xgb"]
[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"]
@ -9,6 +9,7 @@
[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)
@ -128,3 +129,6 @@ 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)

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=38 format=3 uid="uid://4hr2m5ibwhpy"]
[gd_scene load_steps=39 format=3 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"]
@ -19,6 +19,7 @@
[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://g4esih4vcves" path="res://scenes/level_select_3d.tscn" id="20_l6q7q"]
[sub_resource type="BoxShape3D" id="BoxShape3D_gj4t1"]
size = Vector3(100, 100, 100)
@ -297,3 +298,6 @@ transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 3.1
mesh = SubResource("CylinderMesh_7qhvg")
[node name="AmbientParticles" parent="." instance=ExtResource("19_ssw3h")]
[node name="LevelSelect3D" parent="." instance=ExtResource("20_l6q7q")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, 2)