μ•ˆλ…•ν•˜μ„Έμš”!


μ΄λ²ˆμ—λŠ” 저희 κ²Œμž„μ˜ 곡격/피격 νŒμ •μ— λŒ€ν•΄ 써보렀 ν•©λ‹ˆλ‹€.



1. ν—ˆνŠΈ λ°•μŠ€(hurtbox)


3abcdc2de0c076b660b8f68b12d21a1d9499d77f


μΊλ¦­ν„°λ‚˜ 물체의 피격 νŒμ •μ„ λ‚˜νƒ€λ‚΄λŠ” λ°•μŠ€ μ˜μ—­μž…λ‹ˆλ‹€.

μ΄ˆκΈ°μ—λŠ” λ‹¨μˆœν•œ μ§μ‚¬κ°ν˜• ν˜•νƒœλ§Œ μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.



28bad724ecc03ca461a798a518d60403017072b5c1434d1e03


이후 λŒ€ν˜• 적이 μΆ”κ°€λ˜λ©΄μ„œ μ—¬λŸ¬ 개의 νšŒμ „ κ°€λŠ₯ν•œ μ‚¬κ°ν˜•μ„ μ§€μ›ν•˜κ²Œ λμŠ΅λ‹ˆλ‹€.




2. μ‰΄λ“œ


a76d30ad162eb45e86333d4929c3212edb99bc9992ccbc4eaf7faa1b308af7fc91edf76b


피격 νŒμ •μœΌλ‘œλΆ€ν„° λŒ€μƒμ„ λ³΄ν˜Έν•΄μ£ΌλŠ” μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.

λͺ¨λ“  λ°©μœ„λ₯Ό λ³΄ν˜Έν•  λ•Œλ„ μžˆμ§€λ§Œ, λ°©ν–₯이 μžˆλŠ” κ²½μš°λ„ μžˆμŠ΅λ‹ˆλ‹€.


곡격에도 λ°©ν–₯이 μžˆλŠ” κ²½μš°μ—” μ§κ΄€μ μœΌλ‘œ κ΅¬ν˜„ν•  수 μžˆμ§€λ§Œ, λ°©ν–₯이 μ—†λŠ” 곡격의 경우 μ• λ§€ν•΄μ§‘λ‹ˆλ‹€.

μ €ν¬λŠ” 이λ₯Ό μœ„ν•΄ 두 κ°€μ§€ 방식을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.



1) 각도 방식


a76d31ad0a36b376a7333d4858c12a3a9d4dce41bfc3007639081a


곡격이 νŠΉμ • 각도 μ•ˆμ— λ“€μ–΄μ™”λŠ”μ§€ μ²΄ν¬ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

λ‹¨μˆœν•˜μ§€λ§Œ λ‹€μ–‘ν•œ μƒν™©μ—μ„œ μ•ˆμ •μ μœΌλ‘œ λ™μž‘ν•©λ‹ˆλ‹€.


2) Raycast 방식



a67d38aa1806b47a8e333c719b3bfcb6e1ed3e3d7da7016e3d4811d15fea0722fc7420fd


방패의 ν—ˆνŠΈ λ°•μŠ€μ— rayκ°€ νžˆνŠΈν•˜λŠ”μ§€ μ²΄ν¬ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. λ°©νŒ¨κ°€ 캐릭터 μ€‘μ‹¬μœΌλ‘œλΆ€ν„° μ’€ λ–¨μ–΄μ Έμžˆκ³  캐릭터 크기가 큰 κ²½μš°μ— μ‚¬μš©ν•©λ‹ˆλ‹€.


μ•„λž˜μ²˜λŸΌ 큰 λ¬Όμ²΄λŠ” raycast방식이 μ ν•©ν•©λ‹ˆλ‹€.


a76f19ad370f76b660b8f68b12d21a1daa76aa70eb

3ab8d136eadc28b461b0d08a04d43734eb4644505e7ad5a915566b7f4d65e3cc37e35c26




3. 높이 κ΄€λ ¨ 처리



25b8d921edc63caf68b998a518d60403fff6f9051ad952baa1


개발 일지λ₯Ό λ³΄μ‹œλ©΄ μ•Œ 수 μžˆμ§€λ§Œ, 저희 κ²Œμž„μ€ μ΄ˆκΈ°μ— 높이 κ°œλ…μ΄ μ—†λŠ” 2D κ²Œμž„μ΄μ—ˆμŠ΅λ‹ˆλ‹€.


2D기반으둜 이미 히트 μ‹œμŠ€ν…œμ„ λ§Œλ“€μ—ˆλ‹€λ³΄λ‹ˆ, 이λ₯Ό μœ μ§€ν•˜λ©΄μ„œ 히트 후보에 λŒ€ν•΄μ„œ 높이 체크λ₯Ό μΆ”κ°€λ‘œ μˆ˜ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ μœ„ κ·Έλ¦Όκ³Ό 같이 높이 차이가 많이 λ‚˜λŠ” κ²½μš°μ—λŠ” νžˆνŠΈν•˜μ§€ μ•Šμ•˜μŒμœΌλ‘œ νŒμ •ν•˜κ²Œ λ©λ‹ˆλ‹€.



μ΄λŸ¬ν•œ 높이 νŒμ •λ„ 곡격 방식에 따라 μžμ—°μŠ€λŸ½κ²Œ λŠκ»΄μ§€λŠ” νŒμ •μ΄ λ‹€λ¦…λ‹ˆλ‹€.

κ·Έλž˜μ„œ μ €ν¬λŠ” κ²½μš°μ— 따라 μ„Έ κ°€μ§€ 방식을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

a66d19aa0e2fb442aa341c5058c12a3a30a6eb13770f8cbe3ccab2

폭탄같이 μ „λ°©μœ„λ₯Ό κ³΅κ²©ν•˜λŠ” κ²½μš°λŠ” ꡬ체λ₯Ό,

ν”Œλ ˆμ΄μ–΄κ°€ μ–»μ–΄λ§žλŠ” κ²½μš°λŠ” μ›”λ“œ κΈ°μ€€ 원톡,

ν”Œλ ˆμ΄μ–΄κ°€ λ•Œλ¦¬λŠ” κ²½μš°λŠ” 카메라 λ°©ν–₯ 원톡을 μ‚¬μš©ν•©λ‹ˆλ‹€. (보기에 νžˆνŠΈν•˜λ©΄ νžˆνŠΈλ˜λŠ” 방식)



4. 유예 μ‹œκ°„ 처리


κ²Œμž„μ˜ 재미λ₯Ό μœ„ν•΄ 곡격에 νžˆνŠΈν–ˆλ”λΌλ„, μ•„μ£Ό 짧은 μ‹œκ°„μ΄μ§€λ§Œ νšŒν”Όν•  수 μžˆλŠ” μ‹œκ°„μ„ λ‘κ³ μžˆμŠ΅λ‹ˆλ‹€.

이 μ‹œκ°„ λ™μ•ˆ 히트 νŒμ •μ€ 보λ₯˜λ˜κ³ , νšŒν”ΌκΈ°λ₯Ό μ‚¬μš©ν•˜λ©΄ 곡격에 λ§žμ§€ μ•Šκ²Œ λ©λ‹ˆλ‹€.


κΈ€λ‘œλ§Œ 보면 λŠλ‚Œμ΄ μ•ˆ 였기 λ•Œλ¬Έμ—, 각 경우λ₯Ό λΉ„κ΅ν•˜λŠ” 움지을 μ°μ–΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.



0초 (유예 μ‹œκ°„ μ—†μŒ)


a14110aa1d3a69997cbac5bc0cd42073631c6942a40a1bb0080f5886c935ff



0.04초


a14110aa1d3a6a997cbac5bc0cd420734101c8ebc85acacbb55f07be08e569



0.1초


a14110aa1d3a6b997cbac5bc0cd42073cabbedac87af806b5ec99fd49fca55



유예 μ‹œκ°„μ΄ λ„ˆλ¬΄ 길어도 μ’‹μ§€ μ•Šμ•„μ„œ, 저희 κ²Œμž„μ—μ„œλŠ” 0.04초 정도λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.


유예 μ‹œκ°„μ€ 곡격이 νœ˜λ‘˜λŸ¬μ§€λŠ”κ±Έ 보고 λ°˜μ‘ν•˜λΌλŠ” μ˜λ„λŠ” μ•„λ‹ˆκ³ , λ°˜μ‘ 속도가 μ•½κ°„ λŠ¦λ”λΌλ„ κ°€λŠ₯ν•œ νšŒν”Όλ‘œ νŒμ •ν•΄μ£ΌκΈ° μœ„ν•œ λͺ©μ μž…λ‹ˆλ‹€.



μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!



[개발 일지 링크 λͺ¨μŒ]


[μŠ€νŒ€ νŽ˜μ΄μ§€]