๐ Game/โ Unreal
![[Unreal] ํ๋กํผํฐ(๋ฆฌํ๋ ์
), ๋งคํฌ๋ก, ๊ฐ๋น์ง ์ปฌ๋ ์
<img src=](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftw1fX%2Fbtsv5l7Kw5D%2Fw6TGs5XxAk6sOdk64VPMyK%2Fimg.png)
[Unreal] ํ๋กํผํฐ(๋ฆฌํ๋ ์
), ๋งคํฌ๋ก, ๊ฐ๋น์ง ์ปฌ๋ ์
![](https://tistory1.daumcdn.net/tistory_admin/blogs/image/category/new_ico_1.gif)
1. ๋ฆฌํ๋ ์ ๋ฆฌํ๋ ์ (Reflection)์ ํ๋ก๊ทธ๋จ์ด ์คํ ์๊ฐ์ ์๊ธฐ ์์ ์ ์กฐ์ฌํ๋ ๊ธฐ๋ฅ์ด๋ค. ์ฌ๊ธฐ์ ์๊ธฐ ์์ ์ด๋ ํด๋์ค, ๊ตฌ์กฐ์ฒด, ํจ์, ๋ฉค๋ฒ ๋ณ์, ์ด๊ฑฐํ ๋ฑ์ ์๋ฏธํ๋ค. ์ฆ, ๋ฐํ์์ ๊ฐ์ฒด์ ํ์ ์ ๋ณด๋ ๊ฒ์ ํฌํจํด ๊ตฌ์กฐ์ ํ๋๊น์ง ์์ ํ๋ ๊ฒ์ด ๋ฆฌํ๋ ์ ์ด๋ค. 2. ํ๋กํผํฐ์๋ฐ๋ C#์์๋ ๋ฆฌํ๋ ์ ์ ์ง์ํ์ง๋ง, ์ธ๋ฆฌ์ผ C++์์๋ ์ง์ํ์ง ์๊ณ ์๋ค. ๊ทธ๋์ ์ธ๋ฆฌ์ผ ์์ฒด ์์คํ ์ผ๋ก ๋ฆฌํ๋ ์ ์ ์ ๊ณตํ๊ณ ์์ผ๋ฉฐ ๊ทธ ์์คํ ์ ์ธ๋ฆฌ์ผ์ ๋ฆฌํ๋ ์ ์ธ ํ๋กํผํฐ๋ผ ๋ถ๋ฅธ๋ค. ์ธ๋ฆฌ์ผ ๋ด์ ์ฌ๋ฌ ๊ฐ์ง ์์คํ ๋ค์ด ์ด ๋ฆฌํ๋ ์ ๊ฐ์ฒด์ ์์กดํ๋ค.๋คํธ์ํฌ ๋ฆฌํ๋ฆฌ์ผ์ด์ ๋ธ๋ฃจํ๋ฆฐํธ์ C++ ์ฐ๋์๋ํฐ์ ๋ํ ์ผ ํจ๋์๋ ์๋ฆฌ์ผ๋ผ์ด์ ์ด์ ๊ฐ๋น์ง ์ปฌ๋ ์ 3. ๋งคํฌ๋กํด๋์ค, ๋ณ์, ํจ์ ๋ฑ ์ํฉ์ ๋ง๊ฒ ๋งคํฌ๋ก๋ฅผ ๋ฌ์๋๋ฉด, UHT(..
![[Unreal] Game Instance, Subsystem](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8fYWS%2FbtsH2rhRmLg%2FmKlwkzncQPpqIbewzYCmL0%2Fimg.png)
[Unreal] Game Instance, Subsystem
1. Game InstanceGame Instance๋ ๊ฒ์์ด ์์ํ ๋ ๋ง๋ค์ด์ ธ ๊ฒ์์ด ์ข ๋ฃ๋ ๋๊น์ง ์กด์ฌํ๋ค.๋ ๋ฒจ์ด ๋ณ๊ฒฝ๋์ด๋ ๊ณ์ ์ ์ง๋์ด ์ ๋ณด๋ค์ ์ ์ฅํ๊ณ ๊ณต์ ํ๋ ๋ฐ ์ฌ์ฉํ๋ค.์ฑ๊ธํค๊ณผ ๊ฑฐ์ ๋น์ทํ ๊ฐ๋ ์ด๋ค. ์์ฑ๋ ๊ฒ์ ์ธ์คํด์ค๋ ํ๋ก์ ํธ ์ธํ ์์ ์ค์ ์ด ํ์ํ๋ค. ์ด๋ ํน์ ๊ฒ์ ์ธ์คํด์ค๋ฅผ ์ ํํ๋ฉด ๊ฒ์ ์ค ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ ์ ํ๋ ํ๋์ ๊ฒ์ ์ธ์คํด์ค๋ง ์กด์ฌ ๊ฐ๋ฅํ๋ค. ๊ฒ์ ํ๋ฆ ๊ฐ์์ ๋ฐ๋ฅด๋ฉด ๊ฒ์ ์ธ์คํด์ค๋ ๊ณต์์ ์ผ๋ก ๊ฒ์ ํ๋ ์ด๊ฐ ์์๋๊ธฐ ์ , ๋จผ์ ๊ฒ์ ์ธ์คํด์ค๋ฅผ ์์ฑ(Create)ํ ํ ์ด๊ธฐํ(Init)๋ฅผ ์งํํ๋ค. 2. SubsystemSubsystem์ ์๋ช ์ด ๊ด๋ฆฌ๋๋ ์๋ ์ธ์คํด์ฑ ํด๋์ค์ด๋ค. ์ฆ, ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ์ธ์คํด์ค๋ฅผ ์์ฑ ๋ฐ ๊ด๋ฆฌํ์ง ์์๋ ์์ง์ด ์์์ ์ธ์คํด์ฑ..
![[Unreal] Object, Actor, Component](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiKVwK%2FbtsETmCbKk4%2Fl5rkHFq9tbnrxpmCIYikzk%2Fimg.png)
[Unreal] Object, Actor, Component
1. Object1) UObjectUObject๋ ์ธ๋ฆฌ์ผ์ด ์ค๊ณํ ์๋ก์ด ์์คํ ์ ๋จ์ ์ค๋ธ์ ํธ๋ก ์ธ๋ฆฌ์ผ์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์์ํ๋ ๋ฒ ์ด์ค ํด๋์ค์ด๋ค.C++ ์ค๋ธ์ ํธ(๋ค์ดํฐ๋ธ ํด๋์ค)์ ์์ค์ ๋น ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ฅ ๊ตฌํ์ ์ฌ์ฉํ๋ค.์ ๋์ฌ FUObject ์ค๋ธ์ ํธC++ ์ค๋ธ์ ํธ์ ๊ฐ์ฒด์งํฅ์ค๊ณ๋ฅผ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ค๋ธ์ ํธ์ด๋ค.์ฝํ ์ธ ์ ์์ ๊ด๋ จ๋ ๋ณต์กํ ์ค๊ณ ๊ตฌํ์ ์ฌ์ฉํ๋ค.์ ๋์ฌ U 2) UHT(Unreal Header Tool)UObject๋ฅผ ์์ํ๋ฉด ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ, ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ํค๋ ํ์ผ์์ ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ํ์ํ ์ ๋ณด๋ฅผ ์์งํด์ผ ํ๋ค. ์ด๋ฌํ ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ UHT์์ ์ด๋ฃจ์ด์ง๋ค. ์ธ๋ฆฌ์ผ ํ๋ก์ ํธ ๋น๋ ์ ์ฐ์ UHT๋ ์์ค ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ .generated.h ์..
![[Unreal] UMG](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft2xUQ%2FbtssVWaHKb2%2F5wXQXAI79MbOsxJYMVtQJk%2Fimg.png)
[Unreal] UMG
1. UMGUMG(Unreal Motion Graphic)๋ ์ธ๋ฆฌ์ผ ์์ง์์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ ์ ์๋ ์ ์ ํด์ด๋ค. 2. ์ฌ์ฉUMG์์๋ UI๋ฅผ ๊ตฌ์ฑํ๋ ๊ตฌ์ฑ ์์๋ค์ ์์ ฏ(Widget)์ด๋ผ๋ ๊ฐ๋ ์ผ๋ก ์ฌ์ฉํ๋ฉฐ, ์์ ฏ ๋ธ๋ฃจํ๋ฆฐํธ(Widget Blueprint)์์ ์ด ์์ ฏ๋ค์ ํธ์งํ์ฌ UI๋ฅผ ์ ์ํ ์ ์๋ค. ๋์์ด๋ํญ์ ์๊ฐ์ ๋ ์ด์์ ๊ตฌ์ฑ์ ์ํ ํธ์ง์ฐฝ์ด๋ค.๊ทธ๋ํํญ์ ์ธํฐ๋ ์ ๊ธฐ๋ฅ์ ์ํด ๋ง๋ จ๋ ์ฝ๋ฉ ์์ญ์ ํธ์ง์ฐฝ์ด๋ค. ์์ ฏ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข๋ค. ๊ตฌํํ๊ณ ์ ํ๋ ์ฌ์ ์ต์๋จ์ผ๋ก ํ์ฌ ๊ฐ๊ฐ์ ๊ตฌ์ฑ ์์๋ค์ ๋ฐฐ์นํ๊ณ ๊ตฌ์ฑ ์์๊ฐ ํน์ ํ ๊ธฐ๋ฅ์ ๋ด์ ๊ฒฝ์ฐ์ ์์ ฏ์ผ๋ก ๋ฌถ์ด์ ๊ทธ๋ฃนํํ๋ค.์ต์์ ์์ ฏ์ ์บ๋ฒ์ค ํจ๋์ ํ์ฉํ์ฌ ์์ ฏ๋ค์ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ค.ํ์ ์์ ฏ์ ํน์ ๊ธฐ๋ฅ..
![[Unreal] ๋ฐ๋ผ๋ณด๋ Actor์๊ฒ ํจ๊ณผ ์ฃผ๊ธฐ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsub0a%2FbtsHnWA2KCk%2F4dHnKpvssOnVaAe5nw0lWk%2Fimg.gif)
[Unreal] ๋ฐ๋ผ๋ณด๋ Actor์๊ฒ ํจ๊ณผ ์ฃผ๊ธฐ
๋ฐ๋ผ๋ณด๋ Actor์๊ฒ ํจ๊ณผ ์ฃผ๊ธฐ 1. Overlay MaterialOverlay Material์ ๊ธฐ์กด ์กํฐ์ ์ค์ ๋ Material์ ์ถ๊ฐ๋ก ๋ธ๋ ๋ ํ๊ธฐ ์ํ Material์ด๋ค. ์ธ๊ณฝ์ , ๋น ๋ฑ ์ฌ๋ฌ ์ฌ๋ฌ ํจ๊ณผ๋ฅผ ๋ฃ์ ์ ์๋ค. ์บ๋ฆญํฐ๊ฐ ์ด ์กํฐ๋ฅผ ๋ฐ๋ผ๋ณผ ๋ ํด๋น ๋จธํฐ๋ฆฌ์ผ์ M_Outline ๋จธํฐ๋ฆฌ์ผ์ Set ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ ๊ฒ์ด๋ค. M_Outline ๋จธํฐ๋ฆฌ์ผ์ ์์์ ์๋๋ก ๋น์ ๋ด๋ฉฐ Highlight ๋๋ ๋จธํฐ๋ฆฌ์ผ์ด๋ค. ๊ตฌํ์ ๋ค์๊ณผ ๊ฐ๋ค. Blend Mode: AdditiveShading Model: Unlit 2. Sphere Trace By Channel์บ๋ฆญํฐ๊ฐ ์กํฐ๋ฅผ ๋ฐ๋ผ๋ณด๋์ง ํ์ธํ๊ธฐ ์ํด Trace๋ฅผ ํ์ฉํ ๊ฒ์ด๋ค. ๋จผ์ ํน์ ์กํฐ๋ง ํ์งํ๊ธฐ ์ํด Trace ์ฑ๋์ ํ๋..
![[Unreal] ์นด๋ฉ๋ผ ๊ฐ์](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbATgAR%2FbtsG4fWwAn6%2FUhAkBSOX9EcKAGCEQpdYu0%2Fimg.png)
[Unreal] ์นด๋ฉ๋ผ ๊ฐ์
1. ์นด๋ฉ๋ผ๊ฐ ์บ๋ฆญํฐ ๋ชธ์ ๋ซ๋ ํ์์บ๋ฆญํฐ๊ฐ ์ค๋ธ์ ํธ์ ๊ฐ๊น์ด ๊ฐ๊ฒ ๋๋ฉด, ์นด๋ฉ๋ผ์ ์ค๋ธ์ ํธ๊ฐ ๊ฐ๊น์์ ธ ์บ๋ฆญํฐ ๋ชธ์ ๋ซ๋ ํ์์ด๋ค. Collision Presets ๋ด Camera ์ค์ ์ Block์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋๋ค.Default๋ก Block ์ค์ ๋์ด ์์ง๋ง ํน์๋ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์์ ํ์ ๊ฒฝ์ฐ ๋ณ๊ฒฝ์ด ํ์ํ๋ค. ์ด๋ ๊ฒ ๋ณ๊ฒฝํ๋๋ผ๋ ๋งค์ฐ ๊ฐ๊น๊ฒ ์นด๋ฉ๋ผ๊ฐ ์ด๋ํ๋ฉด ์ฌ์ ํ ๋ชธ์ ๋ซ๊ณ ์๋ค.์ด๋ด ๋ ํ๋ก์ ํธ ์ธํ ์์ Near Clip Plane ๊ฐ์ ๋ณ๊ฒฝํ ํ ํ๋ก์ ํธ๋ฅผ ๋ค์ ์์ํ๋ฉด ๋๋ค. ์ด๋ ๊ฒ ๊ฐ๊น๊ฒ ์นด๋ฉ๋ผ๊ฐ ๋ถ์ด๋ ๋ชธ์ ๋ซ์ง ์๋๋ค. 2. ์นด๋ฉ๋ผ ์ถฉ๋์ด ์ด์ํ ํ์์นด๋ฉ๋ผ์ ์ค๋ธ์ ํธ๊ฐ ๊ฐ๊น์์ง๋ฉด ์๊ฐ์ ์ผ๋ก ์นด๋ฉ๋ผ๊ฐ ์ด๋๋๋๋ฐ, ์์ง์์ด ๋ฑ๋ฑํด์ ์ด์ํด ๋ณด์ธ๋ค. ๊ทธ๋์ ์นด๋ฉ๋ผ Collision์ ์ง..