[UE5] ๐Ÿš€ Project Galaga (3)

Singery00ยท2024๋…„ 5์›” 21์ผ
0

Project Galaga

๋ชฉ๋ก ๋ณด๊ธฐ
3/15
post-thumbnail

๊ฐœ์š”

๐Ÿš€ Project Galaga ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

Unreal C++๊ณผ ๊ฒŒ์ž„์ˆ˜ํ•™์„ ์ ‘๋ชฉํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

2024.05.04 ~ 2024.05.21์˜ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์œผ๋กœ, ์ด 17์ผ ๋™์•ˆ ๊ฐœ๋ฐœ์„ ์™„๋ฃŒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฑฐ์ฐฝํ•˜๊ฒŒ ์‹œ์ž‘ํ•œ ํ”„๋กœ์ ํŠธ๋ณด๋‹จ ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ์ข…ํ•ฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์„œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด ๋‚ด๋ณด๊ฒ ๋‹ค๋Š” ๋งˆ์Œ์œผ๋กœ ์™„์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์—๋Š” ๊ฐœ๋ฐœ ์ผ์ง€๋ฅผ ์ •๋ฆฌํ•˜๋ฉฐ, ๊ฐœ๋ฐœ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ์ด์Šˆ๋ฅผ ์ •๋ฆฌํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๐Ÿš€ Project Galaga Github Repository


๋ณธ๋ก 


๊ฒŒ์ž„๋งต ์ œ์ž‘

์นด๋ฉ”๋ผ ์‹œ์ 

๊ฒŒ์ž„์˜ ์‹œ์ ์€ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๋”ฐ๋ผ ์›€์ง์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ •ํ•ด์ง„ ์œ„์น˜์—์„œ ํƒ‘๋ทฐ๋กœ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ์ฃ .

๊ทธ๋ž˜์„œ ์นด๋ฉ”๋ผ๋ฅผ ๋ ˆ๋ฒจ์— ๋ฐฐ์น˜ํ•˜์—ฌ ์•„๋ž˜๋ฅผ ๋ฐ”๋ผ๋ณด๊ฒŒ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์นด๋ฉ”๋ผ๊ฐ€ ๋ฉ”์ธ์ด ๋  ์ˆ˜ ์žˆ๋„๋ก Player 0์—๊ฒŒ ๋ฐ”์ธ๋”ฉํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฒฝ ์ƒ์„ฑ

ํ”Œ๋ ˆ์ด๋˜๋Š” Stage์„ ์ œ์ž‘ํ•˜๋ฉฐ ์•„๋ž˜์˜ ์š”์†Œ๋“ค์„ ๊ณ ๋ฏผํ•˜๋ฉฐ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

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

์–ด๋–ป๊ฒŒ ์œ„ ์š”์†Œ๋ฅผ ๊ตฌํ˜„ํ• ๊นŒ ๊ณ ๋ฏผํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ €๋Š” ๋ณด์ด์ง€ ์•Š๋Š” ๋ฒฝ์„ ๋งŒ๋“ค์–ด ๊ฐ์‹ธ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด๋Š” ๋ ˆ๋ฒจ์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” ์นด๋ฉ”๋ผ์— ๋ถ€์ฐฉํ•˜๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ƒ์„ฑํ–ˆ๋˜ ์นด๋ฉ”๋ผ๋ฅผ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์•กํ„ฐ๋กœ ๋งŒ๋“ค๊ณ  ํ•˜์œ„์— 4๊ฐœ์˜ ๋ฒฝ์„ ์ƒ์„ฑํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์Šˆ

์—ฌ๊ธฐ์„œ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋Š”๋ฐ ๋ฒฝ๊ณผ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ Block์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์—ฐ๊ตฌ ๋์— ํ”Œ๋ ˆ์ด์–ด์˜ Move ์ฝ”๋“œ์—์„œ ์›์ธ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
SetActorLocation()์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋™์„ ๊ตฌํ˜„ํ•˜๋‹ˆ, ์—ฐ์‚ฐ๋œ ์œ„์น˜๋กœ Location์ด Set๋˜๋Š” ๊ฒƒ์ด์˜€์Šต๋‹ˆ๋‹ค.

// ์›์ธ
me->SetActorLocation(P);

ํ•ด์„œ SetActorLocation()์˜ 2๋ฒˆ์งธ ์ธ์ž์ธ bSweep์— true๋ฅผ ์ธ์ž๋กœ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

// ํ•ด๊ฒฐ
me->SetActorLocation(P, true);

ํ•ด์„œ ์•„๋ž˜์ฒ˜๋Ÿผ ์›ํ•˜๋Š”๋Œ€๋กœ ๋ฒฝ์•ˆ์—์„œ์˜ ํ”Œ๋ ˆ์ด๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ์ด์Šˆ๋Š” ์•„๋ž˜ ํฌ์ŠคํŒ…๊ณผ ํ•จ๊ป˜ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Pawn์ด ์ถฉ๋Œ์„ ๋ฌด์‹œํ•œ๋‹ค


๋งˆ๋ฌด๋ฆฌ

์—ฌ๊ธฐ๊นŒ์ง€ ๋งต ์ œ์ž‘์— ๋Œ€ํ•œ ๊ตฌํ˜„๋‚ด์šฉ์ด์˜€์Šต๋‹ˆ๋‹ค.
ํ•ด๋‹น ๋งต์„ ๋ฒ ์ด์Šค๋กœ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์Šคํ…Œ์ด์ง€๋ฅผ ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

profile
๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๋ณด์ž

0๊ฐœ์˜ ๋Œ“๊ธ€