[gd_scene load_steps=13 format=2]

[ext_resource path="res://assets/basic_buggy.glb" type="PackedScene" id=1]
[ext_resource path="res://vehicles/tire_smoke.tscn" type="PackedScene" id=2]
[ext_resource path="res://vehicles/vehicle.gd" type="Script" id=3]

[sub_resource type="Curve" id=2]
_data = [ Vector2( 0, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.0660377, 0.243255 ), 0.0, 0.0, 0, 0, Vector2( 0.25, 0.563636 ), 4.02975, 4.02975, 0, 0, Vector2( 0.518868, 0.761364 ), 3.22818, 3.22818, 0, 0, Vector2( 0.849057, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]

[sub_resource type="Curve" id=4]
_data = [ Vector2( 0, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.0849057, 1 ), 0.0, 0.0, 0, 0, Vector2( 0.15566, 0.746591 ), 0.0, 0.0, 0, 0, Vector2( 0.349057, 1 ), 0.0, 0.0, 0, 0, Vector2( 0.382075, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.400943, 1 ), 0.0, 0.0, 0, 0, Vector2( 0.438679, 0 ), 0.0, 0.0, 0, 0, Vector2( 1, 1 ), 0.0, 0.0, 0, 0 ]

[sub_resource type="CapsuleShape" id=11]
radius = 0.452181
height = 2.78888

[sub_resource type="AudioStreamGenerator" id=3]
mix_rate = 5500.0

[sub_resource type="Curve" id=8]
_data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0.205682 ), 0.0, 0.0, 0, 0 ]

[sub_resource type="CurveTexture" id=9]
curve = SubResource( 8 )

[sub_resource type="ParticlesMaterial" id=5]
direction = Vector3( 0, 0, -1 )
gravity = Vector3( 0, 0.2, 0 )
initial_velocity = 0.8
scale = 0.2
scale_random = 0.25
scale_curve = SubResource( 9 )
color = Color( 0.521569, 0.521569, 0.521569, 0.435294 )

[sub_resource type="SpatialMaterial" id=10]
flags_transparent = true
vertex_color_use_as_albedo = true

[sub_resource type="SphereMesh" id=7]
material = SubResource( 10 )
radial_segments = 4
rings = 3

[node name="buggy" groups=["car"] instance=ExtResource( 1 )]
mass = 400.0
script = ExtResource( 3 )
max_steer_angle = 30.0
speed_steer_angle = 14.0
max_steer_speed = 120.0
max_engine_force = 160.0
max_brake_force = 80.0
throttle_power = 10000.0
max_rpm_loss_ps = 4000.0
base_engine_pitch = 0.45
gear_ratios = [ 3.8, 2.7, 2.2, 1.75, 1.4, 1.2 ]
power_curve = SubResource( 2 )
sound_curve = SubResource( 4 )
automatic_gear_up_threshold = 0.85
automatic_gear_down_threshold = 0.4

[node name="front_left" parent="." index="1"]
use_as_traction = true
use_as_steering = true
wheel_radius = 0.6
wheel_rest_length = 0.68
wheel_friction_slip = 2.0
suspension_travel = 1.2
suspension_stiffness = 4.5
suspension_max_force = 14000.0
damping_compression = 0.9
damping_relaxation = 0.94

[node name="CollisionShape" type="CollisionShape" parent="." index="2"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.23227, 0 )
shape = SubResource( 11 )

[node name="front_right" parent="." index="4"]
transform = Transform( 1, 0, 0, 0, 1, -1.50996e-07, 0, 1.50996e-07, 1, -0.950754, 0.503756, 1.41438 )
use_as_traction = true
use_as_steering = true
wheel_radius = 0.6
wheel_rest_length = 0.68
wheel_friction_slip = 2.0
suspension_travel = 1.2
suspension_stiffness = 4.5
suspension_max_force = 14000.0
damping_compression = 0.9
damping_relaxation = 0.94

[node name="front_right" parent="front_right" index="0"]
transform = Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )

[node name="rear_left" parent="." index="5"]
use_as_traction = true
wheel_radius = 0.6
wheel_rest_length = 0.68
wheel_friction_slip = 1.9
suspension_travel = 1.2
suspension_stiffness = 4.5
suspension_max_force = 14000.0
damping_compression = 0.9
damping_relaxation = 0.94

[node name="rear_right" parent="." index="6"]
transform = Transform( 1, 0, 0, 0, 1, -1.50996e-07, 0, 1.50996e-07, 1, -0.950755, 0.503756, -1.41438 )
use_as_traction = true
wheel_radius = 0.6
wheel_rest_length = 0.68
wheel_friction_slip = 1.9
suspension_travel = 1.2
suspension_stiffness = 4.5
suspension_max_force = 14000.0
damping_compression = 0.9
damping_relaxation = 0.94

[node name="rear_right" parent="rear_right" index="0"]
transform = Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )

[node name="engine_sound_player" type="AudioStreamPlayer3D" parent="." index="7"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.14201, 0.968668 )
stream = SubResource( 3 )
unit_db = 14.0
bus = "Sound"

[node name="Smoke" type="Particles" parent="." index="8"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.855953, -1.87797 )
local_coords = false
process_material = SubResource( 5 )
draw_pass_1 = SubResource( 7 )

[node name="fl_tire_smoke" parent="." index="9" instance=ExtResource( 2 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.950754, -0.0380455, 1.41438 )

[node name="fr_tire_smoke" parent="." index="10" instance=ExtResource( 2 )]
transform = Transform( 1, 0, 0, 0, 1, -1.50996e-07, 0, 1.50996e-07, 1, -0.950754, -0.038045, 1.41438 )

[node name="rl_tire_smoke" parent="." index="11" instance=ExtResource( 2 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.950753, -0.0380455, -1.41438 )

[node name="rr_tire_smoke" parent="." index="12" instance=ExtResource( 2 )]
transform = Transform( 1, 0, 0, 0, 1, -1.50996e-07, 0, 1.50996e-07, 1, -0.950755, -0.038045, -1.41438 )
