Implement production vertical slice foundation
This commit is contained in:
1 parent
9d4a89f355
commit
a18e82eb44
104 files changed
+10595
-268
No files matched your search
@@ -0,0 +1,33 @@
|
||||
class_name VehicleTestEnvironment
|
||||
extends Node3D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
var particles := GPUParticles3D.new()
|
||||
particles.name = "SuspendedParticles"
|
||||
particles.position = Vector3(0.0, -34.0, -42.0)
|
||||
particles.amount = 360
|
||||
particles.lifetime = 14.0
|
||||
particles.preprocess = 14.0
|
||||
particles.visibility_aabb = AABB(
|
||||
Vector3(-50.0, -35.0, -78.0),
|
||||
Vector3(100.0, 70.0, 156.0)
|
||||
)
|
||||
|
||||
var motion := ParticleProcessMaterial.new()
|
||||
motion.emission_shape = ParticleProcessMaterial.EMISSION_SHAPE_BOX
|
||||
motion.emission_box_extents = Vector3(45.0, 28.0, 70.0)
|
||||
motion.direction = Vector3(0.1, 0.04, 0.0)
|
||||
motion.spread = 180.0
|
||||
motion.initial_velocity_min = 0.02
|
||||
motion.initial_velocity_max = 0.09
|
||||
motion.gravity = Vector3.ZERO
|
||||
motion.scale_min = 0.025
|
||||
motion.scale_max = 0.08
|
||||
particles.process_material = motion
|
||||
|
||||
var particle_mesh := SphereMesh.new()
|
||||
particle_mesh.radius = 0.035
|
||||
particle_mesh.height = 0.07
|
||||
particles.draw_pass_1 = particle_mesh
|
||||
add_child(particles)
|
||||
@@ -0,0 +1,132 @@
|
||||
[gd_scene load_steps=12 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://game/world/sites/vehicle_test_environment.gd" id="1_environment"]
|
||||
|
||||
[sub_resource type="Environment" id="EnvironmentUnderwater"]
|
||||
background_mode = 1
|
||||
background_color = Color(0.005, 0.045, 0.065, 1)
|
||||
ambient_light_source = 3
|
||||
ambient_light_color = Color(0.12, 0.32, 0.37, 1)
|
||||
ambient_light_energy = 0.42
|
||||
fog_enabled = true
|
||||
fog_light_color = Color(0.07, 0.25, 0.3, 1)
|
||||
fog_light_energy = 0.48
|
||||
fog_density = 0.014
|
||||
fog_height = -4.0
|
||||
fog_height_density = 0.025
|
||||
volumetric_fog_enabled = true
|
||||
volumetric_fog_density = 0.025
|
||||
volumetric_fog_length = 72.0
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="RockMaterial"]
|
||||
albedo_color = Color(0.075, 0.19, 0.19, 1)
|
||||
roughness = 0.92
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="RockMaterialLight"]
|
||||
albedo_color = Color(0.105, 0.25, 0.24, 1)
|
||||
roughness = 0.88
|
||||
|
||||
[sub_resource type="BoxMesh" id="SeafloorMesh"]
|
||||
size = Vector3(220, 8, 250)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="SeafloorShape"]
|
||||
size = Vector3(220, 8, 250)
|
||||
|
||||
[sub_resource type="BoxMesh" id="RockMeshA"]
|
||||
size = Vector3(12, 30, 14)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="RockShapeA"]
|
||||
size = Vector3(12, 30, 14)
|
||||
|
||||
[sub_resource type="BoxMesh" id="RockMeshB"]
|
||||
size = Vector3(18, 42, 16)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="RockShapeB"]
|
||||
size = Vector3(18, 42, 16)
|
||||
|
||||
[sub_resource type="SphereMesh" id="BeaconMesh"]
|
||||
radius = 0.55
|
||||
height = 1.1
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="BeaconMaterial"]
|
||||
shading_mode = 0
|
||||
albedo_color = Color(0.2, 0.78, 0.9, 1)
|
||||
emission_enabled = true
|
||||
emission = Color(0.2, 0.78, 0.9, 1)
|
||||
emission_energy_multiplier = 5.0
|
||||
|
||||
[node name="VehicleTestEnvironment" type="Node3D"]
|
||||
script = ExtResource("1_environment")
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("EnvironmentUnderwater")
|
||||
|
||||
[node name="AmbientDirection" type="DirectionalLight3D" parent="."]
|
||||
rotation_degrees = Vector3(-52, -24, 0)
|
||||
light_color = Color(0.39, 0.65, 0.7, 1)
|
||||
light_energy = 0.38
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="Seafloor" type="StaticBody3D" parent="."]
|
||||
position = Vector3(0, -84, -58)
|
||||
|
||||
[node name="Mesh" type="MeshInstance3D" parent="Seafloor"]
|
||||
mesh = SubResource("SeafloorMesh")
|
||||
material_override = SubResource("RockMaterial")
|
||||
|
||||
[node name="Collision" type="CollisionShape3D" parent="Seafloor"]
|
||||
shape = SubResource("SeafloorShape")
|
||||
|
||||
[node name="RockNearLeft" type="StaticBody3D" parent="."]
|
||||
position = Vector3(-10, -18, -18)
|
||||
rotation_degrees = Vector3(0, -14, 8)
|
||||
|
||||
[node name="Mesh" type="MeshInstance3D" parent="RockNearLeft"]
|
||||
mesh = SubResource("RockMeshA")
|
||||
material_override = SubResource("RockMaterialLight")
|
||||
|
||||
[node name="Collision" type="CollisionShape3D" parent="RockNearLeft"]
|
||||
shape = SubResource("RockShapeA")
|
||||
|
||||
[node name="RockNearRight" type="StaticBody3D" parent="."]
|
||||
position = Vector3(12, -22, -32)
|
||||
rotation_degrees = Vector3(0, 18, -5)
|
||||
|
||||
[node name="Mesh" type="MeshInstance3D" parent="RockNearRight"]
|
||||
mesh = SubResource("RockMeshB")
|
||||
material_override = SubResource("RockMaterial")
|
||||
|
||||
[node name="Collision" type="CollisionShape3D" parent="RockNearRight"]
|
||||
shape = SubResource("RockShapeB")
|
||||
|
||||
[node name="RockFarLeft" type="StaticBody3D" parent="."]
|
||||
position = Vector3(-18, -48, -68)
|
||||
rotation_degrees = Vector3(0, 9, 4)
|
||||
|
||||
[node name="Mesh" type="MeshInstance3D" parent="RockFarLeft"]
|
||||
mesh = SubResource("RockMeshA")
|
||||
material_override = SubResource("RockMaterialLight")
|
||||
|
||||
[node name="Collision" type="CollisionShape3D" parent="RockFarLeft"]
|
||||
shape = SubResource("RockShapeA")
|
||||
|
||||
[node name="RockFarRight" type="StaticBody3D" parent="."]
|
||||
position = Vector3(20, -58, -94)
|
||||
rotation_degrees = Vector3(0, -11, -7)
|
||||
|
||||
[node name="Mesh" type="MeshInstance3D" parent="RockFarRight"]
|
||||
mesh = SubResource("RockMeshB")
|
||||
material_override = SubResource("RockMaterial")
|
||||
|
||||
[node name="Collision" type="CollisionShape3D" parent="RockFarRight"]
|
||||
shape = SubResource("RockShapeB")
|
||||
|
||||
[node name="NavigationBeacon" type="MeshInstance3D" parent="."]
|
||||
position = Vector3(0, -15, -22)
|
||||
mesh = SubResource("BeaconMesh")
|
||||
material_override = SubResource("BeaconMaterial")
|
||||
|
||||
[node name="BeaconLight" type="OmniLight3D" parent="NavigationBeacon"]
|
||||
omni_range = 12.0
|
||||
light_color = Color(0.2, 0.78, 0.9, 1)
|
||||
light_energy = 4.0
|
||||
Reference in new issue
Block a user