scenes/maps/playground.tscn and crag.tscn are generated by the map scripts' Rebuild (inspector button, or godot-mono --headless --path . tools/rebuild_maps.tscn) and loaded as saved by the game, so hand edits stick. The crag route is saved as Marker3D nodes and crag_spike checks the saved scene. Layout verified identical to the code-built one (tools/map_dump.tscn). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
141 lines
5.0 KiB
Plaintext
141 lines
5.0 KiB
Plaintext
[gd_scene load_steps=22 format=3]
|
|
|
|
[ext_resource type="Script" path="res://scripts/Main.cs" id="1_main"]
|
|
[ext_resource type="PackedScene" path="res://scenes/teleport_marker.tscn" id="2_marker"]
|
|
[ext_resource type="Script" path="res://scripts/Locomotion.cs" id="3_locomotion"]
|
|
[ext_resource type="Script" path="res://scripts/WorldPanel.cs" id="4_worldpanel"]
|
|
[ext_resource type="Script" path="res://scripts/AnchorMoveMode.cs" id="5_anchormove"]
|
|
[ext_resource type="Script" path="res://scripts/PropShop.cs" id="6_propshop"]
|
|
[ext_resource type="Script" path="res://scripts/PropGrabber.cs" id="7_propgrabber"]
|
|
[ext_resource type="Script" path="res://scripts/Calibration.cs" id="12_calibration"]
|
|
[ext_resource type="Script" path="res://scripts/TrueBody.cs" id="13_truebody"]
|
|
[ext_resource type="Script" path="res://scripts/PlayerRig.cs" id="14_playerrig"]
|
|
[ext_resource type="PackedScene" path="res://scenes/maps/playground.tscn" id="15_playground"]
|
|
[ext_resource type="PackedScene" path="res://scenes/maps/crag.tscn" id="16_crag"]
|
|
|
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_sky"]
|
|
sky_horizon_color = Color(0.66, 0.72, 0.81, 1)
|
|
ground_horizon_color = Color(0.66, 0.72, 0.81, 1)
|
|
|
|
[sub_resource type="Sky" id="Sky_main"]
|
|
sky_material = SubResource("ProceduralSkyMaterial_sky")
|
|
|
|
[sub_resource type="Environment" id="Environment_main"]
|
|
background_mode = 2
|
|
sky = SubResource("Sky_main")
|
|
|
|
[sub_resource type="StandardMaterial3D" id="Material_floor"]
|
|
albedo_color = Color(0.35, 0.35, 0.38, 1)
|
|
|
|
[sub_resource type="PlaneMesh" id="PlaneMesh_floor"]
|
|
material = SubResource("Material_floor")
|
|
size = Vector2(80, 80)
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape_floor"]
|
|
size = Vector3(80, 0.1, 80)
|
|
|
|
[sub_resource type="SphereMesh" id="SphereMesh_hand"]
|
|
radius = 0.04
|
|
height = 0.08
|
|
|
|
[sub_resource type="StandardMaterial3D" id="Material_hand_left"]
|
|
albedo_color = Color(0.9, 0.3, 0.35, 1)
|
|
|
|
[sub_resource type="StandardMaterial3D" id="Material_hand_right"]
|
|
albedo_color = Color(0.3, 0.5, 0.9, 1)
|
|
|
|
[node name="Main" type="Node3D"]
|
|
script = ExtResource("1_main")
|
|
|
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
|
environment = SubResource("Environment_main")
|
|
|
|
[node name="Sun" type="DirectionalLight3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 8, 0)
|
|
shadow_enabled = true
|
|
directional_shadow_max_distance = 10.0
|
|
shadow_bias = 0.04
|
|
shadow_normal_bias = 0.5
|
|
|
|
[node name="Floor" type="StaticBody3D" parent="." groups=["no_grab"]]
|
|
collision_mask = 29
|
|
|
|
[node name="FloorShape" type="CollisionShape3D" parent="Floor"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
|
|
shape = SubResource("BoxShape_floor")
|
|
|
|
[node name="FloorMesh" type="MeshInstance3D" parent="Floor"]
|
|
mesh = SubResource("PlaneMesh_floor")
|
|
|
|
[node name="XROrigin3D" type="XROrigin3D" parent="."]
|
|
physics_interpolation_mode = 2
|
|
|
|
[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7, 0)
|
|
|
|
[node name="LeftHand" type="XRController3D" parent="XROrigin3D"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5)
|
|
tracker = &"left_hand"
|
|
pose = &"default"
|
|
|
|
[node name="RightHand" type="XRController3D" parent="XROrigin3D"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5)
|
|
tracker = &"right_hand"
|
|
pose = &"default"
|
|
|
|
[node name="WorldPanel" type="Node3D" parent="XROrigin3D"]
|
|
script = ExtResource("4_worldpanel")
|
|
|
|
[node name="SpawnPoint" type="Marker3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.5)
|
|
|
|
[node name="TeleportMarkers" type="Node3D" parent="."]
|
|
|
|
[node name="Marker1" parent="TeleportMarkers" instance=ExtResource("2_marker")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
|
MarkerLabel = "1"
|
|
|
|
[node name="Marker2" parent="TeleportMarkers" instance=ExtResource("2_marker")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -3)
|
|
MarkerLabel = "2"
|
|
|
|
[node name="Marker3" parent="TeleportMarkers" instance=ExtResource("2_marker")]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4)
|
|
MarkerLabel = "3"
|
|
|
|
[node name="Locomotion" type="Node" parent="."]
|
|
script = ExtResource("3_locomotion")
|
|
|
|
[node name="AnchorMoveMode" type="Node" parent="."]
|
|
script = ExtResource("5_anchormove")
|
|
|
|
[node name="Playground" parent="." instance=ExtResource("15_playground")]
|
|
|
|
[node name="Crag" parent="." instance=ExtResource("16_crag")]
|
|
|
|
[node name="PropShop" type="Node3D" parent="."]
|
|
script = ExtResource("6_propshop")
|
|
|
|
[node name="PropGrabber" type="Node" parent="."]
|
|
script = ExtResource("7_propgrabber")
|
|
|
|
[node name="Calibration" type="Node" parent="."]
|
|
script = ExtResource("12_calibration")
|
|
|
|
[node name="TrueBody" type="Node3D" parent="."]
|
|
physics_interpolation_mode = 2
|
|
script = ExtResource("13_truebody")
|
|
|
|
[node name="PlayerRig" type="Node" parent="."]
|
|
physics_interpolation_mode = 2
|
|
script = ExtResource("14_playerrig")
|
|
|
|
[node name="FadeLayer" type="CanvasLayer" parent="."]
|
|
|
|
[node name="Fade" type="ColorRect" parent="FadeLayer"]
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
color = Color(0, 0, 0, 0)
|
|
mouse_filter = 2
|