๐ Project Galaga ์์ํฉ๋๋ค.
Unreal C++๊ณผ ๊ฒ์์ํ์ ์ ๋ชฉํด์ ํ๋ก์ ํธ๋ฅผ ์งํํ์ต๋๋ค.
2024.05.04 ~ 2024.05.21์ ๊ฐ๋ฐ ๊ธฐ๊ฐ์ผ๋ก, ์ด 17์ผ ๋์ ๊ฐ๋ฐ์ ์๋ฃํ์์ต๋๋ค.
๊ฑฐ์ฐฝํ๊ฒ ์์ํ ํ๋ก์ ํธ๋ณด๋จ ์ง๊ธ๊น์ง ๋ฐฐ์ด ๊ฒ๋ค์ ์ข ํฉ์ ์ผ๋ก ์ฌ์ฉํด์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด ๋ด๋ณด๊ฒ ๋ค๋ ๋ง์์ผ๋ก ์์ฑํ์์ต๋๋ค.
ํด๋น ์๋ฆฌ์ฆ์๋ ๊ฐ๋ฐ ์ผ์ง๋ฅผ ์ ๋ฆฌํ๋ฉฐ, ๊ฐ๋ฐ ๋ด์ฉ์ ๋ํ ์ค๋ช ๊ณผ ์ด์๋ฅผ ์ ๋ฆฌํ ์์ ์ ๋๋ค.
๊ฐ๋ฐ ์ค ์์ ์งํ ๋ฐฉํฅ์ ๋ํด์ ๊ฐ์ฌ๋์๊ฒ ์กฐ์ธ์ ๊ตฌํ์์ต๋๋ค.
์ค์ ๋ก ๋ชจ๋ ์์ ์ C++๋ก ์งํํ์ง๋ ์๋๋ค.
์ดํํธ๋ UI ์์ ๋ค์ ํธ์์ฑ๊ณผ ์์ ์ฑ์ผ๋ก ์ธํด C++๋ณด๋ค๋ ์๋ํฐ์์ ์์ ํ๋ค.
์ํฝ๊ฒ์์ฆ์์ C++์ฐ๋ ์ข ์ ๋ง๋ค์ด์ฃผ๋ฉด ์ข๊ฒ ๋ค.
๊ทธ๋์ ๊ณ ์ฌ ๋์ ์ดํํธ, UI, ์ฌ์ด๋ ์์ ์ Blueprint๋ก ์งํํ๊ฒ ๋์์ต๋๋ค.
C++๋ก ๊ตฌํํ ๊ธฐ๋ฅ์ ์ดํํธ ํจ๊ณผ๋ฅผ ๋ฃ๊ธฐ ์ํด UFUNCTION(BlueprintNativeEvent)๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
BlueprintCallable์ ๋ธ๋ฃจํ๋ฆฐํธ ๊ทธ๋ํ์์ ํธ์ถ์ด ๊ฐ๋ฅํ๋, ๋ณ๊ฒฝ์ด๋ ๋ฎ์ด์ฐ๊ธฐ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ฅผ ์ํด BlueprintNativeEvent ํน์ BlueprintImplementableEvent๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ํจ์ ์ ์ธ์์ UFUNCTION()๊ณผ ํจ๊ป ์ธ์๋ค์ ๋ฃ์ด ์ค๋๋ค.
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "LaserEffect")
void laserEffect();
๋ํ ํด๋น ํจ์๋ฅผ ์ ์ํ ๋๋ ํจ์๋ช _Implementation()์ ํํ๋ก ์ด๋ฆ์ ์์ฑํ์ฌ์ผ ํฉ๋๋ค.
void AEnemyBase::laserEffect_Implementation()
{
}
ํ์ง๋ง ์ค์ ํจ์๋ฅผ ์ฝ๋ ์์์ ์ฌ์ฉํ ๋๋ ์ ์ธ๋ ์ด๋ฆ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ด๋ฒคํธ๊ฐ ํธ์ถ๋ ์ ์คํ๋๋ Add Event ๋
ธ๋๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์ถ๊ฐ๋ก ๋ถ๋ชจ์ ๋ด์ฉ์ ์คํํ ์ ์๋๋ก Parent๋ฅผ ์ฐ๊ฒฐํด์ค๋๋ค.
์ดํ ์ถ๊ฐํ ์ดํํธ์ ์ฌ์ด๋์ ๋ํ ๋ด์ฉ์ ๊ตฌํํด์ฃผ๋ฉด ๋ฉ๋๋ค.
์ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๊ฐ ํจ๊ณผ์ ๋ํ์ฌ ์ดํํธ๋ฅผ ๊ตฌํํ์์ต๋๋ค.
์๋์ ์ถ๊ฐํ ํจ๊ณผ๋ค์ ๋ช๊ฐ์ง ์ฒจ๋ถํ์์ต๋๋ค.
ํญํ ์ฌ์ฉ ํจ๊ณผ
ํ์ด๊ธฐ ์ฌ์ฉ ํจ๊ณผ
ํผ๊ฒฉ ์ ํจ๊ณผ
์ฌ๋ง ์ ํจ๊ณผ
์ฌ๊ธฐ๊น์ง ์ดํํธ์ ์ฌ์ด๋ ํจ๊ณผ์ ๋ํ ๋ด์ฉ์ ๋๋ค.
์ฌ์ด๋๋ ๋ นํ์ gif์ ์ถ๊ฐํ ์ ์์ด ๋ฃ์ ์ ์์์ผ๋ ํ๋ ์ด ์์์์ ํ์ธํด์ฃผ์ธ์.