viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73fee86fa11d028310f26c7ac70778cce12f3e75985e7e89617f50ecfc7c71fd04dc045e0bf1c171bebb90117741e7cb3359673c77d1fbe

총돌리기 움지


νšŒμ „λ³€ν™˜μœΌλ‘œ μ‚½μ§ˆμ„ μ—¬λŸ¬λ²ˆν•΄μ„œ 이제 μ’€ μ›ν•˜λŠ” μˆ˜μ€€μ˜ νšŒμ „μ„ κ΅¬ν˜„ν•  수 있게 λ˜μ—ˆμŒ...


λ Œλ” κ΄€λ ¨ 엔진을 λŒ€λŒ€μ μœΌλ‘œ μˆ˜μ •ν•˜λŠλΌ μ§„λ„λŠ” λ³„λ‘œ λ‚˜κ°„κ²Œ μ—†κ³  μ΅œμ ν™”μ™€ λ―Έκ΅¬ν˜„ κΈ°λŠ₯ 보완을 ν–ˆμŒ.



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73fee86fa11d028310f26c7ac70778cce12f3e75985e7e89617f50ecfc7c71fd04dc045e0bf1c171bebb90149751c29e1349028c76a18bf


μœ„ 사진은 타일 셋을 45도 νšŒμ „μ‹œν‚¨ 것.


λ Œλ” 엔진에 이미지 버퍼λ₯Ό ν™œμš©ν•΄μ„œ νšŒμ „μ—°μ‚°μ„ 보닀 λ³΅ν•©μ μœΌλ‘œ ν™œμš©ν•  수 있게 λ˜μ—ˆμŒ.


이미지 버퍼 λ¬Έμ œλŠ” 아직 λ―Έν•΄κ²°μ΄μ§€λ§Œ 해결책을 찾은 κ±° κ°™μ•„ μΆ”ν›„ μˆ˜μ •ν•  μ˜ˆμ •.


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73fee86fa11d028310f26c7ac70778cce12f3e75985e7e89617f50ecfc7c71fd04dc045e0bf1c171bebb90113774a7eb634902ec76a18bf


에어리어 μ»΄ν¬λ„ŒνŠΈλ₯Ό μΆ”κ°€ν•˜μ—¬ μ˜μ—­ 연산이 κ°€λŠ₯ν•΄ μ‘ŒκΈ°μ— μ½œλ¦¬μ „ 체크λ₯Ό ν•  수 있게됨.


아직 μƒν˜Έμž‘μš© μŠ€ν¬λ¦½νŠΈλŠ” μž‘μ„±ν•˜μ§€ μ•Šμ•„μ„œ 좩돌 μ—¬λΆ€λ§Œ ν™•μΈν•˜λ„λ‘ 둜그λ₯Ό 띄움.



== μ΅œμ ν™” κ΄€λ ¨ 주저리 ==


κ·Έλž˜ν”½ 가속을 λͺ»λ°›λŠ”λ‹€λŠ” ν•œκ³„μ— μžˆμ–΄μ„œ μ—°μ‚° μ„±λŠ₯ μ΅œμ ν™”λ₯Ό μ§„μ§€ν•˜κ²Œ κ³ λ―Όν•˜κ²Œ 됨...


크게 두가지 뢀뢄을 κ°œμ„ ν–ˆλŠ”λ°, μ‹œν”„νŠΈ μ—°μ‚° ν™œμš©κ³Ό μ‚Όκ°ν•¨μˆ˜ μ—°μ‚° κ°„λž΅ν™”μž„.



ν•˜λ‚˜λŠ” λ‹¨μˆœν•œ λ‚˜λˆ—μ…ˆμ€ μ •μˆ˜ μ‹œν”„νŠΈ μ—°μ‚°μœΌλ‘œ λ³€κ²½ν•œ 점.


λ‚˜λˆ—μ…ˆμ„ ν•˜κ²Œλ˜λ©΄ μ—°μ‚° κ³Όμ •κ³Ό 결과값이 λŒ€κ°œ λΆ€λ™μ†Œμˆ˜μ  연산을 ν•˜κ²Œλ¨.


그런데 막 ν™”λ©΄μ˜ 정쀑앙 μ’Œν‘œλ₯Ό κ΅¬ν•˜κ³  μ‹Άλ‹€~ ν•˜λ©΄ λŒ€κ°œ 걍 width / 2 λ₯Ό ν•΄λ²„λ¦¬λŠ”λ°,


μ–΄μ°¨ν”Ό ν™”λ©΄ λΉ„λŠ” μ •μˆ˜λ°°λ‘œ μ΄λ£¨μ–΄μ ΈμžˆλŠ”λ° 이걸 반으둜 λ‚˜λˆ„κ² λ‹€κ³  width / 2λ₯Ό ν•˜λ©΄ λΆ€λ™μ†Œμˆ˜μ μœΌλ‘œ λ°”κΎΈκ³ , κ·Έλ ‡κ²Œ λ‚˜μ˜¨ κ²°κ³Όλ₯Ό 또 μΊμŠ€νŒ…ν•΄μ•Όν•¨.


자체 λ Œλ” μ—”μ§„μ˜ μ„±λŠ₯ κ±°μ§€λ‹€ λ³΄λ‹ˆκΉŒ 이런 것 μ‘°μ°¨ μ•„κΉŒμ›Œ μ£½κ² μ–΄μ„œ 방법을 μ°ΎλŠ” 도쀑 μ‹œν”„νŠΈλ‘œ λ‚˜λˆ—μ…ˆμ„ λŒ€μ²΄ν•  수 μžˆλ‹€λŠ”κ±Έ κΈ°μ–΅ν•΄λ‚΄κ³  적용.


width / 2 == width >> 1


만일 ν™”λ©΄ 해상도가 ν™€μˆ˜λ©΄ 1ν”½μ…€ μ •λ„μ˜ μ˜€μ°¨κ°€ λ°œμƒν•˜κΈ΄ ν•˜λŠ”λ°, λ‚΄κ°€ μ•ŒκΈ°λ‘  아이폰X λ§κ³ λŠ” ν™€μˆ˜ 해상도 μ±„νƒν•œκ±Έ 본적이 μ—†μŒ. κ·Έλž˜μ„œ 맘 편히 μ‚¬μš©.


μ‹œν”„νŠΈ 연산은 컴퓨터 μ—°μ‚° 속도 μ€‘μ—μ„œ 톱을 달리기 λ•Œλ¬Έμ— μ ˆλŒ€λ‘œ 손해볼 일은 μ—†μ—ˆμŒ. κ³± 연산도 μ‹œν”„νŠΈ μ¨μ„œ ν•˜λ©΄ 쑰금 더 λΉ λ₯΄κΈ΄ 함.



λ‘λ²ˆμ§ΈλŠ” μ‚Όκ°ν•¨μˆ˜ 연산을 κ°„λž΅ν™” ν•œ 것.


μžλ°”μ˜ Math λΌμ΄λΈŒλŸ¬λ¦¬λŠ” λ‹€λ₯Έ μˆ˜ν•™λΌμ΄λΈŒλŸ¬λ¦¬κ°€ κ·Έλ ‡λ“― κ°„νŽΈν•˜κ³  κ°•λ ₯ν•˜μ§€λ§Œ, λͺ¨λ“  μ‚Όκ°ν•¨μˆ˜ 연산이 double둜 μ΄λ£¨μ–΄μ ΈμžˆμŒ.


정밀도 μΈ‘λ©΄μ—μ„œλŠ” μ’‹μ§€λ§Œ 속도와 μ„±λŠ₯μͺ½μ—μ„œλŠ” 쑰금 ν•˜μžκ°€ 있기 마련...


κ·Έλž˜μ„œ μ°Ύμ•„λ³Έ κ²°κ³Ό κ²°κ³Όκ°’ ν…Œμ΄λΈ”μ„ λ§Œλ“€μ–΄μ„œ 인덱싱 ν•˜λŠ” λ°©λ²•μœΌλ‘œ 연산을 κ°„λž΅ν™” ν•  수 μžˆλ”λΌ.


μš”μ§€λŠ” λ‹€μŒκ³Ό κ°™μŒ...


for (int i = 0; i

sin[i] = Math.sin(Math.toradian(i));

cos[i] = Math.cos(Math.toradian(i));


μœ„μ™€ 같이 360도에 λŒ€ν•œ ν•¨μˆ˜ ν…Œμ΄λΈ”μ„ λ§Œλ“€μ–΄μ„œ 색인해뒀닀가 κ·Έλ•Œκ·Έλ•Œ 값을 읽어듀이면 λ˜λŠ” 것.


λ©”λͺ¨λ¦¬μ— 6kb의 κ°€λŸ‰μ˜ ν•¨μˆ˜ ν…Œμ΄λΈ”μ„ μƒμ£Όμ‹œν‚€λŠ” κ²ƒμœΌλ‘œ 맀번 Math 라이브러리λ₯Ό ν˜ΈμΆœν•΄μ„œ 값을 κ΅¬ν•˜λŠ” 것에 λΉ„ν•΄μ„œ λΉ λ₯΄κ³  μ €λ ΄ν•˜κ²Œ μ‚Όκ°ν•¨μˆ˜λ₯Ό 읽어 올 수 있음.


λ‹€λ§Œ, λ³΄λ‹€μ‹œν”Ό 값이 360λ„λ‘œ μ •ν•΄μ Έ 있기 λ•Œλ¬Έμ— 정밀도 μΈ‘λ©΄μ—μ„œ μƒλ‹Ήνžˆ λ–¨μ–΄μ§„λ‹€λŠ”κ±΄ κ°μ•ˆν•΄μ•Όν•¨.


ν…Œμ΄λΈ”μ„ 720개의 인덱슀 μš”μ†Œλ‘œ κ΅¬μ„±ν•˜λ©΄ 0.5도 λ‹¨μœ„λ‘œ 정밀도λ₯Ό 올릴 수 있고,


κ·Έ 2λ°°λ₯Ό 더 ν• λ‹Ήν•˜λ©΄ 0.25도 λ‹¨μœ„λ‘œ 정밀도λ₯Ό 올릴 순 있음. μ•Œμ•„μ„œ νŒλ‹¨ν•΄μ„œ μ“°μ‹œκΈΈ...


λ‚˜κ°™μ€ κ²½μš°λŠ” μ•„μ£Ό 정석적인 ν”½μ…€κ²Œμž„μ΄κΈ° λ•Œλ¬Έμ— (해상도 문제 λ•Œλ¬Έμ— ν”½μ…€ μŠ€νƒ€μΌλ„ μ•„λ‹Œ μ§„μ§œ ν”½μ…€μž„, νΌνŽ™νŠΈν•˜κ²Œ ν”½μ…€ κ·Έ 자체 γ…Ž)


μŠ€ν”„λΌμ΄νŠΈ νšŒμ „μ΄λ‚˜ 각쒅 λ Œλ” 효과λ₯Ό λ‚΄λŠ”λ° μžˆμ–΄ 360도 μˆ˜μ€€μ˜ 저정밀도 ν•¨μˆ˜ ν…Œμ΄λΈ”λ‘œλ„ μ°¨κ³  λ„˜μΉ˜λ‹ˆκΉŒ 360도 ν…Œμ΄λΈ”μ„ μ‚¬μš©ν•¨.


λ²‘ν„°μ—°μ‚°ν• λ•Œ μ“°κΈ°μ—λŠ” 정밀도 λ•Œλ¬Έμ— μ’€ λ¬Έμ œκ°€ λ§Žμ§€λ§Œ, 제자리 였브젝트 νšŒμ „ 같은거 ν•  λ•ŒλŠ” μœ„ ν•¨μˆ˜ ν…Œμ΄λΈ”μ„ μ±„μš©ν•˜λŠ”κ²ƒλ„ λ‚˜μ˜μ§€ μ•ŠμŒ.


νšŒμ „ μ„±μ• μžλ“€μ„ μ°Έκ³ ν•˜λ„λ‘ γ…Žγ…Ž



μ΅œμ ν™” κ΄€λ ¨ μ£Όμ €λ¦¬λŠ” μ—¬κΈ°κΉŒμ§€...


μ•žμœΌλ‘œλ„ ν•΄μ•Όν• κ²Œ λ§Žμ€λ° ν•˜λ‹€λ³΄λ©΄ ν•˜λ‚˜μ”© ν•΄κ²° λ˜κ² μ§€...