0

現在、車の 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; 

}

上記は私のエンジンから車へのコードです。

4

1 に答える 1