private IEnumerator RouteRoutine(int routeNumber)
ย ย {
ย ย ย ย coroutineAllowed = false;
ย ย ย ย var p0 = routes[routeNumber].GetChild(0).position;
ย ย ย ย var p1 = routes[routeNumber].GetChild(1).position;
ย ย ย ย var p2 = routes[routeNumber].GetChild(2).position;
ย ย ย ย var p3 = routes[routeNumber].GetChild(3).position;
ย ย ย ย while (tParam < 1)
ย ย ย ย {
ย ย ย ย ย ย tParam += Time.deltaTime * speed;
ย ย ย ย ย ย spherePosition = Mathf.Pow(1 - tParam, 3) * p0
ย ย ย ย ย ย ย ย + 3 * Mathf.Pow(1 - tParam, 2) * tParam * p1
ย ย ย ย ย ย ย ย + 3 * (1 - tParam) * Mathf.Pow(tParam, 2) * p2
ย ย ย ย ย ย ย ย + Mathf.Pow(tParam, 3) * p3;
ย ย ย ย ย ย transform.position = spherePosition;
ย ย ย ย ย ย var distance_ = Vector3.Distance(lastPosition, transform.position) * 10f;
ย ย ย ย ย ย Debug.Log("Speed: " + distance_.ToString("0.00"));
ย ย ย ย ย ย lastPosition = transform.position;
ย ย ย ย ย ย yield return new WaitForEndOfFrame();
ย ย ย ย }
ย ย ย ย tParam = 0f;
ย ย ย ย routeToGo += 1;
ย ย ย ย if (routeToGo > routes.Length - 1) routeToGo = 0;
ย ย ย ย coroutineAllowed = true;
ย ย }
์ด์ ์ด๊ฑธ ๊ฐ์ ์๋๋ก ์ด๋ํ๊ฒ ํด์ผ ํ๋๋ฐ ์ด๋ฌ๋ ค๋ฉด ์คํ๋ผ์ธ ๊ธธ์ด๋ฅผ ๊ตฌํด์ผ ๋๋ ๊ฑฐ์์ฌ?
์ ๋ผ์ด ใ ใ ๋๋ ค ์น์ธ๊น?
๋๊ฐ ๊ฒ์ ๋ง๋๋๊ฑฐ ์ํ ํ์ ์๋ค ํ๋!!
๋๊ธ 0