another car sript
This commit is contained in:
54
Assets/Scripts/VehichleControl.cs
Normal file
54
Assets/Scripts/VehichleControl.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class VehichleControl : MonoBehaviour
|
||||
{
|
||||
public InputController InputCtrl;
|
||||
[Tooltip("Set ref in order of FL, FR, RL, RR")]
|
||||
public WheelCollider[] WheelColliders;
|
||||
|
||||
[Tooltip("Set ref of wheel meshes in order of FL, FR, RL, RR")]
|
||||
public Transform[] Wheels;
|
||||
|
||||
public Transform CenterOfMass;
|
||||
|
||||
public int Force;
|
||||
public int Angle;
|
||||
public int BrakeForce;
|
||||
|
||||
private void Drive()
|
||||
{
|
||||
WheelColliders[0].motorTorque = WheelColliders[1].motorTorque = InputCtrl.Vertical * Force;
|
||||
}
|
||||
|
||||
private void Steer()
|
||||
{
|
||||
WheelColliders[0].steerAngle = WheelColliders[1].steerAngle = InputCtrl.Horizontal * Angle;
|
||||
}
|
||||
|
||||
private void Brake()
|
||||
{
|
||||
WheelColliders[0].brakeTorque = WheelColliders[1].brakeTorque = InputCtrl.Brake * BrakeForce;
|
||||
}
|
||||
|
||||
private void UpdateWheelMovements()
|
||||
{
|
||||
for (var i = 0; i < Wheels.Length; i++)
|
||||
{
|
||||
Vector3 pos;
|
||||
Quaternion rot;
|
||||
WheelColliders[i].GetWorldPose(out pos, out rot);
|
||||
Wheels[i].transform.position = pos;
|
||||
Wheels[i].transform.rotation = rot;
|
||||
}
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
Steer();
|
||||
Drive();
|
||||
Brake();
|
||||
UpdateWheelMovements();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user