mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 08:23:45 +00:00
08a0f74391
Arenas inherit from a new arena_base.tscn instead of restating ~40 shared lines each; only sky/ambient/glow/tint/decoration vary, exposed via new Arena exports since nested Environment properties aren't overridable through scene inheritance. Bot construction and score-keeping move onto GameMode, shared by match and spectate modes while preserving their differing GameSettings-override behavior and the HUD's score-row duck-typing. HUD instruments share a HudInstrument base for the smoothing-weight calc and angle-lerp helper. Also dedupes MAIN_MENU_SCENE_PATH into ScenePaths and documents why DIFFICULTIES tiers share one checkpoint.
116 lines
4.6 KiB
Plaintext
116 lines
4.6 KiB
Plaintext
[gd_scene load_steps=13 format=3]
|
|
|
|
[ext_resource type="PackedScene" path="res://scenes/arena_base.tscn" id="1_base"]
|
|
[ext_resource type="Texture2D" path="res://assets/textures/sky_nebula.png" id="7_nebula"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/nebula_station.glb" id="8_station"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/nebula_debris.glb" id="9_debris"]
|
|
[ext_resource type="Texture2D" path="res://assets/textures/particle_glow.png" id="10_dust"]
|
|
[ext_resource type="PackedScene" path="res://assets/models/nebula_planet.glb" id="11_planet"]
|
|
[ext_resource type="Shader" path="res://shaders/nebula_dust.gdshader" id="12_dust_shader"]
|
|
|
|
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_nebula"]
|
|
panorama = ExtResource("7_nebula")
|
|
|
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dust"]
|
|
shader = ExtResource("12_dust_shader")
|
|
shader_parameter/albedo_tex = ExtResource("10_dust")
|
|
shader_parameter/core_bias_color = Color(1, 0.6, 0.85, 1)
|
|
shader_parameter/core_bias_amount = 0.35
|
|
shader_parameter/emission_strength = 2.5
|
|
shader_parameter/soft_fade_distance = 1.0
|
|
|
|
[sub_resource type="QuadMesh" id="QuadMesh_dust"]
|
|
material = SubResource("ShaderMaterial_dust")
|
|
size = Vector2(0.4, 0.4)
|
|
|
|
[sub_resource type="Gradient" id="Gradient_dust"]
|
|
offsets = PackedFloat32Array(0, 0.15, 0.85, 1)
|
|
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 0.55, 1, 1, 1, 0.55, 1, 1, 1, 0)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_dust"]
|
|
gradient = SubResource("Gradient_dust")
|
|
|
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dust"]
|
|
emission_shape = 3
|
|
emission_box_extents = Vector3(26, 11, 28)
|
|
direction = Vector3(0, 1, 0)
|
|
spread = 180.0
|
|
initial_velocity_min = 0.1
|
|
initial_velocity_max = 0.45
|
|
gravity = Vector3(0, 0, 0)
|
|
turbulence_enabled = true
|
|
turbulence_noise_strength = 0.7
|
|
turbulence_noise_scale = 0.6
|
|
turbulence_influence_min = 0.35
|
|
turbulence_influence_max = 0.65
|
|
scale_min = 0.5
|
|
scale_max = 1.6
|
|
color_ramp = SubResource("GradientTexture1D_dust")
|
|
|
|
[node name="Arena" instance=ExtResource("1_base")]
|
|
sky_material = SubResource("PanoramaSkyMaterial_nebula")
|
|
ambient_light_color = Color(0.65, 0.35, 0.75, 1)
|
|
ambient_light_energy = 0.45
|
|
glow_intensity = 0.8
|
|
glow_strength = 1.0
|
|
glow_bloom = 0.03
|
|
glow_hdr_threshold = 1.1
|
|
|
|
[node name="Boundary" parent="." index="0"]
|
|
field_tint = Color(0.78, 0.55, 1, 1)
|
|
field_intensity = 0.1
|
|
|
|
[node name="DirectionalLight3D" parent="." index="1"]
|
|
light_color = Color(0.85, 0.75, 1, 1)
|
|
|
|
[node name="FillLight" parent="." index="2"]
|
|
light_color = Color(0.55, 0.35, 0.65, 1)
|
|
light_energy = 0.45
|
|
|
|
[node name="NebulaDust" type="GPUParticles3D" parent="."]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0)
|
|
amount = 500
|
|
lifetime = 22.0
|
|
preprocess = 8.0
|
|
randomness = 1.0
|
|
visibility_aabb = AABB(-30, -14, -32, 60, 28, 64)
|
|
process_material = SubResource("ParticleProcessMaterial_dust")
|
|
draw_pass_1 = SubResource("QuadMesh_dust")
|
|
|
|
[node name="Decoration" type="Node3D" parent="."]
|
|
|
|
[node name="NebulaStationA" parent="Decoration" instance=ExtResource("8_station")]
|
|
transform = Transform3D(1.8, 0, 0, 0, 1.8, 0, 0, 0, 1.8, 28, 5, -6)
|
|
rotation = Vector3(0, -0.436332, 0)
|
|
|
|
[node name="NebulaDebrisA" parent="Decoration" instance=ExtResource("9_debris")]
|
|
transform = Transform3D(1.2, 0, 0, 0, 1.2, 0, 0, 0, 1.2, -22, 9, 11)
|
|
rotation = Vector3(0.261799, 0.698132, 0.087266)
|
|
|
|
[node name="NebulaDebrisB" parent="Decoration" instance=ExtResource("9_debris")]
|
|
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 34, 3, 15)
|
|
rotation = Vector3(-0.174533, 1.919862, 0.349066)
|
|
|
|
[node name="NebulaDebrisC" parent="Decoration" instance=ExtResource("9_debris")]
|
|
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, -30, 11, -21)
|
|
rotation = Vector3(0.087266, -1.047198, -0.261799)
|
|
|
|
[node name="NebulaStationB" parent="Decoration" instance=ExtResource("8_station")]
|
|
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, -32, 7, 9)
|
|
rotation = Vector3(0.05, 1.134464, -0.02)
|
|
|
|
[node name="NebulaStationC" parent="Decoration" instance=ExtResource("8_station")]
|
|
transform = Transform3D(1.3, 0, 0, 0, 1.3, 0, 0, 0, 1.3, 9, 8, 42)
|
|
rotation = Vector3(-0.03, 2.740167, 0.06)
|
|
|
|
[node name="NebulaDebrisD" parent="Decoration" instance=ExtResource("9_debris")]
|
|
transform = Transform3D(1.0, 0, 0, 0, 1.0, 0, 0, 0, 1.0, 13, 15, -35)
|
|
rotation = Vector3(0.4, 1.3, -0.2)
|
|
|
|
[node name="NebulaDebrisE" parent="Decoration" instance=ExtResource("9_debris")]
|
|
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, -11, 4, 33)
|
|
rotation = Vector3(-0.3, -0.9, 0.15)
|
|
|
|
[node name="NebulaPlanet" parent="Decoration" instance=ExtResource("11_planet")]
|
|
transform = Transform3D(30, 0, 0, 0, 30, 0, 0, 0, 30, -55, 38, -80)
|