Obstacle Avoidance์— ์žˆ๋Š” ๋ฐ˜์ง€๋ฆ„, ๋†’์ด, ์šฐ์„  ์ˆœ์œ„,ย ํ€„๋ฆฌํ‹ฐ ์„ค์ •์€ ํ•ด๋†“๊ณ 

๋ฆฌ์ง€๋“œ๋ฐ”๋””๋กœ ์›€์ง์ผ๊ฑฐ๋ผ์„œ navMeshAgent์— ์žˆ๋Š” ์—…๋ฐ์ดํŠธ ํฌ์ง€์…˜, ๋กœํ…Œ์ด์…˜ ๊ป์Œ.

navMeshAgent.updatePosition = false;

navMeshAgent.updateRotation = false;



๊ทธ๋ฆฌ๊ณ  ๊ฒฝ๋กœ ๋ฐฉํ–ฅ ๊ตฌํ•ด์„œ ์ด๋™์†๋„ ๋งŒํผ ์ด๋™์‹œ์ผœ์คŒ.ย (steeringTarget ๋Œ€์‹  path.corners๋กœ ํ•ด๋„ ๋˜‘๊ฐ™์Œ)

if (navMeshAgent.SetDestination(destination))

{

Vector3 nextPathDirection = navMeshAgent.steeringTarget - transform.position;

moveDirection = nextPathDirection;

}

moveController.SetMovementAndRotation(moveDirection, status.MoveSpeed * speedRatio);


์•„๊นŒ ์—…๋ฐ์ดํŠธ ๊บผ๋†จ์œผ๋‹ˆ ์œ„์— ์ด๋™ ๋๋‚œ ํ›„์—ย ย navMeshAgent.nextPosition = transform.position; ์ด๋ ‡๊ฒŒ ์—…๋ฐ์ดํŠธ ํ•ด์คŒ.



๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ธธ์€ ์ž˜ ์ฐพ์•„๊ฐ€๋Š”๋ฐย ์„œ๋กœ ํšŒํ”ผ๋ฅผ ์•ˆํ•จ

์•ž์— ํฐ ๋†ˆ ์žˆ์œผ๋ฉด ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„ ์žˆ์–ด๋„ ๊ฑ ๋’ค์— ์ค„ ์„œ ์žˆ์–ด ใ… ใ… 

์›๋ž˜ ์ด๋Ÿฐ๊ฑด์ง€ ๋‚ด๊ฐ€ ๋ญ˜ ์ž˜๋ชปํ•˜๊ณ  ์žˆ๋Š”๊ฑด์ง€ ์กฐ์–ธ์ข€..ย