U_WheelCollider
Unity WheelCollider 轮子碰撞体
//同步 wheelCollider 位置和旋转值至 Mesh 所在 Transform wheelCollider.GetWorldPose(out pos, out rot); wheelTransform.rotation = rot; wheelTransform.position = pos;
//载具旋转操作 private void HandleSteering() { currentSteerAngle = maxSteerAngle * horizontalInput; frontLeftWheelCollider.steerAngle = currentSteerAngle; frontRightWheelCollider.steerAngle = currentSteerAngle; }
//载具制动 private void ApplyBreaking() { frontRightWheelCollider.brakeTorque = currentbreakForce; frontLeftWheelCollider.brakeTorque = currentbreakForce; rearLeftWheelCollider.brakeTorque = currentbreakForce; rearRightWheelCollider.brakeTorque = currentbreakForce; }
//载具动力 private void HandleMotor() { MyRigidbody.useGravity = true; frontLeftWheelCollider.motorTorque = verticalInput * motorForce; frontRightWheelCollider.motorTorque = verticalInput * motorForce; currentbreakForce = isBreaking ? breakForce : 0f; ApplyBreaking(); }
//获取输入 private void GetInput() { horizontalInput = Input.GetAxis(HORIZONTAL); verticalInput = Input.GetAxis(VERTICAL); isBreaking = Input.GetKey(KeyCode.Space); }

浙公网安备 33010602011771号