Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

133 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SoulEater

์ธํ•˜๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ 2021-1 ๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ”„๋กœ์ ํŠธ
INHA Univ. 2021-1 Game Programming Class Project

2์ธ ํŒ€์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ํŒ€์žฅ์„ ๋งก์•„ ์ „์ฒด์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ๊ฒธํ•œ ๋ณธ์ธ์˜ ๊ฐœ๋ฐœ ์˜์—ญ์€

๋“ฑ์ด ์žˆ๋‹ค.

[Demo video]

Watch the video

  • ๊ฒŒ์ž„ ์†Œ๊ฐœ

    ๋กœ๊ทธ๋ผ์ดํฌ ์žฅ๋ฅด์˜ 3D ํ•ต์•ค์Šฌ๋ž˜์‹œ ๊ฒŒ์ž„์œผ๋กœ, ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ดํ•  ๋•Œ๋งˆ๋‹ค ์บ๋ฆญํ„ฐ๊ฐ€ ํ”Œ๋ ˆ์ดํ•˜๋Š” ๋งต, ๋‚˜์˜ค๋Š” ๋ชฌ์Šคํ„ฐ, ์Šคํ‚ฌ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์š”์†Œ๋“ค์ด ๋žœ๋คํ•˜๊ฒŒ ๋“ฑ์žฅํ•˜๋ฉฐ ๋งคํŒ ์ƒˆ๋กœ์šด ๊ฒŒ์ž„์„ ํ•˜๋Š” ์‹ ์„ ํ•œ ๋А๋‚Œ์„ ๊ฐ€์ ธ๋‹ค์ค€๋‹ค. ์ถœํ˜„ํ•˜๋Š” ๋ชฌ์Šคํ„ฐ๋ฅผ ์žก์œผ๋ฉด ํ•ด๋‹น ๋ชฌ์Šคํ„ฐ์˜ ์˜ํ˜ผ์ด ์ผ์ • ํ™•๋ฅ ๋กœ ๋“œ๋ž๋˜๊ณ , ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์˜ํ˜ผ์„ ํก์ˆ˜ํ•˜์—ฌ ์ž์‹ ์˜ ๋Šฅ๋ ฅ์œผ๋กœ ๋งŒ๋“ค์–ด ์ „ํˆฌ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ์Šคํ† ๋ฆฌ

      ํŠน๋ณ„ํ•œ ๋Šฅ๋ ฅ์œผ๋กœ ์†Œ์šธ์ดํ„ฐ๋ผ ๋ถˆ๋ฆฌ๋Š” ์ฃผ์ธ๊ณต์ด ์„ธ๊ณ„๋ฅผ ์œ„ํ˜‘ํ•˜๋Š” ๊ดด๋ฌผ๊ณผ ์•…๋งˆ๋“ค์˜ ์˜ํ˜ผ์œผ๋กœ ๊ทธ๋“ค์„ ์ƒ๋Œ€ํ•œ๋‹ค. ๊ทธ๋Š” ์„ธ๊ณ„์˜ ์•ˆ์ •์„ ๋˜์ฐพ๊ธฐ ์œ„ํ•ด ์•…์˜ ์›ํ‰์„ ์ฐพ์•„ ์—ฌํ–‰์„ ๋– ๋‚œ๋‹ค. ์ผ๋ถ€ ์•…๋งˆ๋“ค์€ ์ž์‹ ์˜ ๋ชจ์Šต์„ ๋‹ค๋ฅธ ๊ฒƒ๋“ค๊ณผ ์ „ํ˜€ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ์ด์งˆ์ ์ธ ๋ชจ์Šต์œผ๋กœ ๋งŒ๋“ค์–ด ์ธ๊ฐ„๋“ค์„ ํ˜ผ๋ž€์— ๋น ๋œจ๋ฆฐ๋‹ค.

  • ์‹œ์  ๋ฐ ์กฐ์ž‘ ๋ฐฉ๋ฒ•

    • ์‹œ์  ๋ฐ ์ปจํŠธ๋กค

      ์Šคํƒ€์ผ๋ฆฌ์‹œํ•œ ์ „ํˆฌ ๋ฐฉ์‹์„ ์œ„ํ•ด ์ฟผํ„ฐ ๋ทฐ ์‹œ์ ์„ ์ฐจ์šฉํ•œ๋‹ค. ๋งˆ์šฐ์Šค ์ปค์„œ๋กœ ๊ณต๊ฒฉ ๋ฐฉํ–ฅ์„ ์ง€์ •ํ•˜๋ฉฐ, ํ‚ค๋ณด๋“œ๋กœ ์ด๋™ / ๊ณต๊ฒฉ / ๋Œ€์‹œ / ์Šคํ‚ฌ ์‚ฌ์šฉ / ์ƒํ˜ธ์ž‘์šฉ ๋“ฑ์˜ ์กฐ์ž‘์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ๋งˆ์šฐ์Šค ์ปค์„œ ๊ณต๊ฒฉ ๋ฐฉํ–ฅ ์ง€์ •

      ๋งˆ์šฐ์Šค ์ปค์„œ๋กœ ๊ณต๊ฒฉ ๋ฐฉํ–ฅ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์€ RayCast๋ฅผ ์ด์šฉํ•˜์˜€๊ณ , ์‚ฌ์„ ์œผ๋กœ ํ™”๋ฉด์„ ๋‚ด๋ ค๋ณด๋Š” ์‹œ์  ๋ฐฉ์‹์„ ๊ณ ๋ คํ•˜์—ฌ ์Šคํฌ๋ฆฐ ์ขŒํ‘œ๊ณ„๋กœ ์ด๋™ํ•˜์—ฌ ๋งˆ์šฐ์Šค ๋ฐฉํ–ฅ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค.

      Ray๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉํ–ฅ์— ์Šคํ‚ฌ ์ดํŽ™ํŠธ๋‚˜ ๋ชฌ์Šคํ„ฐ ์˜ค๋ธŒ์ ํŠธ ๋“ฑ ๋‹ค์–‘ํ•œ ์žฅ์• ๋ฌผ์ด ์กด์žฌํ•  ๋•Œ ๊ธฐ๋Œ€์™€ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ํˆฌ์‚ฌ์ฒด๊ฐ€ ๋ฐœ์‚ฌ๋˜๊ธฐ๋„ ํ•˜์˜€๋Š”๋ฐ, ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ๋“ค์„ Ignore Raycast layer์— ๋†“์Œ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ™”๋ฉด์—์„œ ์›ํ•˜๋Š” ์ง€์ ์„ ์ฐ์œผ๋ฉด ํ•ด๋‹น ๋ฐฉํ–ฅ์„ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” LookMouseCursor ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ณต๊ฒฉ ๋ชจ์…˜์— ํ™œ์šฉํ•˜์˜€๋‹ค.

    • ๊ธฐ๋ณธ๊ณต๊ฒฉ

      LookMouseCursor ํ•จ์ˆ˜๋กœ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์„ ํ–ฅํ•ด ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ํšŒ์ „ํ•˜๋ฉด ํ•ด๋‹น ๋ฐฉํ–ฅ์œผ๋กœ Velocity๋ฅผ ์ฃผ์–ด ํˆฌ์‚ฌ์ฒด๋ฅผ ๋ฐœ์‚ฌํ•˜์˜€๋‹ค. ๋ชฌ์Šคํ„ฐ์—๊ฒŒ ๊ณต๊ฒฉ์ด ๋‹ฟ์€ ์งํ›„ Bullet ์˜ค๋ธŒ์ ํŠธ์˜ ํƒœ๊ทธ๋ฅผ Notagged๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ค‘์ฒฉ ์ฝœ๋ผ์ด๋”์— ๋Œ€ํ•œ ๋ฐ˜์‘์„ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.

    • ๋Œ€์‹œ

      ๋Œ€์‹œ๋ฅผ ์œ„ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‹คํ–‰์‹œํ‚ด๊ณผ ๋™์‹œ์— ํ”Œ๋ ˆ์ด์–ด์˜ ์†๋„๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์กฐ์ ˆํ•˜์—ฌ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๋™์‹œ์— ๋ฌดํ•œ์ • ๋Œ€์‹œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋„๋ก isDodgeReady ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜๊ณ  Time.deltaTime์„ ์—ฐ์‚ฐํ•˜์—ฌ ์ผ์ •ํ•œ ์ฟจํƒ€์ž„์„ ๋‘๊ณ  ๋Œ€์‹œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„ค์ •ํ•˜์˜€๋‹ค.

    • ์Šคํ‚ฌ ์‚ฌ์šฉ

      ๋ณด์œ  ๊ฐ€๋Šฅํ•œ ์„ธ ๊ฐœ์˜ ์Šคํ‚ฌ์„ ์ˆซ์žํ‚ค 1, 2, 3๋ฒˆ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€๊ณ , ๊ธฐ๋ณธ๊ณต๊ฒฉ์ด๋‚˜ ๋Œ€์‹œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹ค๋ฅธ ํ–‰๋™๊ณผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋„๋ก ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค. ๋ณด์œ ํ•œ ์Šคํ‚ฌ์ด ์•กํ‹ฐ๋ธŒ ์Šคํ‚ฌ์ผ ๊ฒฝ์šฐ ๊ฐœ๋ณ„ ์ฟจํƒ€์ž„์„ ์„ค์ •ํ•ด์ฃผ์—ˆ๊ณ , ์ด ์ฟจํƒ€์ž„์€ ์Šคํ‚ฌ๋งˆ๋‹ค ๊ฐ์ž์˜ ์ฟจํƒ€์ž„ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋”ฐ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„ํ•˜์˜€๋‹ค.

      ์ด๋Ÿฌํ•œ ์ฟจํƒ€์ž„ ๊ด€๋ฆฌ๋Š” ์ฝ”๋ฃจํ‹ด ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ์Šคํ‚ฌ์˜ ์ฟจํƒ€์ž„์ด ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ด์ฃผ์—ˆ๊ณ , Filled image type์—์„œ Radial 360 ๋ฐฉ์‹์„ ์ ์šฉํ•ด ์›ํ˜•์œผ๋กœ ์ฟจํƒ€์ž„ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•จ๊ณผ ๋™์‹œ์— ์ฟจํƒ€์ž„ ๋™์•ˆ ์žฌ์‚ฌ์šฉํ•ด๋„ ๋‹ค์‹œ ๊ฒŒ์ด์ง€๊ฐ€ ๋Œ์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค.

      ๋˜ํ•œ, ๊ฐ ์Šคํ‚ฌ ์ดˆ์ƒํ™” ์œ„์— ์กด์žฌํ•˜๋Š” ๋ฒˆํ˜ธํŒ์˜ ์ƒ‰๊น”์„ ์•กํ‹ฐ๋ธŒ/ํŒจ์‹œ๋ธŒ ์Šคํ‚ฌ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ํ•˜์—ฌ ์–ด๋–ค ์Šคํ‚ฌ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Šคํ‚ฌ์ธ์ง€ ๊ตฌ๋ถ„๋˜๋„๋ก ๋””์ž์ธํ•ด ์ฃผ์—ˆ๋‹ค.

    • ์ƒํ˜ธ์ž‘์šฉ

      ๋ชฌ์Šคํ„ฐ๋ฅผ ์ฒ˜์น˜ํ•˜๊ณ  ๋‚˜์˜จ ์˜ํ˜ผ์„ ํš๋“ํ•˜์—ฌ ์ž์‹ ์˜ ์Šคํ‚ฌ๋กœ ๋งŒ๋“œ๋Š” ์ƒํ˜ธ์ž‘์šฉ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

      ์ด๋•Œ ๋˜‘๊ฐ™์€ ์Šคํ‚ฌ์„ ๋‘ ๊ฐœ ๊ฐ€์ง€์ง€ ์•Š๋„๋ก ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์˜ํ˜ผ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด ํ˜„์žฌ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์Šต๋“ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„์— ์žˆ๋Š” ์˜ํ˜ผ์ด ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ณด์œ  ์ค‘์ธ ์˜ํ˜ผ์ธ์ง€ ํŒ๋‹จํ•˜์—ฌ ์ด๋ฏธ ์กด์žฌํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์ค‘๋ณต์œผ๋กœ ํš๋“ํ•  ์ˆ˜ ์—†๋„๋ก ์ฒ˜๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค.

      ์ด๋ฏธ ์„ธ ๊ฐœ์˜ ์˜ํ˜ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ ์ƒˆ๋กœ์šด ์˜ํ˜ผ์„ ์Šต๋“ํ•˜๋ ค ํ•œ๋‹ค๋ฉด ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ์˜ํ˜ผ๊ณผ ๋ฐ”๊ฟ€ ๊ฒƒ์ธ์ง€, ํ˜น์€ ๋ง ๊ฒƒ์ธ์ง€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•ด์ฃผ์—ˆ๊ณ , ์ด๋™ํ‚ค๋กœ ์–ด๋–ค ์Šคํ‚ฌ๊ณผ ๊ตํ™˜ํ•  ๊ฒƒ์ธ์ง€ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„ํ•ด์ฃผ์—ˆ๋‹ค. ์ด๋•Œ ํ˜„์žฌ ๋ณด์œ  ์ค‘์ธ ํŒจ์‹œ๋ธŒ ์Šคํ‚ฌ์„ ๋ณ€๊ฒฝํ•˜๋ ค ํ•œ๋‹ค๋ฉด ์ ์šฉ๋œ ํŒจ์‹œ๋ธŒ ์Šคํ‚ฌ์˜ ์ธ์Šคํ„ด์Šค ๋“ฑ์„ ๋ชจ๋‘ ํ•ด์ œํ•˜๊ณ  ์ƒˆ๋กญ๊ฒŒ ์Šต๋“ํ•  ์Šคํ‚ฌ์„ ์ ์šฉํ•ด์ฃผ์—ˆ๋‹ค.

  • UI

    • HUD

      ์—์…‹ ์Šคํ† ์–ด์˜ GUI Parts ์—์…‹์„ ์ด์šฉ ๋ฐ ์ˆ˜์ •ํ•˜์—ฌ ์•„๋ž˜์˜ Head-up display๋ฅผ ์ œ์ž‘ํ•ด ์ธ๊ฒŒ์ž„์— ์ ์šฉํ•˜์˜€๊ณ , UI component ์ค‘ Slider๋ฅผ ์ด์šฉํ•ด HP bar๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. HUD๋Š” FHD(1920x1080)์™€ QHD(2560x1440)์—์„œ ํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

      UI Manager๋ฅผ ์ด์šฉํ•ด ํ”Œ๋ ˆ์ด์–ด์˜ ์ฒด๋ ฅ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ด€์ฐฐํ•˜๊ณ  ์ฆ‰๊ฐ์ ์œผ๋กœ ๊ฐ์†Œํญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•ด ์ฃผ์—ˆ๋‹ค.

    • ๋ฏธ๋‹ˆ๋งต

      ํ™”๋ฉด ์ขŒ์ธก ํ•˜๋‹จ์— ํ˜„์žฌ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์œ„์น˜ํ•œ ๋งต์„ ์ง๊ต๋กœ ํˆฌ์˜ํ•˜๋Š” ๋˜๋‹ค๋ฅธ ์นด๋ฉ”๋ผ๋ฅผ ๋ฐฐ์น˜ํ•˜์—ฌ ๋งต ๊ตฌ์กฐ์™€ ํ”Œ๋ ˆ์ด์–ด/๋ชฌ์Šคํ„ฐ/ํฌํƒˆ์˜ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋‹ˆ๋งต์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

    • ๋ชฌ์Šคํ„ฐ HP bar

      ํ•„๋“œ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ชฌ์Šคํ„ฐ์—๊ฒŒ ํ”Œ๋ ˆ์ด์–ด์™€ ๊ฐ™์ด ๋‚จ์€ ์ฒด๋ ฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” HP bar๋ฅผ ํ• ๋‹นํ•ด์ฃผ์—ˆ๋‹ค. ํ˜„์žฌ ๋ชฌ์Šคํ„ฐ์˜ ์›”๋“œ ์ขŒํ‘œ๊ณ„ ์œ„์น˜๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถˆ๋Ÿฌ์™€ ์Šคํฌ๋ฆฐ ์ขŒํ‘œ๊ณ„๋กœ ๋ณ€ํ™˜ํ•œ ์œ„์น˜์— HP bar๋ฅผ ์œ„์น˜์‹œํ‚ค๊ณ  ํ˜„์žฌ ์ฒด๋ ฅ์— ๋น„๋ก€ํ•˜์—ฌ Slider์˜ ๊ฒŒ์ด์ง€๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ์—ˆ๋‹ค.

  • ์บ๋ฆญํ„ฐ ๊ธฐ๋ณธ ์ •๋ณด

    ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ฐ€์ง€๋Š” ๋Šฅ๋ ฅ์น˜๋Š” ์ด 6์ข…๋ฅ˜์ด๋ฉฐ, ๊ฐ๊ฐ์˜ ๊ธฐ๋ณธ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    ๋Šฅ๋ ฅ์น˜ ์ˆ˜์น˜
    ์ฒด๋ ฅ 100
    ๊ณต๊ฒฉ๋ ฅ 10
    ์ด๋™์†๋„ (์ตœ๋Œ€ 10) 5
    ๊ณต๊ฒฉ์†๋„ (์ดˆ๋‹น ๊ณต๊ฒฉ ํšŸ์ˆ˜) 2
    ์ฟจํƒ€์ž„ ๊ฐ์†Œ (์ตœ๋Œ€ 60%) 0

    ๊ธฐ๋ณธ๊ณต๊ฒฉ์€ ํŠน๋ณ„ํ•œ ํž˜์œผ๋กœ ์ „๋ฐฉ์— ํˆฌ์‚ฌ์ฒด๋ฅผ ๋ฐœ์‚ฌํ•œ๋‹ค. ์ ์ค‘ํ•œ ๋ชฌ์Šคํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž‘์€ ๋ฒ”์œ„์— ๋Œ€๋ฏธ์ง€๋ฅผ ์ค€๋‹ค. ์˜ํ˜ผ์€ 3๊ฐœ๊นŒ์ง€ ์†Œ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์˜ํ˜ผ์„ ์ตœ๋Œ€๋กœ ์†Œ์ง€ํ•˜๊ณ  ์žˆ์„ ๋•Œ ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์˜ํ˜ผ์„ ์ƒˆ๋กœ์šด ์˜ํ˜ผ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์Šคํ‚ฌ

    ๋ชฌ์Šคํ„ฐ ์ฒ˜์น˜ ์‹œ ์ผ์ • ํ™•๋ฅ ๋กœ ๊ทธ ๋ชฌ์Šคํ„ฐ์˜ ์˜ํ˜ผ์ด ๋‚˜์˜จ๋‹ค. ๊ฐ ์˜ํ˜ผ์„ ํš๋“ํ•  ์‹œ ํ”Œ๋ ˆ์ด์–ด์—๊ฒŒ ๋ชฌ์Šคํ„ฐ์˜ ํŠน์ง•์— ์–ด์šธ๋ฆฌ๋Š” ์Šคํ‚ฌ์„ ๋ถ€์—ฌํ•œ๋‹ค. ์Šคํ‚ฌ ํƒ€์ž…์—๋Š” ํŒจ์‹œ๋ธŒ, ์•กํ‹ฐ๋ธŒ, ํˆฌ์‚ฌ์ฒด๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋ชฌ์Šคํ„ฐ๋“ค์˜ ์˜ํ˜ผ์ด ์ œ๊ณตํ•˜๋Š” ์Šคํ‚ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    ๋“ฑ๊ธ‰ ๋งˆ๋ฌผ ์ข…๋ฅ˜ ์Šคํ‚ฌ ํšจ๊ณผ
    ์ผ๋ฐ˜ ๊ทธ๋ŸฐํŠธ ์ปค๋‹ค๋ž€ ๋ฐ”์œ„๋ฅผ ๋˜์ ธ ๋ฒ”์œ„์— ๋†’์€ ๋Œ€๋ฏธ์ง€
    ์ผ๋ฐ˜ ๊ณ ์Šด๋„์น˜ ์บ๋ฆญํ„ฐ ์ฃผ๋ณ€ ๋ฒ”์œ„๋กœ ๋“ค์–ด์˜ค๋Š” ๋ชฌ์Šคํ„ฐ์— ๋Œ€๋ฏธ์ง€
    ์ผ๋ฐ˜ ๋ฏธ๋ฏน ๋ณด์œ  ์ค‘์ธ ์Šคํ‚ฌ ์ฟจํƒ€์ž„ 50% ๊ฐ์†Œ
    ์ผ๋ฐ˜ ๊ฒ€์ • ์•…์–ด ์˜๊ตฌ์ ์œผ๋กœ ๊ณต๊ฒฉ๋ ฅ + ๊ณต๊ฒฉ์†๋„ ์ฆ๊ฐ€
    ์ผ๋ฐ˜ ์ดˆ๋ก ์•…์–ด ์ฃผ๋ณ€์— ๋… ์žฅํŒ์„ ์ƒ์„ฑํ•ด ์ง€์† ๋Œ€๋ฏธ์ง€ + ๋‘”ํ™”
    ์ผ๋ฐ˜ ๋“œ๋ ˆ์ดํฌ ์„ธ ๊ฐˆ๋ž˜๋กœ ๋‚˜๊ฐ€๋Š” ํŒŒ์ด์–ด ๋ณผ ๋ฐœ์‚ฌ
    ํฌ๊ท€ ํŒŒ์ด์–ด ๋“œ๋ž˜๊ณค ์ง€์ •ํ•œ ์œ„์น˜๋กœ ๋ฉ”ํ…Œ์˜ค ๋ฐœ์‚ฌ
    ํฌ๊ท€ ์˜คํฌ ์ „๋ฐฉ์„ ๊ฐ•ํ•˜๊ฒŒ ๋‚ด๋ฆฌ์ณ ์ง€์ง„ ๋ฐœ์ƒ + ๋„“์€ ๋ฒ”์œ„ ๋‘”ํ™”

    ์œ„ ํ‘œ์— ๊ธฐ์žฌ๋œ ๊ฐ ๋ชฌ์Šคํ„ฐ์˜ ์˜ํ˜ผ ์ธ๊ฒŒ์ž„ ๋””์ž์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ผ๋ฐ˜ ๋ชฌ์Šคํ„ฐ์˜ ์˜ํ˜ผ์€ 30%, ๋ฏธ๋ฏน์€ 20% ํ™•๋ฅ ๋กœ ๋“œ๋ž๋˜๋ฉฐ, ๋„ค์ž„๋“œ ๋ชฌ์Šคํ„ฐ์˜ ์˜ํ˜ผ์€ 30% ํ™•๋ฅ ๋กœ ๋“œ๋ž๋œ๋‹ค.

    ์ดํ›„ ์•„๋ž˜๋Š” ๊ฐ ๋ชฌ์Šคํ„ฐ์˜ ์˜ํ˜ผ์ด ๋ฐœํœ˜ํ•˜๋Š” ์Šคํ‚ฌ์˜ ์ •๋ณด์ด๋‹ค.

    • ๊ทธ๋ŸฐํŠธ

      ๊ทธ๋ŸฐํŠธ ์Šคํ‚ฌ

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ๊ทธ๋ŸฐํŠธ ์Šคํ‚ฌ ํƒ€์ž… ํˆฌ์‚ฌ์ฒด
      ๋Œ€๋ฏธ์ง€ ํˆฌ์‚ฌ์ฒด 20, ํญ๋ฐœ 15 ์ฟจํƒ€์ž„ 8์ดˆ
      ์„ ๋”œ๋ ˆ์ด 0.5์ดˆ ํ›„๋”œ๋ ˆ์ด 1์ดˆ
    • ๊ณ ์Šด๋„์น˜

      ๊ณ ์Šด๋„์น˜ ์Šคํ‚ฌ

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ๊ณ ์Šด๋„์น˜ ์Šคํ‚ฌ ํƒ€์ž… ํŒจ์‹œ๋ธŒ
      ๋Œ€๋ฏธ์ง€ ๋ฒ”์œ„ ๋‚ด ์ดˆ๋‹น 1 ์ฟจํƒ€์ž„ -
      ์„ ๋”œ๋ ˆ์ด - ํ›„๋”œ๋ ˆ์ด -
    • ๋ฏธ๋ฏน

      [์ดํŽ™ํŠธ X]

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ๋ฏธ๋ฏน ์Šคํ‚ฌ ํƒ€์ž… ํŒจ์‹œ๋ธŒ
      ํšจ๊ณผ ๋ณด์œ  ์Šคํ‚ฌ ์ฟจํƒ€์ž„ 50% ๊ฐ์†Œ ์ฟจํƒ€์ž„ -
      ์„ ๋”œ๋ ˆ์ด - ํ›„๋”œ๋ ˆ์ด -
    • ๊ฒ€์ • ์•…์–ด

      [์ดํŽ™ํŠธ X]

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ๊ฒ€์ • ์•…์–ด ์Šคํ‚ฌ ํƒ€์ž… ํŒจ์‹œ๋ธŒ
      ํšจ๊ณผ ๊ธฐ๋ณธ๊ณต๊ฒฉ ๋Œ€๋ฏธ์ง€ 50%, ์ตœ๋Œ€์ฒด๋ ฅ ๋ฐ ํ˜„์žฌ์ฒด๋ ฅ 50% ์ฆ๊ฐ€ ์ฟจํƒ€์ž„ -
      ์„ ๋”œ๋ ˆ์ด - ํ›„๋”œ๋ ˆ์ด -
    • ์ดˆ๋ก ์•…์–ด

      ์ดˆ๋ก ์•…์–ด ์Šคํ‚ฌ

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ์ดˆ๋ก ์•…์–ด ์Šคํ‚ฌ ํƒ€์ž… ์•กํ‹ฐ๋ธŒ
      ๋Œ€๋ฏธ์ง€ ๋ฒ”์œ„ ๋‚ด ์ดˆ๋‹น 2 (6์ดˆ ์ง€์†) ์ฟจํƒ€์ž„ -
      ์„ ๋”œ๋ ˆ์ด - ํ›„๋”œ๋ ˆ์ด -
    • ๋“œ๋ ˆ์ดํฌ

      ๋“œ๋ ˆ์ดํฌ ์Šคํ‚ฌ

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ๋“œ๋ ˆ์ดํฌ ์Šคํ‚ฌ ํƒ€์ž… ํˆฌ์‚ฌ์ฒด
      ๋Œ€๋ฏธ์ง€ ํˆฌ์‚ฌ์ฒด 5 / ํญ๋ฐœ 10 ์ฟจํƒ€์ž„ 6์ดˆ
      ์„ ๋”œ๋ ˆ์ด - ํ›„๋”œ๋ ˆ์ด 0.1์ดˆ
    • ํŒŒ์ด์–ด ๋“œ๋ž˜๊ณค

      ํŒŒ์ด์–ด ๋“œ๋ž˜๊ณค ์Šคํ‚ฌ

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ํŒŒ์ด์–ด ๋“œ๋ž˜๊ณค ์Šคํ‚ฌ ํƒ€์ž… ํˆฌ์‚ฌ์ฒด
      ๋Œ€๋ฏธ์ง€ ํˆฌ์‚ฌ์ฒด 40 / ํญ๋ฐœ 20 ์ฟจํƒ€์ž„ 12์ดˆ
      ์„ ๋”œ๋ ˆ์ด - ํ›„๋”œ๋ ˆ์ด 0.1์ดˆ
    • ๊ณจ๋ ˜

      ๊ณจ๋ ˜ ์Šคํ‚ฌ

      ์Šคํƒฏ ๋‚ด์šฉ ์Šคํƒฏ ๋‚ด์šฉ
      ๋ชฌ์Šคํ„ฐ ๊ณจ๋ ˜ ์Šคํ‚ฌ ํƒ€์ž… ํŒจ์‹œ๋ธŒ
      ํšจ๊ณผ ๊ธฐ๋ณธ๊ณต๊ฒฉ ํฌ๊ธฐ, ๋Œ€๋ฏธ์ง€ 10 ์ฆ๊ฐ€ ์ฟจํƒ€์ž„ -
      ์„ ๋”œ๋ ˆ์ด - ํ›„๋”œ๋ ˆ์ด -

    ๊ฐ ์Šคํ‚ฌ ํƒ€์ž…์˜ ๊ตฌํ˜„ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    • ํŒจ์‹œ๋ธŒ

      Passives class๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ชจ๋“  ํŒจ์‹œ๋ธŒ ์Šคํ‚ฌ๋“ค์„ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๋ฉฐ, ๋ณด์œ  ์ค‘์ธ ์˜ํ˜ผ์— ๋”ฐ๋ผ TurnOnPassive/TurnOffPassive ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ํŒจ์‹œ๋ธŒ ์Šคํ‚ฌ์„ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ณต๊ฒฉํ˜• ํŒจ์‹œ๋ธŒ ์Šคํ‚ฌ์˜ ๊ฒฝ์šฐ Collider๋ฅผ ๊ฐ€์ ธ ์ง์ ‘ ํ”ผํ•ด๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ”„๋ฆฌํŒน์œผ๋กœ ๋งŒ๋“ค์–ด ์Šคํ‚ฌ์„ ์–ป์„ ๋•Œ Instantiate ํ•˜์—ฌ ์ƒ์‹œ ํšจ๊ณผ๋ฅผ ๋ฐœํœ˜ํ•˜๋„๋ก ํ•˜๊ณ  ๋‹ค๋ฅธ ์Šคํ‚ฌ๋กœ ๊ต์ฒดํ•  ๋•Œ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๋ฅผ ํŒŒ๊ดดํ•ด์ฃผ์—ˆ๋‹ค.

    • ์•กํ‹ฐ๋ธŒ

      Attacks class๋กœ ์•กํ‹ฐ๋ธŒ ์Šคํ‚ฌ์„ ๊ด€๋ฆฌํ•œ๋‹ค. ํˆฌ์‚ฌ์ฒด๊ฐ€ ์—†๋Š” ์•กํ‹ฐ๋ธŒ ์Šคํ‚ฌ์„ ์นญํ•˜๋ฉฐ, ์‚ฌ์šฉํ•˜์˜€์„ ๋•Œ ํ”Œ๋ ˆ์ด์–ด์˜ ์œ„์น˜์— ๋”ฐ๋ผ ์Šคํ‚ฌ ์ดํŽ™ํŠธ๊ฐ€ Instantiate ๋˜๊ณ , ์Šคํ‚ฌ์— ๋”ฐ๋ผ ์•Œ๋งž์€ ํšจ๊ณผ๋ฅผ ์ฃผ๋„๋ก ์„ค๊ณ„ํ•˜์˜€๋‹ค.

    • ํˆฌ์‚ฌ์ฒด

      ์•กํ‹ฐ๋ธŒ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Attacks class๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ํˆฌ์‚ฌ์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์•กํ‹ฐ๋ธŒ ์Šคํ‚ฌ์„ ํˆฌ์‚ฌ์ฒด๋กœ ๋ถ„๋ฅ˜ํ•˜์˜€๋‹ค. ์•กํ‹ฐ๋ธŒ ํƒ€์ž…๊ณผ์˜ ์ฐจ์ด๋Š” ์ถฉ๋Œ์ด 2ํšŒ ์ผ์–ด๋‚œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ, ํ”Œ๋ ˆ์ด์–ด๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋˜๋Š” ํˆฌ์‚ฌ์ฒด๊ฐ€ 1ํšŒ ์ถฉ๋Œํ•˜๊ณ  ํˆฌ์‚ฌ์ฒด๊ฐ€ ์ถฉ๋Œํ•˜๋ฉฐ ๋ฐœ์ƒํ•˜๋Š” ํญ๋ฐœ๊ณผ ๊ฐ™์€ ์ดํŽ™ํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„๋•Œ ์ถ”๊ฐ€์ ์ธ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ๋‹ค.

  • ๋ชฌ์Šคํ„ฐ

    ๋ชฌ์Šคํ„ฐ์˜ ๋“ฑ๊ธ‰์€ ์ผ๋ฐ˜/๋„ค์ž„๋“œ/๋ณด์Šค ๋ชฌ์Šคํ„ฐ๋กœ ๋‚˜๋‰œ๋‹ค. ์ผ๋ฐ˜ ๋ชฌ์Šคํ„ฐ๋Š” ๊ธฐ๋ณธ๊ณต๊ฒฉ๋งŒ์œผ๋กœ ์ „ํˆฌํ•˜๊ณ  ๋„ค์ž„๋“œ ๋ชฌ์Šคํ„ฐ๋Š” ํ•œ ๊ฐœ, ๋ณด์Šค ๋ชฌ์Šคํ„ฐ๋Š” ์„ธ ๊ฐœ์˜ ์Šคํ‚ฌ์„ ๊ฐ€์ง„๋‹ค. ์Šคํ‚ฌ์˜ ํƒ€์ž…์€ 3๊ฐ€์ง€๋กœ, ๊ทธ ์ข…๋ฅ˜์™€ ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ˜„ ๋กœ์ง์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    • ํˆฌ์‚ฌ์ฒด๋ฅผ ๋ฐœ์‚ฌํ•˜๋Š” ์Šคํ‚ฌ

      ๋ชฌ์Šคํ„ฐ์˜ ์œ„์น˜์— Instantiate๋ฅผ ํ•œ ํ›„ ๋ชฌ์Šคํ„ฐ๋กœ๋ถ€ํ„ฐ ํ”Œ๋ ˆ์ด์–ด๋กœ์˜ ๋ฐฉํ–ฅ์„ ๊ณ„์‚ฐํ•ด ๊ทธ ๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌํ˜•์˜ ํˆฌ์‚ฌ์ฒด์—๊ฒŒ ๋ฌผ๋ฆฌ์ ์ธ ํž˜์„ ๊ฐ€ํ•ด ๋ฐœ์‚ฌํ•˜๊ณ  ํ•ด๋‹น ๊ตฌ์ฒด์— ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋‹ฟ์œผ๋ฉด ํ”ผ ํ•ด๋ฅผ ์ค€๋‹ค.

    • ๋žœ๋คํ•˜๊ฒŒ ๋ชฌ์Šคํ„ฐ ์ฃผ์œ„์— ๊ตฌ์ฒด๋“ค์„ ์†Œํ™˜ํ•ด ํ”ผํ•ด๋ฅผ ์ฃผ๋Š” ์Šคํ‚ฌ

      ๋ชฌ์Šคํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŠน์ • ๋ฒ”์œ„ ๋‚ด์˜ ์ขŒํ‘œ๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ์ง€์ •ํ•ด ํ•ด๋‹น ์ขŒํ‘œ์— ๊ตฌ์ฒด๋ฅผ Instantiate ํ•ด ๊ตฌ์ฒด์— ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋‹ฟ์œผ๋ฉด ํ”ผํ•ด๋ฅผ ์ค€๋‹ค.

    • ๋ชฌ์Šคํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฃผ๋ณ€์— ์›ํ˜•์˜ ๋ฒ”์œ„๋กœ ํ”ผํ•ด๋ฅผ ์ฃผ๋Š” ์Šคํ‚ฌ

      ๋ชฌ์Šคํ„ฐ์˜ ์œ„์น˜์— ์›ํ˜•์˜ ์žฅํŒ ์Šคํ‚ฌ์„ Instantiate ํ•ด ์žฅํŒ์˜ ํฌ๊ธฐ๋งŒํผ์˜ ๋ฒ”์œ„์— ํ”ผํ•ด๋ฅผ ์ค€๋‹ค.

    ์ด๋Ÿฌํ•œ ์Šคํ‚ฌ๋“ค์ด ๋ฐœ๋™๋˜๋Š” ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค๊ณ„๋˜์—ˆ๋‹ค.

    1. ํ•ด๋‹น ๋ชฌ์Šคํ„ฐ์˜ MonsterSkillController script์˜ Update ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด Frame๋งˆ๋‹ค ์‹œ๊ฐ„์„ ํ™•์ธํ•ด 5์ดˆ๋งˆ๋‹ค Coroutine ํ•จ์ˆ˜๋กœ ์Šคํ‚ฌ์„ ๋ฐœ๋™ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
    2. ์Šคํ‚ฌ ๊ฐ€๋™ ๋ฒ”์œ„์— ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด ์บ์ŠคํŒ… ์ƒํƒœ์— ๋Œ์ž…ํ•œ๋‹ค.
    3. ์บ์ŠคํŒ…์ด ์™„๋ฃŒ๋˜๋Š” ๋™์•ˆ MonsterSkill script์—์„œ ํ•ด๋‹น ๋ชฌ์Šคํ„ฐ๊ฐ€ ๊ฐ€์ง„ ์Šคํ‚ฌ ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ์„ ํƒํ•˜์—ฌ ํˆฌ์‚ฌ์ฒด๋ฅผ ์ œ์™ธํ•œ ์œ„์น˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋Š” ์Šคํ‚ฌ์˜ ์˜ˆ์ƒ ๊ณต๊ฒฉ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•˜๊ณ  ํ‘œ์‹œํ•ด์ค€๋‹ค.
    4. ์บ์ŠคํŒ…์ด ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ MonsterSkill script์—์„œ ํ•ด๋‹น ์Šคํ‚ฌ์„ ๋ฐœ๋™ํ•œ๋‹ค.

    ์•„๋ž˜๋Š” ๊ฒŒ์ž„์— ๋“ฑ์žฅํ•˜๋Š” ๋ชฌ์Šคํ„ฐ๋“ค์˜ ์ •๋ณด์ด๋‹ค.

    • ๊ทธ๋ŸฐํŠธ

      ๊ทธ๋ŸฐํŠธ ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      20 10 0.8 4
    • ๊ณ ์Šด๋„์น˜

      ๊ณ ์Šด๋„์น˜ ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      20 10 0.8 4
    • ๋ฏธ๋ฏน

      ๋ฏธ๋ฏน ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      20 10 0.7 4
    • ๊ฒ€์ • ์•…์–ด

      ๊ฒ€์ • ์•…์–ด ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      20 10 1.2 4
    • ์ดˆ๋ก ์•…์–ด

      ์ดˆ๋ก ์•…์–ด ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      20 10 1.2 4
    • ๋“œ๋ ˆ์ดํฌ

      ๋“œ๋ ˆ์ดํฌ ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      20 10 0.7 4
    • ํŒŒ์ด์–ด ๋“œ๋ž˜๊ณค

      ํŒŒ์ด์–ด ๋“œ๋ž˜๊ณค ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      100 20 1.5 6
      • ์Šคํ‚ฌ

        [์•กํ‹ฐ๋ธŒ]

        image

    • ๊ณจ๋ ˜

      ๊ณจ๋ ˜ ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      100 20 2 4
      • ์Šคํ‚ฌ

        [ํŒจ์‹œ๋ธŒ] ๊ณจ๋ ˜์ด ํ”Œ๋ ˆ์ด์–ด์™€ ์ ‘์ด‰๋งŒ ํ•˜๋”๋ผ๋„ ๋Œ€๋ฏธ์ง€๋ฅผ ์ค€๋‹ค.

    • ๋ฆฌ์น˜

      ๋ฆฌ์น˜ ์ด๋ฏธ์ง€

      ์ฒด๋ ฅ ๊ณต๊ฒฉ๋ ฅ ๊ณต๊ฒฉ์†๋„ ์ด๋™์†๋„
      400 30 1.5 3
      • ์Šคํ‚ฌ

        [์•กํ‹ฐ๋ธŒ]

        image

  • ๋งต

    ๋งคํŒ๋งˆ๋‹ค ๋žœ๋คํ•˜๊ฒŒ 7๊ฐœ๊ฐ€๋Ÿ‰์˜ ๋งต์ด ์ผ์ง์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์ƒ์„ฑ๋œ๋‹ค. ๋งต์˜ ํ…Œ๋งˆ์— ๋”ฐ๋ผ ๋“ฑ์žฅํ•˜๋Š” ๋ชฌ์Šคํ„ฐ ์ข…๋ฅ˜, ์ˆ˜, ๊ฐ ๋งต์˜ ์ถœํ˜„ ๋นˆ๋„ ๋ฐ ๋งต์˜ ํ˜•ํƒœ๋Š” ๋žœ๋ค์œผ๋กœ ์„ค์ •๋œ๋‹ค. ๋งต ํ…Œ๋งˆ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋งต์ด ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋กœ์ง์„ ์กฐ๊ธˆ ๋” ์ž์„ธํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

    image

    1. MapSpawner ์˜ค๋ธŒ์ ํŠธ์—์„œ MapSpawner๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ํ”„๋ฆฌํŒน์œผ๋กœ ๋งŒ๋“ค์–ด ๋†“์€ ์ผ๋ฐ˜ ๋งต์„ ๋žœ๋คํ•œ ์ˆœ์„œ๋กœ ๋žœ๋คํ•˜๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณด์Šค ๋งต์„ ์ƒ์„ฑํ•œ๋‹ค.
    2. ๋งต์ด ์ƒ์„ฑ๋˜๋ฉด์„œ MapGenerator๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. MapGenerator๋Š” ๋งต์—์„œ ์ด๋™ ๊ฐ€๋Šฅํ•œ ํƒ€์ผ๊ณผ ๋ถˆ๊ฐ€๋Šฅํ•œ ํƒ€์ผ์„ 0๊ณผ 1๋กœ ๊ตฌ๋ถ„ํ•ด์ฃผ๋Š” ์ž‘์—…์„ ํ•ด์ค€๋‹ค
    3. ๊ทธ๋ ‡๊ฒŒ ํ‰๋ฉด์ƒ์—์„œ ๋งต์ด ๊ตฌํ˜„๋˜๋ฉด ๊ฐ ๋งต์—์„œ Spawner๋ฅผ ์ž‘๋™์‹œ์ผœ ์ด๋™ ๊ฐ€๋Šฅํ•œ ํƒ€์ผ ์ค‘์— ๋žœ๋คํ•˜๊ฒŒ ๋ชฌ์Šคํ„ฐ๋ฅผ ์Šคํฐํ•ด์ค€๋‹ค. ์ผ๋ฐ˜ ๋ชฌ์Šคํ„ฐ๋Š” 5๋งˆ๋ฆฌ๋กœ ๊ณ ์ •๋˜์–ด ์†Œํ™˜๋˜๋ฉฐ, ๊ทธ ์ข…๋ฅ˜๋Š” ๋žœ๋คํ•˜๋‹ค. ๋˜ํ•œ ๋งต ์ปจ์…‰์— ๋งž๋Š” ๋„ค์ž„๋“œ ๋ชฌ์Šคํ„ฐ์˜ ์Šคํฐ ํ™•๋ฅ ์€ 30%๋กœ ์„ค์ •ํ•˜์˜€๋‹ค.
    4. ๊ทธ ํ›„ MeshGenerator๋ฅผ ์ˆ˜ํ–‰ํ•ด์„œ ์ด๋™์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ตฌ์—ญ์— ๋ฒฝ์„ ์ƒ์„ฑํ•ด 3D ๊ณต๊ฐ„์˜ ๋งต์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.
    5. ๊ทธ๋ ‡๊ฒŒ ๋ฐ”๋‹ฅ๊ณผ ๋ฒฝ์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ƒ์„ฑํ•˜๋ฉด ํ•ด๋‹น ๋งต์— Texture๋ฅผ ์ž…ํžˆ๊ณ  Collider๋ฅผ ๋งŒ๋“ ๋‹ค.
    6. ๋‹ค์Œ ๋งต์œผ๋กœ ๊ฐ€๋Š” ํฌํƒˆ์„ top, left, right ๋ฐฉํ–ฅ ์ค‘ ๋žœ๋คํ•˜๊ฒŒ ์ƒ์„ฑํ•ด์ฃผ๊ณ  ๋‹ค์Œ ๋งต์—์„œ ์บ๋ฆญํ„ฐ๊ฐ€ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์Šคํฐ๋˜๋„๋ก ๋ฐฉํ–ฅ์„ ์ €์žฅํ•ด ๋‘ ๋งต์ด ์—ฐ์†์œผ๋กœ ์ด์–ด์ง„ ๋“ฏํ•œ ํšจ๊ณผ๋ฅผ ์ค€๋‹ค.
    7. MeshGenrator์—์„œ์˜ ์ž‘์—…์ด ๋๋‚˜๋ฉด MapGenerator์—์„œ ์ผ๋ฐ˜ ๋งต๋“ค์˜ ํฌํƒˆ์„ ์ž ์‹œ ๋น„ํ™œ์„ฑํ™”ํ•œ๋‹ค.
    8. Frame๋งˆ๋‹ค ํ˜„์žฌ ๋งต ์ƒ์—์„œ ๋ชฌ์Šคํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์กฐ์‚ฌํ•ด ๋ชฌ์Šคํ„ฐ๊ฐ€ ๋” ์ด์ƒ ์—†๋‹ค๋ฉด ํฌํƒˆ์„ ํ™œ์„ฑํ™”ํ•ด์ค€๋‹ค.

    ๋ชฌ์Šคํ„ฐ๋Š” ์œ ๋‹ˆํ‹ฐ ์ž์ฒด์—์„œ ์ œ๊ณตํ•˜๋Š” Navigation์œผ๋กœ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ž๋™์œผ๋กœ ์ถ”์ ํ•˜๊ฒŒ ํ•˜์˜€๋‹ค. Navigation์„ ์„ค์ •ํ•˜๊ธฐ ์ „ ๋งต ์ƒ์„ฑ๊ณผ ์„ค์ •์ด ๋๋‚œ ํ›„ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. ํ˜„์žฌ ์ž์‹ ์˜ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋Œ€์ƒ์ด ์ถ”์  ๊ฑฐ๋ฆฌ ์•ˆ์œผ๋กœ ๋“ค์–ด์˜ค๋ฉด ์ถ”์ ํ•˜๊ณ  ๊ณต๊ฒฉ ์‚ฌ์ •๊ฑฐ๋ฆฌ ์•ˆ์œผ๋กœ ๋“ค์–ด์˜ค๋ฉด ๊ณต๊ฒฉ ๋˜๋Š” ์Šคํ‚ฌ์ด ๋ฐœ๋™๋˜๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

    ๋˜ํ•œ, ๋ชฌ์Šคํ„ฐ๊ฐ€ ํ”ผ๊ฒฉ์„ ๋‹นํ•  ๋•Œ ๊ฒฝ์ง ํšจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด GetHit ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฉด์„œ ์งง์€ ์‹œ๊ฐ„ Nav Mesh Agent์„ ์ •์ง€์‹œํ‚ค๋Š” ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค.

About

INHA Univ. 2021-2 CSE Game Programming : Rogue-lite Game

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages