작성
·
328
0
안녕하세요! 강의를 다 듣고 프로젝트 진행하고 있습니다.
collider부분에서 문제가 있어서 다시 강의보고 있는데, 해결방법이 도무지 생각나지 않습니다.
traffic system을 만들고 있는데, 한 대의 차가 다른 차와 부딪히면, 잠시동안 둘 중에 하나의 차만 멈추고 이후에는 두대의 속도를 같게 하여 다시 부딪치지 않게 하는 코드를 작성중입니다.
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Car")
{
NpcCarController mine = gameObject.GetComponent<NpcCarController>();
NpcCarController othercar = collision.gameObject.GetComponent<NpcCarController>();
timer += Time.deltaTime;
if (timer < waitingtime)
{
mine.movementSpeed = 0;
timer = 0;
}
else
{
mine.movementSpeed = othercar.movementSpeed;
}
}
}
하지만, 저가 차를 20대 정도 스폰하고 모든 차에 저 코드가 포함된 스크립트를 공통으로 붙여서 a차와 b차가 충돌할 경우, a차에서 mine은 a차, othercar는 b차. b차에서 mine은 b차 othercar는 a차가 되어서 두차 모두 쉬고 다시 출발하는 코드가 되어버립니다.
혹시 코드를 고쳐서 둘중의 한대의 차만 movementspeed를 0으로 할 수 있는 방법이 있을까요?
ps. 강의가 프로젝트에 큰 도움이 되었습니다. 감사합니다.