ํ˜„์žฌ ์ž๋™์ฐจ ๊ฒŒ์ž„ ๊ฐœ๋ฐœํ• ๋ คํ•˜๋Š” ํ•™์ƒ์ธ๋ฐ ์œ ๋‹ˆํ‹ฐ ์Šคํฌ๋ฆฝํŒ… ์–ด์บํ•˜๋Š”์ง€ ๊ฐ์ด ์•ˆ์žกํ˜€์„œ ๊ทธ๋ƒฅ ์˜ˆ์ œ ์ž๋ฃŒ์“ฐ๋Š” ์ค‘์ž„


using UnityEngine;

using System.Collections;

using System.Collections.Generic;


[System.Serializable]

public class AxleInfo

{

ย  ย  public WheelCollider leftWheel;

ย  ย  public WheelCollider rightWheel;

ย  ย  public bool motor;

ย  ย  public bool steering;

}


public class SimpleCarController : MonoBehaviour

{

ย  ย  public List axleInfos;

ย  ย  public float maxMotorTorque;

ย  ย  public float maxSteeringAngle;


ย  ย  // finds the corresponding visual wheel

ย  ย  // correctly applies the transform

ย  ย  public void ApplyLocalPositionToVisuals(WheelCollider collider)

ย  ย  {

ย  ย  ย  ย  if (collider.transform.childCount == 0)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  return;

ย  ย  ย  ย  }


ย  ย  ย  ย  Transform visualWheel = collider.transform.GetChild(0);


ย  ย  ย  ย  Vector3 position;

ย  ย  ย  ย  Quaternion rotation;

ย  ย  ย  ย  collider.GetWorldPose(out position, out rotation);


ย  ย  ย  ย  visualWheel.transform.position = position;

ย  ย  ย  ย  visualWheel.transform.rotation = rotation;

ย  ย  }


ย  ย  public void FixedUpdate()

ย  ย  {

ย  ย  ย  ย  float motor = maxMotorTorque * Input.GetAxis("Vertical");

ย  ย  ย  ย  float steering = maxSteeringAngle * Input.GetAxis("Horizontal");


ย  ย  ย  ย  foreach (AxleInfo axleInfo in axleInfos)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  if (axleInfo.steering)

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  axleInfo.leftWheel.steerAngle = steering;

ย  ย  ย  ย  ย  ย  ย  ย  axleInfo.rightWheel.steerAngle = steering;

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  ย  ย  if (axleInfo.motor)

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  axleInfo.leftWheel.motorTorque = motor;

ย  ย  ย  ย  ย  ย  ย  ย  axleInfo.rightWheel.motorTorque = motor;

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  ย  ย  ApplyLocalPositionToVisuals(axleInfo.leftWheel);

ย  ย  ย  ย  ย  ย  ApplyLocalPositionToVisuals(axleInfo.rightWheel);

ย  ย  ย  ย  }

ย  ย  }

}


์ด ์ฝ”๋“œ์—์„œ ์ฐจ ๊ฐ€์†๋„ ์„ค์ •ํ•˜๊ฒŒ ์–ด์บ ๋ฐ”๊ฟˆ?