Browse Source

:beetle: Fix the thrust direction

For next time : let the model in the original direction, i.d. facing z
negative, in order to keep Vector3.FORWARD meaning.
DricomDragon 3 months ago
parent
commit
836533edea

+ 4 - 2
godot/component/entity/vehicles/biplan/biplan.gd

@@ -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

+ 4 - 0
godot/component/entity/vehicles/biplan/biplan.tscn

@@ -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"]]