1 using System.Collections;
2 using System.Collections.Generic;
11 [Tooltip(
"Distance from ground when ground effect ends")]
12 private float groundDistance;
13 [Tooltip(
"Max list force")]
14 private float liftForce;
15 [Tooltip(
"Max speed for max round effect")]
16 private float maxSpeed;
21 #region Builtin Methods
25 groundDistance = (float)CommonFunctions.airplanePreset[CommonFunctions.ActiveAirplane+
"/groundDistance"];
26 liftForce = (
float)CommonFunctions.airplanePreset[CommonFunctions.ActiveAirplane+
"/liftForce"];
27 maxSpeed = (float)CommonFunctions.airplanePreset[CommonFunctions.ActiveAirplane+
"/maxSpeed"];
28 rb = GetComponent<Rigidbody>();
41 #region Custom Methods
48 if(Physics.Raycast(transform.position, Vector3.down, out hit))
50 if(hit.distance < groundDistance && hit.transform.tag==
"Ground")
53 float currentSpeed = rb.velocity.magnitude;
54 float normalizedSpeed = currentSpeed/maxSpeed;
55 normalizedSpeed = Mathf.Clamp01(normalizedSpeed);
57 float distance = groundDistance - hit.distance;
58 float finalForce = liftForce *distance *normalizedSpeed;
59 rb.AddForce(Vector3.up*finalForce);