diff options
author | chai <215380520@qq.com> | 2024-03-13 11:00:58 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-03-13 11:00:58 +0800 |
commit | 6ce8b9e22fc13be34b442c7b6af48b42cd44275a (patch) | |
tree | b38119d2acf0a982cb67e381f146924b9bfc3b3f /WheelVisualizer.cs |
+init
Diffstat (limited to 'WheelVisualizer.cs')
-rw-r--r-- | WheelVisualizer.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/WheelVisualizer.cs b/WheelVisualizer.cs new file mode 100644 index 0000000..679db09 --- /dev/null +++ b/WheelVisualizer.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +public class WheelVisualizer : MonoBehaviour +{ + private Rigidbody rig; + + public float spinAmount; + + public float inputVelocityAmount; + + public float inputReturnVelocityAmount; + + public float inputFriction; + + private GenericInputHandler input; + + private float inputVelocity; + + private void Start() + { + rig = GetComponentInParent<Rigidbody>(); + input = GetComponentInParent<GenericInputHandler>(); + } + + private void FixedUpdate() + { + inputVelocity *= inputFriction; + } + + private void Update() + { + inputVelocity += input.inputDirection.x; + inputVelocity -= inputVelocity * inputReturnVelocityAmount * Time.deltaTime; + base.transform.localRotation = Quaternion.Euler(0f, inputVelocity * inputVelocityAmount, 0f); + base.transform.GetChild(0).Rotate(Vector3.right * spinAmount * Time.deltaTime * rig.transform.InverseTransformDirection(rig.velocity).z, Space.Self); + } +} |