๐ Game/โ Unreal
![[Unreal] ์กํฐ ์์ฑ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpAYJH%2FbtsGCW9xnuF%2FRGLLKkniKUyYTsG1Ikof90%2Fimg.png)
[Unreal] ์กํฐ ์์ฑ
1. ํน์ ์์น์ ์์ฑํ๊ธฐ์คํฐ ํฌ์ธํธ๊ฐ ๋ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค ์กํฐ๋ฅผ ์์ฑํ๊ณ , ๋งต ๋ด ์กํฐ๊ฐ ์์ฑ๋ ์์น์ ๋ฐฐ์นํ๋ค. ์ด์ ์คํฐ ํฌ์ธํธ๋ค์ ๊ฐ์ ธ์ ๊ทธ ์์น์ ์กํฐ๊ฐ ์์ฑ๋๋๋ก ํ ๊ฒ์ด๋ค. ๋จผ์ ๊ฒ์ ๋ชจ๋ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ด์ด ์ด๋ฒคํธ ๊ทธ๋ํ์ ์์ดํ ์์ฑ์ ์ํ ํจ์๋ฅผ ์ถ๊ฐํ๋ค.๊ฒ์ ๋ชจ๋ ๋ธ๋ฃจํ๋ฆฐํธ์ธ ์ด์ ๋ ๋ชจ๋ ๋ ๋ฒจ์์ ์ฌ์ฉ๋ ์ ์๋๋ก ํ๊ธฐ ์ํจ์ด๋ค. ๋ ๋ฒจ๋ง๋ค ๋ค๋ฅธ ์คํฐ์ ์ฌ์ฉํ ๊ฒ์ด๋ผ๋ฉด ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ์ ์์ ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. Get All Actors Of Class With Tag ๋ ธ๋๋ฅผ ํตํด ์คํฐ ํฌ์ธํธ๋ค์ ๊ฐ์ ธ์ ๋ณ์์ ์ ์ฅํ๋ค. ์ฌ๊ธฐ์ Tag๋ฅผ ํตํด ์์ดํ ์ข ๋ฅ ๋ฑ ํน์ง์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์์ฑ๋๋๋ก ํ์ฉํ ์ ์๋ค. ์์ฑํ๊ณ ์ถ์ ์๋งํผ Loop๋ฅผ ๋๋ฉฐ Transform์ ๋ฐ์์ ๊ทธ ๊ฐ์ผ๋ก ์์ด..
![[Unreal] ์งํ ๋ง๋ค๊ธฐ (Light, Landscape, Water Plugin)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F13zHV%2FbtsGc3DcVqX%2FkykypbIxMCXqVqXA4Bamfk%2Fimg.png)
[Unreal] ์งํ ๋ง๋ค๊ธฐ (Light, Landscape, Water Plugin)
1. ๋ผ์ดํธ(Light) ์๋ก์ด level์ ์์ฑํ๋ฉด ์กํฐ๋ฅผ ๋ฐฐ์นํด๋ ์๋ฌด๊ฒ๋ ๋ณด์ด์ง ์๋๋ค. 1) Directional Light Directional Light๋ ํ์์ ์ญํ ์ ํ๋ ๋ผ์ดํธ๋ก ๊ฒ์ ์๋ ๋ด ์ ์ฒด์ ์ธ ๋น์ ๋ธ๋ค. ๋ชจ๋น๋ฆฌํฐ: Movable 2) ํ๋ BP_Sky_Sphere ๋ธ๋ฃจํ๋ฆฐํธ๋ ์ธ๋ฆฌ์ผ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ํ๋ ๋ธ๋ฃจํ๋ฆฐํธ์ด๋ค. Directional Light Actor: ์์ฑํ Directional Light ๋ ๋ง์ ํจ๊ณผ๋ฅผ ์ฃผ๊ณ ์ถ๋ค๋ฉด, ์ธ๋ฆฌ์ผ ๋ง์ผ ํ๋ ์ด์ค์์ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๋ ๋ธ๋ฃจํ๋ฆฐํธ๋ ์๋ค. ๋ฒ๊ฐ, ๋ ธ์, ์ฌ๋ง ๋ฑ ์ฌ๋ฌ ํจ๊ณผ๋ฅผ ์ ๊ณตํ๋ ํ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. 3) Sky Light Directional Light์ ํ๋๋ง ์ค์ ํด๋ ๊ฝค ๊ด์ฐฎ์ ๋งต์ผ๋ก ๋ณด์ธ๋ค. ๊ทธ๋ฌ๋ ์ด ๋งต..
![[Unreal] ํ์๋ผ์ธ(Timeline)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRDmaA%2FbtsF2vk9uoV%2FbBk8MWdpyt7Tjc9o7cO3pK%2Fimg.jpg)
[Unreal] ํ์๋ผ์ธ(Timeline)
ํ์๋ผ์ธ ํ์๋ผ์ธ ๋ ธ๋๋ ๋ธ๋ฃจํ๋ฆฐํธ ๋ด์์ ๊ฐ๋จํ ์๊ฐ ๊ธฐ๋ฐ ์ ๋๋ฉ์ด์ ์ ๋น ๋ฅด๊ฒ ๊ตฌํํ ์ ์๋ ํน์ ๋ ธ๋์ด๋ค. ์ ๋ ฅ ํ play: ํ์๋ผ์ธ ํ์ฌ ์๊ฐ์์ ์ ๋ฐฉํฅ ์ฌ์ play from start: ํ์๋ผ์ธ ์ฒ์๋ถํฐ ์ ๋ฐฉํฅ ์ฌ์ stop: ํ์๋ผ์ธ ํ์ฌ ์๊ฐ์์ ์ฌ์ ๋ฉ์ถค reverse: ํ์๋ผ์ธ ํ์ฌ ์๊ฐ์์ ์ญ๋ฐฉํฅ ์ฌ์ ์ถ๋ ฅ ํ update: ํ์๋ผ์ธ์ด ํธ์ถ๋์๋ง์ ์คํ ์ ํธ ์ถ๋ ฅ ๊ทธ๋ํ ํญ์ด๋ ๋ด ๋ธ๋ฃจํ๋ฆฐํธ ํญ์์ ํ์๋ผ์ธ์ ๋๋ธ ํด๋ฆญํ๋ ๊ฒ์ผ๋ก ๋ธ๋ฃจํ๋ฆฐํธ ์๋ํฐ์์ ๋ฐ๋ก ํธ์ง์ด ๊ฐ๋ฅํ๋ค. track ์ถ๊ฐ: float, vector ์ธ ์ฌ๋ฌ ๊ฐ์ ์ ๋๋ฉ์ด์ ์ ์ํ ํธ๋ ์ถ๊ฐ Length: ํ์๋ผ์ธ์ ์ฌ์ ๊ธธ์ด ์ค์ ํ์ฉ ๋ฌธ ์ด๊ธฐ ๋ฌธ์ด ์ด๋ฆฌ๊ณ ๋ซํ๋ ์ ๋๋ฉ์ด์ ์ ์ถ๊ฐํด ๋ณผ ๊ฒ์ด๋ค. ๋จผ์ ํ์๋ผ์ธ ๋ ธ๋..
![[Unreal] AI ์บ๋ฆญํฐ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVhkQY%2FbtsFQPK5KbO%2FAMxQdjjFzWkvDZTyzMQPwK%2Fimg.gif)
[Unreal] AI ์บ๋ฆญํฐ
ํ๋ ์ด์ด๋ฅผ ์ถ์ ํ๋ ์ ์บ๋ฆญํฐ๋ฅผ ๊ตฌํํ ๊ฒ์ด๋ค. 1. ์ ์บ๋ฆญํฐ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค์ ์บ๋ฆญํฐ๋ก ์ฌ์ฉํ ์บ๋ฆญํฐ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค๋ฅผ ์์ฑํ๋ค. ์์ฑํ ์ ์บ๋ฆญํฐ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค๋ฅผ ์ฐ ๋ค, Mesh์ Collision์ ์๋ง๊ฒ ์์ ํ๋ค. 2. AI ์ปจํธ๋กค๋ฌ ์์ฑ์ธ๋ฆฌ์ผ ์์ง์์๋ ์บ๋ฆญํฐ๋ controller์ ์ง๋ฐฐ๋ฅผ ๋ฐ๋๋ค. ํ๋ ์ด์ด ์บ๋ฆญํฐ๋ player controller์ ๋น์๋๊ณ ๋์ผํ๊ฒ AI ์บ๋ฆญํฐ๋ AI Controller์ ๋น์๋๊ฒ ๋๋ค. AI ์ปจํธ๋กค๋ฌ๋ฅผ ์์๋ฐ๋ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค๋ฅผ ์์ฑํ๋ค. ์ด๋ ๊ฒ ์์ฑํ AI ์ปจํธ๋กค๋ฌ๋ ์ด์ ์ ์์ฑํ ์บ๋ฆญํฐ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค์์ ๋ฑ๋ก ๊ฐ๋ฅํ๋ค. Rotation Yaw ํ์ฑํ: AI ์บ๋ฆญํฐ ํ์ ์ ์ฌ์ฉAuto Possess AIDisabled: ๋นํ์ฑํPla..
![[Unreal] ์์ดํ
ํ๋, ์ฐฉ์ฉ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdB6XJf%2FbtsFFLPEdEe%2FHScumfnCbV83OC4Y0eSSUk%2Fimg.png)
[Unreal] ์์ดํ ํ๋, ์ฐฉ์ฉ
์บ๋ฆญํฐ์ ์ฅ์ฐฉ ๊ฐ๋ฅํ ์์ดํ ์ ํ๋ํ ํ ์ฐฉ์ฉํ๋ ๊ฒ์ ๊ตฌํํ ๊ฒ์ด๋ค. 1. ์์ดํ ์์ฑ ๋จผ์ ์ฌ๋ฌ ์ข ๋ฅ์ ์์ดํ ์ ๊ด๋ฆฌํ Base C++ Class๋ฅผ ์์ฑํ๋ค. ์ด ํด๋์ค์์ ์์ดํ ์ ํ์ , ๋ ๋ฒจ, ์ถฉ๋ ๋ฑ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋ ๊ธฐ๋ฅ๋ค์ ๊ด๋ฆฌํ๋ค. ๊ฐ ์์ดํ ๋ง๋ค ๋ค๋ฅด๊ฒ ๊ตฌํ๋์ด์ผ ํ๋ ๊ฒ๋ค์ ๋ธ๋ฃจํ๋ฆฐํธ ํด๋์ค๋ฅผ ์์ฑํ์ฌ ๊ทธ ์์์ ๊ด๋ฆฌ๋๋๋ก ๋ฐฉํฅ์ ์ก์๋ค. ์์ดํ ์ ํ์ ์ UENUM์ผ๋ก ์ ์ํ๋ค. UENUM(BlueprintType) enum class EItemType : uint8 { E_Hat = 0 UMETA(DisplayName = "Hat"), E_Bag UMETA(DisplayName = "Bag"), E_Key UMETA(DisplayName = "Key"), E_Gadget UMETA(Dis..
![[Unreal] ์ ๋๋ฉ์ดํ
๋ FBX ์ ์
์ํฌํธ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4DSgN%2FbtsIhNjPRZT%2Fu9qrHVKf7geVvcTXa0XlSk%2Fimg.gif)
[Unreal] ์ ๋๋ฉ์ดํ ๋ FBX ์ ์ ์ํฌํธ
์ธ๋ฆฌ์ผ์์ ์ ๊ณตํ๋ ์ผ์ธ์นญ, ์ผ์ธ์นญ ๋ฑ ํ๋ก์ ํธ์ ์ธ๋ถ FBX ์ ์ ์ ์ ์ฉํด ๋ณผ ๊ฒ์ด๋ค. ์ธ๋ฆฌ์ผ์ ๋ชจ๋ ํ๋ก์ ํธ๋ ๊ธฐ๋ณธ ์บ๋ฆญํฐ๋ก Mannequin์ ์ฌ์ฉํ๊ณ ์๋ค. ์ด ๊ธฐ๋ณธ ์บ๋ฆญํฐ๋ฅผ ์ค์ ๊ฒ์์์ ํ๋ ์ดํ ์บ๋ฆญํฐ๋ก ๋ณ๊ฒฝํ ๊ฒ์ด๋ค. 1. FBX ์ํฌํธ์ํฌํธ ๋ฒํผ์ ํตํด FBX๋ฅผ ์ํฌํธ ํ๋ฉด, ๋ค์๊ณผ ๊ฐ์ ์ํฌํธ ์ต์ ์ฐฝ์ด ๋จ๊ฒ ๋๋ค. Mesh-Auto Generate Collision: ์ถฉ๋๊ฐ์ ์๋์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ์ํฌํธ๋ฅผ ํ๊ฒ ๋๋ฉด, ๋ฉ์์ ํจ๊ป ์ฌ๋ฌ ํ์ผ๋ค์ ํจ๊ป ๊ฐ์ ธ์จ ๊ฒ์ ํ์ธํ ์ ์๋ค. ํน์ ํ์ผ์ ๊ฐ์ ธ์ฌ์ง ๋ง์ง๋ ์ต์ ์ ํตํด ์ ํ ์ ์๋ค. ์ค์ผ๋ ํค: ์ค์ผ๋ ํ ๋ฉ์์์ ์ฌ์ฉํ๋ ๋ผ ๊ตฌ์กฐ์ค์ผ๋ ํ ๋ฉ์ํผ์ง์ค ์ ์ : ์ ๋๋ฉ์ด์ ๋์ ์ฝ๋ฆฌ์ ๋ฐ์ดํฐ์ ๋๋ฉ์ด์ ์ํ์ค: ์ ๋๋ฉ์ด์ ๋จธํฐ๋ฆฌ์ผ ์ด๋ ..