For next time : let the model in the original direction, i.d. facing z negative, in order to keep Vector3.FORWARD meaning.
@@ -1,6 +1,8 @@
class_name Biplan
extends SeatedVehicle
+const PLANE_FORWARD := Vector3.BACK # z increases when moving forward
+
@export var thrust_power: float = 10000.0
@export var turn_to_torque: float = 2000.0
@export var move_to_pitch: float = 4000.0
@@ -15,7 +17,7 @@ var target_thrust := Vector3.ZERO
func trigger_thrust(activate: bool) -> void:
if activate:
- target_thrust = Vector3.FORWARD * thrust_power
+ target_thrust = PLANE_FORWARD * thrust_power
else:
target_thrust = Vector3.ZERO
@@ -64,7 +66,7 @@ func _apply_wing_resistance() -> void:
func _apply_lift() -> void:
- var forward_speed = linear_velocity.dot(transform.basis * Vector3.FORWARD)
+ var forward_speed = linear_velocity.dot(transform.basis * PLANE_FORWARD)
if forward_speed < 0.0 :
forward_speed = 0.0
var local_lift_force = Vector3.UP * lift * forward_speed
@@ -17,6 +17,8 @@ height = 4.27973
size = Vector3(7.995, 0.12, 0.5)
[node name="Biplan" type="VehicleBody3D" groups=["vehicle"]]
+collision_layer = 8
+collision_mask = 27
mass = 500.0
script = ExtResource("1_vi3fj")
@@ -71,3 +73,5 @@ shape = SubResource("CapsuleShape3D_d0fig")
[node name="BottomWing" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.980604, -0.195998, 0, 0.195998, 0.980604, 0, 0.107529, -0.828761)
shape = SubResource("BoxShape3D_6m175")
+[node name="DrivingSeat" type="Node3D" parent="." groups=["seat"]]