์ฌ์ค ์ ๋ชฉ์ ์ฌ์ด๊ฑธ๋ก ์จ๋๊ณ ๋ง์ด๋ค ๋ด์ฃผ๊ธธ ๋ฐ๋์ ์จ๋ด..
๋ฌธ์ ๋ ํ์ ์ด ์๋๋ผ ์ด๋ค ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ํ๋ฐํด ๋๋ ธ๋์ง ๋๋ฐํด ๋๋ ธ๋์ง ์ฒดํฌ๋ฅผ ํ๊ณ ์ถ์๊ฑด๋ฐ
ํ์ ์์ฒด๊ฐ ์นด๋ฉ๋ผ๊ฐ ํ๋๊ฑฐ๊ณ ์นด๋ฉ๋ผ๋ RotateAround๋ก 0,0,0์ ์ถ์์ผ์์ ๋๊ฒ ํด๋จ๊ฑฐ๋ ?
๊ทผ๋ฐ ๋ญ ์์๋ง ๋ค ๋ฌด์ํ๊ณ ๋ผ๋ ํ์ ์ ๋ช๋ฐํดํ๋์ง ์์๋ด์ผํ๋๋ฐ
์ฝ๋ฃจํด์ผ๋ก ์นด๋ฉ๋ผ๋ฅผ ๊ณ์ ๋๋ฆฌ๊ณ
์นด๋ฉ๋ผ๋ฅผ y์ถ์ผ๋ก ๋๋ฆฌ๋๊น 360์ผ๋ก ๋๋ ๋จ์ด์ง๋ฉด ํ๋ฐํด๊ฐ ๋ ๊ฑฐ๊ฐ์๋ฐ..
์ฌ๊ธฐ์ ์นด์ดํธ๊ฐ ์์ฌ๋ผ๊ฐ๋๊ฑฐ๋ณด๋๊น ์ฌ๊ธฐ ๋ฑ๋จ์ด์ง๊ฒ ์๊ฑธ๋ฆฌ๋๊ฑฐ๊ฐ์๋ฐ..
์ข์ ๋ฐฉ๋ฒ ์์๊น?ย ย ย
float speed = 10f
int count;
IEnumerator CameraRotation()
ย ย {
ย ย ย ย while (true)
ย ย ย ย {
ย ย ย ย ย ย Camera.main.transform.RotateAround(this.transform.position, Vector3.up, speed);
ย ย ย ย ย ย if(Camera.main.transform.localEulerAngles.y / 360 == 0)
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย countย += 1;
ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย yield return null;
ย ย ย ย }
ย ย }
if(Camera.main.transform.localEulerAngles.y >= 360) { Camera.main.transform.localEulerAngles.y -= 360; count += 1; }
์ด๋ ๊ฒ ๋๋ ์๋๋๋ ๋ชจ๋ฅด๊ฒ ๋ค ํธ๋์คํผ์์ ํธ์ง์ด ์๋ ํ ๋ฐ ์๊ฐ์์ด ์ ์๋ค
y ๊ฐ์ด 360 ๋ณด๋ค ํด ๋ ์นด์ดํธ +1, y ๊ฐ์ y๊ฐ -360์ผ๋ก ์ค์
DeltaAngle์ ๊ตฌํ์ ...
if(Camera.main.transform.localEulerAngles.y / 360 == 0) ์ฌ๊ธฐ์ ๊ฐ์ด 0์ด ๋ ์ ์๋?
Mathf.DeltaAngle ์จ์ ์ด์ rotate๋ ํ์ฌ rotate๋ ๋น๊ตํ๊ณ ์ฐจ๋ถ์ ๊ธ๋ก๋ฒ ๋ณ์์๋ค๊ฐ ์ถ์ ์ํค๋ฉด ํ์ ์ด๋์ ์ป์ ์ ์์ ๊ฑฐ์ ๊ทธ๊ฑธ 360์ผ๋ก ๋๋
์ผ ๋๊ฐ ์ฌ๋ํ๋ ์ด๋ฆผ
์ค์๊ฐ ๋ฑ 0์ด ๋ ํ๋ฅ ์ด ์ผ๋ง๋ ๋๊ฒ ๋