๐ Game/โ Unreal
![[Unreal][C++] Pawn ํด๋์ค](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRApVs%2FbtssfRhZDTX%2FL2NFKT08W14LkPFDt4VzWk%2Fimg.png)
[Unreal][C++] Pawn ํด๋์ค
Pawn ํด๋์คPawn ํด๋์ค๋ ํ๋ ์ด์ด๋ AI์ ์ปจํธ๋กค๋ฌ๊ฐ ์ฐ๊ฒฐ๋์ด ์ ์ด๋ฐ์ ์ ์๋๋ก ์ค๊ณ๋ ํด๋์ค๋ฅผ ์๋ฏธํ๋ค. 1) ์ด๊ธฐํ์์ฑํ Pawn ํด๋์ค์ ๊ฒ์์ด ์์๋์์ ๋ ํ๋ ์ด์ด์ ์ ๋ ฅ์ ๋ฐ์ํ๋๋ก ์ค์ ํ ๊ฒ์ด๋ค.AutoPossessPlayer: ๋ ๋ฒจ์ด ์์๋๊ฑฐ๋ ํฐ์ด ์์ฑ๋์์ ๋ ์๋์ผ๋ก ํฐ์ ์์ ํด์ผ ํ๋ ํ๋ ์ด์ด ์ปจํธ๋กค๋ฌ๋ฅผ ๊ฒฐ์ ํ๋ค.AMyPawn::AMyPawn(){ // Set this pawn to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true; AutoPossessPlayer = EAu..
[Unreal][C++] ํ์ด๋จธ
1. ํ์ด๋จธํ์ด๋จธ๋ ์ฌ์ฉ์๊ฐ ์ ์ํ ์๊ฐ๋ง๋ค ์ฌ์ฉ์๊ฐ ์ง์ ํ ๋์์ด ์คํ๋๋๋ก ํ๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ Tick ํจ์์์ DeltaTime ๊ฐ์ ํตํด ๊ตฌํํ ์๋ ์๋ค. ๊ทธ๋ฌ๋ ์ง์ ํ ๋์์ด ์ง์์ ์ผ๋ก ์คํ๋์ง ์๊ณ , ํน์ ํ ์๊ฐ์๋ง ๋ช ๋ฒ ์คํ๋๊ฑฐ๋, ํ ์ด 1์ด๋ฅผ ๋๋ ๊ฒฝ์ฐ๋ผ๋ฉด Tick ํจ์๋ณด๋ค ํ์ด๋จธ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ์ข๋ค. 2. ํ์ด๋จธ ๊ด๋ฆฌํ์ด๋จธ๋ ๊ธ๋ก๋ฒ TimerManager์์ ๊ด๋ฆฌํ๋ฉฐ ๊ฒ์ ์ธ์คํด์ค ์ค๋ธ์ ํธ์ ๊ฐ ์๋์ ์กด์ฌํ๋ค. TimerManager๋ฅผ ํตํด ํ์ด๋จธ๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๊ฑฐ๋ ์ข ๋ฃ์ํฌ ์ ์๋ค. 1) ์ฌ์ฉSetTimer ํจ์๋ฅผ ํตํด ๋๋ ์ด ํ ํจ์๋ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ํธ์ถํ๋ ํ์ด๋จธ๋ฅผ ์ค์ ํ๊ฑฐ๋ ๊ทธ ํจ์ ํธ์ถ์ ๋ฌดํ ๋ฐ๋ณตํ๋๋ก ์ค์ ํ ์ ์๋ค.GetWorldTimerManager().SetTi..
![[Unreal] ๋ฌผ๋ฆฌ ์์ง](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeLxPhB%2FbtsEQKYmzGJ%2FgyCaLO58MikxNQzVbVAk1K%2Fimg.png)
[Unreal] ๋ฌผ๋ฆฌ ์์ง
๋ฌผ๋ฆฌ ์์ง ์ด๋, ๋ํ, ๋ฐ์ฌ, ์ํธ ์์ฉ, ๊ด์ฑ, ๋ง์ฐฐ ๋ฑ ๋ฌผ๋ฆฌ๋ฅผ ๊ฒ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ํ๋ํ๋ ๊ฐ๋ฐํ๊ธฐ์๋ ๊ฐ๋ฐ ๊ธฐ๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค. ๊ทธ๋์ ๋ฌผ๋ฆฌ ์์ง์ด๋ผ๋ ๋ณ๋์ ๊ฐ์ฒด ์ญํ ๊ณ์ฐ ๋ชจ๋์ ํ์ฉํ๋ค. ๋ฌผ๋ฆฌ ์์ง์ ์ค์ ์ญํ์ ์ต๋ํ ์ ํํ๊ฒ ์ฌํํ๋ ๊ฒ์ ์ถ๊ตฌํ๋ค. ๋ฌผ๋ฆฌ ์์ง์ ์ฑ๋ฅ๊ณผ ๋ฅ๋ ฅ์ ๊ต์ฅํ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ณ ์์ง๋ง, ๋ฏธํกํ ๋ถ๋ถ์ด ์์ง ์กด์ฌํ๋ค. ์ฌํ์ฑ: ๋ช ๋ฒ์ ์คํํด๋ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ ์ ํ ๋๋ ๋ฌผ๋ฆฌ ์์ง์ด ์ ํฉํ์ง ์๋ค. ์ ์ด์ฑ: ํผ์ง์ค ์๋ฎฌ๋ ์ด์ ์ ํ๊ณผ ํ ํฌ๋ฅผ ์ฌ์ฉํด ๊ฐ์ฒด๋ฅผ ์์ง์ด๊ธฐ ๋๋ฌธ์ ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋์ฌ์ง ์์ธกํ๊ธฐ๊ฐ ํ๋ค๋ค. ์ฆ, ์ ์ด์ฑ์ด ๊ต์ฅํ ๋ฎ๋ค. ์ ๋ฐํ ์๋ฎฌ๋ ์ด์ : ์ ๋ฐํ ์๋ฎฌ๋ ์ด์ ์ด ํ์ํ๋ค๋ฉด ์ง์ ๊ตฌํํ๋ ๊ฒ์ด ์ข๋ค. ์ด์ฒ๋ผ ๋ฌผ๋ฆฌ ์์ง์ CPU ์ฒ๋ฆฌ ๋ฅ๋ ฅ๊ณผ ์์ ์ ๋ฐ๋ผ ..
![[Unreal] ์ฝ๋ฆฌ์ ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDykyi%2FbtsELrZQKF2%2FXOshZsIXRGeq0EaWBGxR7K%2Fimg.png)
[Unreal] ์ฝ๋ฆฌ์
1. ์ฝ๋ฆฌ์ ๋ฐ์ 1) ๊ฐ์ฒด ๋ฐ์ ์ง์ฐ๊ฐ๋ฅผ ๋ฒฝ์ผ๋ก ๋์ง๋ค๋ฉด ์ง์ฐ๊ฐ๋ ๋ฒฝ๊ณผ ์ถฉ๋ํด์ ํ๊ฒจ ๋์จ๋ค. ๊ทธ๋ฐ๋ฐ ๊ฒ์ ์ธ๊ณ์์๋ ๋ชจ๋ ๋ฌผ์ฒด๊ฐ ์ด๋ฌํ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง๋ฉด ์ ๋๋ค. ์๋ํ๋ฉด ๋ฌผ์ฒด์ ์๋ก ์ถฉ๋ํ์ง ์์ ์๋ ์๊ณ ๋ค์ํ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด์ฒ๋ผ ๊ฒ์ ๊ฐ๋ฐ์์๋ ๋ฌผ์ฒด๊ฐ ์ถฉ๋ํ ๋ ์ด๋ป๊ฒ ๋ฐ์ํ ๊ฒ์ธ์ง๋ฅผ ์ค์ ํด์ผ ํ๋ค. ์ธ๋ฆฌ์ผ์์๋ ์ด๋ฌํ ์ค์ ์ ๊ฐ์ฒด ๋ฐ์์ด๋ผ ๋ถ๋ฅด๋ฉฐ 3๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค. ๋ธ๋ก(Block) ์๋ก๊ฐ ์๋ก๋ฅผ ํ๊ณ ๋ค์ง ์๊ฒ ํ๋ค. ๋ ๋์์ด ์๋ก ๋ํ๋ ๋ฐฉ์์ด ๋ชจ๋ ๋ธ๋ก์ด์ด์ผ ํ๋ค. ์ค๋ฒ๋ฉ(Overlap) ์ฝ๋ผ์ด๋๋ผ๋ฆฌ์ ์ค๋ณต์ ํ์ฉํ์ง๋ง ์ํ๋ฅผ ๊ฒ์ถํด์ ํ์ฉํ ์ ์๊ฒ ํ๋ค. ๋ ๋์์ด ์๋ก ๋ํ๋ ๋ฐฉ์์ด ๋ชจ๋ ์ค๋ฒ๋ฉ์ด์ด์ผ ํ๋ค. ๋ฌด์(Ignore) ์๋ก๋ฅผ ์์ ํ ๋ฌด์ํ๋ค. ๋ธ๋ก๊ณผ ์ค๋ฒ..
![[Unreal] ๋ธ๋ฃจํ๋ฆฐํธ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc8WwR%2FbtsEOUtDVLD%2FKrWz4iDVegO9V9yuGtK4U1%2Fimg.png)
[Unreal] ๋ธ๋ฃจํ๋ฆฐํธ
1. ๋ธ๋ฃจํ๋ฆฐํธ์ C++์ธ๋ฆฌ์ผ ์์ง์์ ๊ฒ์ ๊ธฐ๋ฅ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ธ๋ฃจํ๋ฆฐํธ์ C++์ด ์๋ค.๋ธ๋ฃจํ๋ฆฐํธ๋ ๋์ ๋ณด์ด๋ ๋ ธ๋์ ๋ ธ๋๋ฅผ ๋ณด๋ฉฐ ๋์ ๋ณด์ด๋ ํ๋ฆ์ ๋ง๋ค์ด๋ด๋ ๋น์ฃผ์ผ ์คํฌ๋ฆฝํธ์ด๋ค.C++์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ํ์ดํ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํด์ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ๋จ๋ ์ผ๋ก ์ฌ์ฉํ์ฌ ๊ฒ์์ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํ์ง๋ง, ํ๋ก๊ทธ๋๋จธ๊ฐ C++๋ก ๋ฒ ์ด์ค๊ฐ ๋๋ ๊ฒ์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ณ , ๋์์ด๋๊ฐ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์์ ์ฌ๋ฏธ๋ฅผ ์ํ ๊ธฐ๋ฅ๋ค์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํจ๊ป ์ฌ์ฉํ ๋ ์๋์ง๋ฅผ ๋ธ๋ค. 1) ๋น์ฃผ์ผ ์ธ์ด๋ธ๋ฃจํ๋ฆฐํธ๋ ๋น์ฃผ์ผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ๋น์ฃผ์ผ ํ๋ก๊ทธ๋๋ฐ์ ์๊ฐ์ ์ผ๋ก ๋ธ๋ก์ ์์ผ๋ฉฐ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. 2) ์ข ๋ฅ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ: ๋ ๋ฒจ์ ํ๋์ฉ ํ ๋น๋์ด ์๋..
![[Unreal] ๋ ๋ฒจ, ๋ ์ด์ด](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRZliO%2FbtsEQbPkUwO%2F3gARPPuijmBr6d6e4IdFB1%2Fimg.png)
[Unreal] ๋ ๋ฒจ, ๋ ์ด์ด
1. ๋ ๋ฒจ ๊ฒ์์ ํ๋ ์ดํ ๋ ๋ณด๊ณ ๋ง์ง ์ ์๋ ๋ชจ๋ ์ค๋ธ์ ํธ๋ ๋ ๋ฒจ ์์ ๋ค์ด๊ฐ ์๋ค. ์ฆ, ๋ ๋ฒจ์ด๋ ์คํํฑ ๋ฉ์, ๋ณผ๋ฅจ, ๋ผ์ดํธ, ๋ธ๋ฃจํ๋ฆฐํธ ๋ฑ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฒ์ผ๋ก, ์ด ๋ชจ๋ ๊ฒ์ด ์ด์ฐ๋ฌ์ ธ์ ๊ฒ์์ ํ๋ ์ดํ๋ ํ๋ ์ด์ด์๊ฒ ๋ชจ๋ ๊ฒฝํ์ ์ ์ฌํด ์ค๋ค. ๋ ๋ฒจ ๊ท๋ชจ๋ ๊ฑฐ๋ ์งํฅ ๊ธฐ๋ฐ ์๋์์๋ถํฐ ์กํฐ ๋ช ๊ฐ๋ก ์ด๋ฃจ์ด์ง ๋งค์ฐ ์์ ๋ ๋ฒจ๊น์ง ๋ค์ํ๋ค. 1) ๋ ๋ฒจ ์คํธ๋ฆฌ๋ฐ ์ธ๋ฆฌ์ผ์๋ ๊ฒ์ ํ๋ ์ด ์ค์ ์์ง ์ฝ์ด ๋ค์ด์ง ์์ ์๋ธ ๋ ๋ฒจ์ ์ดํ์ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฝ์ด ๋ค์ด๋ ๋ ๋ฒจ ์คํธ๋ฆฌ๋ฐ์ด๋ผ๋ ๊ธฐ๋ฅ์ด ์๋ค. ๋ฐ๋ผ์ ๋์ ๋งต์ ์๋ธ ๋ ๋ฒจ๋ก ๋ถํ ํด์ ์กฐ๊ธ์ฉ ์ฝ์ด ๋ค์ด๋ฉฐ ๊ฒ์ ํ๋ ์ด๋ฅผ ์งํํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ์ผ๋ฐ์ ์ธ ๊ฒ์์์ ์ฅ์์ ์์ฒญ ๋๋ฆฌ๊ฒ ์ฌ๋ผ๊ฐ๊ฑฐ๋ ์ด๋ฆฌ์ง ์๋ ์ ํฐ๋ฅผ ๋ณธ ์ ์ด ์์ ๊ฒ์ด๋ค. ๋ชจ๋ ๋ก๋๋ฅผ ์ํ ์๊ฐ์ ๋ฒ..