現在、車の Unity でホイール コライダーに苦労しています。Unity で簡単な車を作ったり、さまざまなコードや車を試したりしました。しかし、私が持っているように何も機能しません。写真に見られるように、私の車輪は私の車の中心を探し続け、車輪はそれ自体を動かしません.
私の車のコントローラーの画像:
私のホイールコライダーの画像:
私の車輪の画像:
車の中央にある車輪の画像:
using UnityEngine;
public class CARController : MonoBehaviour
{
public void GetInput()
{
m_horizontalInput = Input.GetAxis("Horizontal");
m_verticalInput = Input.GetAxis("Vertical");
}
private void Steer()
{
m_steeringangle = maxSteeringAngle * m_horizontalInput;
frontDriverW.steerAngle = m_steeringangle;
frontpassengerW.steerAngle = m_steeringangle;
}
private void Accelerate()
{
frontDriverW.motorTorque = m_verticalInput * motorForce;
frontpassengerW.motorTorque = m_verticalInput * motorForce;
}
private void UpdateWheelPoses()
{
UpdateWheelPose(frontDriverW, frontDriverT);
UpdateWheelPose(frontpassengerW, frontpassengerT);
UpdateWheelPose(rearDriverW, rearDriverT);
UpdateWheelPose(rearPassengerW, rearpassengerT);
}
private void UpdateWheelPose(WheelCollider _collider, Transform _transform)
{
Vector3 _pos = _transform.position;
Quaternion _quat = _transform.rotation;
_collider.GetWorldPose(out _pos, out _quat);
_transform.position = _pos;
_transform.rotation = _quat;
}
private void FixedUpdate()
{
GetInput();
Steer();
Accelerate();
UpdateWheelPoses();
}
private float m_horizontalInput;
private float m_verticalInput;
private float m_steeringangle;
public WheelCollider frontDriverW, frontpassengerW;
public WheelCollider rearDriverW, rearPassengerW;
public Transform frontDriverT, frontpassengerT;
public Transform rearDriverT, rearpassengerT;
public float maxSteeringAngle = 30;
public float motorForce = 50;
}
上記は私のエンジンから車へのコードです。