mirror of
https://github.com/Theaninova/mhlib.git
synced 2025-12-12 20:46:20 +00:00
204 lines
12 KiB
Plaintext
204 lines
12 KiB
Plaintext
[gd_scene load_steps=16 format=3 uid="uid://1sm0qglu7q7i"]
|
|
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/moorhuhn.lwo/layer_0.res" id="1_7xoeb"]
|
|
[ext_resource type="Script" path="res://PhysicsInterpolator.gd" id="1_xwg54"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/moorhuhn.lwo/layer_1.res" id="2_rqr3x"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/moorhuhn.lwo/layer_2.res" id="3_2ahcn"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/kart_01.lwo/layer_0.res" id="4_tcjef"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/kart_01.lwo/layer_1.res" id="5_13jx2"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/kart_01.lwo/layer_6.res" id="6_0vyph"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/kart_01.lwo/layer_7.res" id="7_1mx86"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/kart_01.lwo/layer_8.res" id="8_pw7qf"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/kart_01.lwo/layer_3.res" id="9_6j3ei"]
|
|
[ext_resource type="ArrayMesh" path="res://games/mhk3/D/Moorhuhnkart/3dobjects_cars/kart_01.lwo/layer_4.res" id="10_5d0vq"]
|
|
|
|
[sub_resource type="GDScript" id="GDScript_dfi4v"]
|
|
script/source = "extends VehicleBody3D
|
|
|
|
@export_range(0, 90, 0.1, \"radians\") var max_steer = PI
|
|
@export var max_accel = 600.0
|
|
@export var max_brake = 4.0
|
|
@export var top_speed = 40.0
|
|
|
|
@export_exp_easing(\"attenuation\") var acceleration_curve = 0.5
|
|
@export_exp_easing(\"attenuation\") var steering_curve = 0.5
|
|
|
|
@export_range(0, 90, 0.1, \"radians\") var camera_steer = PI / 4.0
|
|
@export_exp_easing(\"attenuation\") var camera_steer_amount = 0.2
|
|
|
|
@onready var camera_arm = %Camera
|
|
|
|
func _process(delta):
|
|
camera_arm.global_transform = Transform3D(
|
|
camera_arm.global_transform.basis.slerp(global_transform.basis, delta * 14.0),
|
|
camera_arm.global_transform.origin.slerp(global_transform.origin, delta * 8.0)).orthonormalized()
|
|
|
|
func _physics_process(delta):
|
|
var accel = Input.get_axis(\"Brake\", \"Accelerate\")
|
|
var steer = Input.get_axis(\"Steer Left\", \"Steer Right\")
|
|
var speed = linear_velocity.length()
|
|
var speed_ratio = clampf(absf(speed / top_speed), 0.0, 1.0)
|
|
var speed_ratio_att = 1.0 - speed_ratio
|
|
|
|
var is_accelerating = Input.is_action_pressed(\"Accelerate\") or Input.is_action_pressed(\"Brake\")
|
|
var is_steering = Input.is_action_pressed(\"Steer Left\") or Input.is_action_pressed(\"Steer Right\")
|
|
|
|
accel *= ease(speed_ratio_att, acceleration_curve)
|
|
steer *= ease(speed_ratio_att, steering_curve)
|
|
|
|
if is_accelerating:
|
|
engine_force = max_accel * accel
|
|
brake = 0.0
|
|
else:
|
|
brake = max_brake
|
|
engine_force = 0.0
|
|
|
|
steering = lerpf(steering, max_steer * -steer, delta * (1.0 if is_steering else 6.0))
|
|
"
|
|
|
|
[sub_resource type="SphereShape3D" id="SphereShape3D_b66lv"]
|
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0jwr0"]
|
|
radius = 0.232815
|
|
height = 1.04271
|
|
|
|
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_brd41"]
|
|
points = PackedVector3Array(-0.0201069, 0.0673008, -0.585454, -0.0201069, 0.218916, -0.585454, 0.229898, 0.0673008, -0.544651, -0.0201069, 0.0319772, -0.565511, -0.200022, 0.0319772, -0.570096, -0.200022, 0.0673008, -0.580068, -0.0201069, 0.267626, -0.565511, 0.229898, 0.196375, -0.544651, -0.200022, 0.217664, -0.580068, -0.200022, 0.267972, -0.570096, 0.819866, 0.109966, -0.404477, 0.374847, 0.0673008, -0.510038, 0.362927, 0.0319772, -0.500066, 0.229898, 0.0319772, -0.524594, 0.79841, 0.021311, -0.332155, -0.160129, 0.0159995, -0.185562, -0.458609, 0.0659621, -0.0723222, -0.682072, 0.114457, -0.377886, -0.69431, 0.159971, -0.442644, -0.714018, 0.233555, -0.467401, -0.690019, 0.239989, -0.477716, -0.100051, 0.0159995, -0.18923, -0.0201069, 0.327607, -0.532158, 0.229898, 0.238348, -0.524594, -0.200022, 0.327996, -0.536743, 0.374847, 0.217966, -0.500066, 0.374847, 0.177633, -0.510038, -0.711316, 0.319403, -0.451011, 0.845137, 0.164031, -0.385107, 0.836236, 0.102408, -0.397142, 0.812873, 0.0522731, -0.379147, 0.812396, 0.0336613, -0.326539, 0.79841, 0.021311, 0.33204, 0.744531, 0.0159995, -0.0530668, 0.0898763, 0.0159995, -0.188542, -0.160129, 0.0159995, 0.185447, -0.458609, 0.0659621, 0.0722076, -0.682072, 0.114457, 0.377772, -0.697966, 0.134537, -0.370207, -0.707979, 0.171328, -0.422701, -0.723872, 0.230921, -0.442759, -0.733726, 0.307182, -0.442644, 0.383748, 0.423171, -0.0992568, 0.414899, 0.40918, -0.136048, 0.229898, 0.288354, -0.491241, -0.25247, 0.457156, -0.141664, -0.724508, 0.368502, -0.380981, -0.745964, 0.352697, -0.377886, 0.860712, 0.197454, -0.334447, 0.8596, 0.152501, -0.379147, 0.861825, 0.139805, -0.364591, 0.842912, 0.0992561, -0.379147, 0.823998, 0.0587074, -0.364591, 0.812396, 0.0336613, 0.326424, 0.873586, 0.164851, -0.326539, 0.744531, 0.0159995, 0.0529522, 0.812873, 0.0522731, 0.379032, 0.362927, 0.0319772, 0.499951, 0.229898, 0.0319772, 0.524479, -0.0201069, 0.0319772, 0.565397, -0.200022, 0.0319772, 0.569981, -0.100051, 0.0159995, 0.189115, 0.0898763, 0.0159995, 0.188427, -0.69431, 0.159971, 0.442529, -0.707979, 0.171328, 0.422586, -0.697966, 0.134537, 0.370093, -0.74962, 0.327348, -0.370207, -0.739766, 0.290513, -0.422701, 0.383748, 0.423171, 0.0991421, 0.414899, 0.40918, 0.135934, -0.25247, 0.457156, 0.14155, -0.724508, 0.368502, 0.380866, -0.745964, 0.352697, 0.377772, 0.860712, 0.197454, 0.334333, 0.874063, 0.183463, -0.332155, 0.873586, 0.164851, 0.326424, 0.842912, 0.0992561, 0.379032, 0.823998, 0.0587074, 0.364476, 0.836236, 0.102408, 0.397027, 0.374847, 0.0673008, 0.509923, 0.229898, 0.0673008, 0.544537, 0.819866, 0.109966, 0.404362, -0.0201069, 0.0673008, 0.585454, -0.200022, 0.0673008, 0.579953, -0.690019, 0.239989, 0.477602, -0.714018, 0.233555, 0.467286, -0.723872, 0.230921, 0.442644, -0.74962, 0.327348, 0.370093, -0.0201069, 0.327607, 0.532044, 0.229898, 0.288354, 0.491126, -0.200022, 0.327996, 0.536628, -0.711316, 0.319403, 0.450896, -0.739766, 0.290513, 0.422586, -0.733726, 0.307182, 0.442529, 0.845137, 0.164031, 0.384992, 0.8596, 0.152501, 0.379032, 0.874063, 0.183463, 0.33204, 0.861825, 0.139805, 0.364476, 0.229898, 0.196375, 0.544537, 0.374847, 0.177633, 0.509923, -0.0201069, 0.218916, 0.585454, -0.200022, 0.217664, 0.579953, -0.200022, 0.267972, 0.569981, -0.0201069, 0.267626, 0.565397, 0.229898, 0.238348, 0.524479, 0.374847, 0.217966, 0.499951)
|
|
|
|
[node name="kart" type="VehicleBody3D"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
|
mass = 150.0
|
|
center_of_mass_mode = 1
|
|
script = SubResource("GDScript_dfi4v")
|
|
max_steer = 0.485202
|
|
acceleration_curve = 2.21914
|
|
steering_curve = 0.307787
|
|
camera_steer_amount = 5.768
|
|
|
|
[node name="Camera" type="Node3D" parent="."]
|
|
unique_name_in_owner = true
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0)
|
|
top_level = true
|
|
|
|
[node name="CameraArm" type="SpringArm3D" parent="Camera"]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.86265e-09, 1.36095, -0.247209)
|
|
shape = SubResource("SphereShape3D_b66lv")
|
|
spring_length = -2.06
|
|
|
|
[node name="Camera3D" type="Camera3D" parent="Camera/CameraArm"]
|
|
transform = Transform3D(-1, 1.21669e-08, -8.6572e-08, 0, 0.990268, 0.139173, 8.74228e-08, 0.139173, -0.990268, 0, 0, 0)
|
|
|
|
[node name="Interpolator" type="Node3D" parent="."]
|
|
script = ExtResource("1_xwg54")
|
|
|
|
[node name="Character" type="Node3D" parent="Interpolator"]
|
|
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
|
|
|
|
[node name="layer_0" type="MeshInstance3D" parent="Interpolator/Character"]
|
|
mesh = ExtResource("1_7xoeb")
|
|
skeleton = NodePath("../..")
|
|
|
|
[node name="layer_1" type="MeshInstance3D" parent="Interpolator/Character"]
|
|
mesh = ExtResource("2_rqr3x")
|
|
skeleton = NodePath("../..")
|
|
|
|
[node name="layer_2" type="MeshInstance3D" parent="Interpolator/Character"]
|
|
mesh = ExtResource("3_2ahcn")
|
|
skeleton = NodePath("../..")
|
|
|
|
[node name="kart_01" type="Node3D" parent="Interpolator"]
|
|
transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -0.00301218, -0.102925, 0.0106623)
|
|
|
|
[node name="kart_base" type="MeshInstance3D" parent="Interpolator/kart_01"]
|
|
mesh = ExtResource("4_tcjef")
|
|
|
|
[node name="steering_wheel" type="MeshInstance3D" parent="Interpolator/kart_01"]
|
|
mesh = ExtResource("5_13jx2")
|
|
|
|
[node name="engine" type="MeshInstance3D" parent="Interpolator/kart_01"]
|
|
mesh = ExtResource("6_0vyph")
|
|
|
|
[node name="layer_7" type="MeshInstance3D" parent="Interpolator/kart_01"]
|
|
mesh = ExtResource("7_1mx86")
|
|
|
|
[node name="exhaust" type="MeshInstance3D" parent="Interpolator/kart_01"]
|
|
mesh = ExtResource("8_pw7qf")
|
|
|
|
[node name="CharacterCollision" type="CollisionShape3D" parent="."]
|
|
transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -0.00301217, 0.516557, 0.0695111)
|
|
shape = SubResource("CapsuleShape3D_0jwr0")
|
|
|
|
[node name="KartCollision" type="CollisionShape3D" parent="."]
|
|
transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -0.00301218, -0.102925, 0.0106623)
|
|
shape = SubResource("ConvexPolygonShape3D_brd41")
|
|
|
|
[node name="FrontLeftWheel" type="VehicleWheel3D" parent="."]
|
|
transform = Transform3D(1, 0, 1.74846e-07, 0, 1, 0, -1.74846e-07, 0, 1, 0.408904, 0.0390752, 0.560662)
|
|
use_as_traction = true
|
|
use_as_steering = true
|
|
wheel_roll_influence = 0.01
|
|
wheel_radius = 0.14
|
|
wheel_rest_length = 0.05
|
|
suspension_travel = 0.1
|
|
suspension_stiffness = 50.0
|
|
|
|
[node name="Interpolator" type="Node3D" parent="FrontLeftWheel"]
|
|
script = ExtResource("1_xwg54")
|
|
|
|
[node name="wheel_fr" type="MeshInstance3D" parent="FrontLeftWheel/Interpolator"]
|
|
transform = Transform3D(-7.54979e-08, -6.60024e-15, 1, 8.74228e-08, -1, 0, 1, 8.74228e-08, 7.54979e-08, -0.412, 0.142, -0.55)
|
|
mesh = ExtResource("9_6j3ei")
|
|
skeleton = NodePath("../../../Interpolator/kart_01")
|
|
|
|
[node name="FrontRightWheel" type="VehicleWheel3D" parent="."]
|
|
transform = Transform3D(1, 0, 1.74846e-07, 0, 1, 0, -1.74846e-07, 0, 1, -0.415154, 0.0390752, 0.560662)
|
|
use_as_traction = true
|
|
use_as_steering = true
|
|
wheel_roll_influence = 0.01
|
|
wheel_radius = 0.14
|
|
wheel_rest_length = 0.05
|
|
suspension_travel = 0.1
|
|
suspension_stiffness = 50.0
|
|
|
|
[node name="Node3D" type="Node3D" parent="FrontRightWheel"]
|
|
script = ExtResource("1_xwg54")
|
|
|
|
[node name="wheel_fr" type="MeshInstance3D" parent="FrontRightWheel/Node3D"]
|
|
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.412142, -0.142, -0.55)
|
|
mesh = ExtResource("9_6j3ei")
|
|
skeleton = NodePath("../../../Interpolator/kart_01")
|
|
|
|
[node name="RearLeftWheel" type="VehicleWheel3D" parent="."]
|
|
transform = Transform3D(1, 0, 1.74846e-07, 0, 1, 0, -1.74846e-07, 0, 1, 0.420988, 0.0620752, -0.434338)
|
|
use_as_traction = true
|
|
wheel_roll_influence = 0.01
|
|
wheel_radius = 0.175
|
|
wheel_rest_length = 0.05
|
|
suspension_travel = 0.1
|
|
suspension_stiffness = 50.0
|
|
|
|
[node name="Node3D" type="Node3D" parent="RearLeftWheel"]
|
|
script = ExtResource("1_xwg54")
|
|
|
|
[node name="wheel_bl" type="MeshInstance3D" parent="RearLeftWheel/Node3D"]
|
|
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.421, -0.175, 0.44)
|
|
mesh = ExtResource("10_5d0vq")
|
|
skeleton = NodePath("../../../Interpolator/kart_01")
|
|
|
|
[node name="RearRightWheel" type="VehicleWheel3D" parent="."]
|
|
transform = Transform3D(1, 0, 1.74846e-07, 0, 1, 0, -1.74846e-07, 0, 1, -0.427012, 0.0620752, -0.434735)
|
|
use_as_traction = true
|
|
wheel_roll_influence = 0.01
|
|
wheel_radius = 0.175
|
|
wheel_rest_length = 0.05
|
|
suspension_travel = 0.1
|
|
suspension_stiffness = 50.0
|
|
|
|
[node name="Node3D" type="Node3D" parent="RearRightWheel"]
|
|
script = ExtResource("1_xwg54")
|
|
|
|
[node name="wheel_bl" type="MeshInstance3D" parent="RearRightWheel/Node3D"]
|
|
transform = Transform3D(4.37114e-08, 0, 1, 0, -1, 0, -1, 0, 4.37114e-08, 0.421, 0.18, -0.44)
|
|
mesh = ExtResource("10_5d0vq")
|
|
skeleton = NodePath("../../../Interpolator/kart_01")
|