๐ Tech
![[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๋ฅผ ์ ์ํ ์ ์๋ค. ๋์์ด๋ํญ์ ์๊ฐ์ ๋ ์ด์์ ๊ตฌ์ฑ์ ์ํ ํธ์ง์ฐฝ์ด๋ค.๊ทธ๋ํํญ์ ์ธํฐ๋ ์ ๊ธฐ๋ฅ์ ์ํด ๋ง๋ จ๋ ์ฝ๋ฉ ์์ญ์ ํธ์ง์ฐฝ์ด๋ค. ์์ ฏ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข๋ค. ๊ตฌํํ๊ณ ์ ํ๋ ์ฌ์ ์ต์๋จ์ผ๋ก ํ์ฌ ๊ฐ๊ฐ์ ๊ตฌ์ฑ ์์๋ค์ ๋ฐฐ์นํ๊ณ ๊ตฌ์ฑ ์์๊ฐ ํน์ ํ ๊ธฐ๋ฅ์ ๋ด์ ๊ฒฝ์ฐ์ ์์ ฏ์ผ๋ก ๋ฌถ์ด์ ๊ทธ๋ฃนํํ๋ค.์ต์์ ์์ ฏ์ ์บ๋ฒ์ค ํจ๋์ ํ์ฉํ์ฌ ์์ ฏ๋ค์ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ค.ํ์ ์์ ฏ์ ํน์ ๊ธฐ๋ฅ..
[C#] Delegate, Event (Feat. ๋ฌด๋ช ํจ์, Func, Action)
1. Delegate(๋๋ฆฌ์)Delegate๋ ๋ฉ์๋๋ฅผ ์ฐธ์กฐํ๋ ํ์ ์ด๋ค. ๋๋ฆฌ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ์๋๋ฅผ ๋ณ์์ฒ๋ผ ์ ๋ฌํ๊ณ ํธ์ถํ ์ ์๋ค.์ด๋ฒคํธ์ ํจ๊ป ๋๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ ๋ฑ๋กํ๊ณ ํธ์ถํ ์ ์๋ค. ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ๋ฑ๋ก๋ ๋ชจ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ํธ์ถ๋์ด ์ฒ๋ฆฌ๋๋ค. BeginInvoke, EndInvoke ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฆฌ์๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค.๋ค๋ฅธ ๋ฉ์๋์ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ ๋ฌํ ์ ์๋ค. ๋ณดํต ๋น๋๊ธฐ ์์ ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ค.// delegate ๋ฐํํ delegate๋ช (๋งค๊ฐ๋ณ์, ๋งค๊ฐ๋ณ์, ๋งค๊ฐ๋ณ์, ....);delegate int DelegateName(int value1, string value2); ๋๋ฆฌ์๋ ๋ณดํต ์ฌ๋ฌ ๊ฐ์ ๋ฉ์๋๋ฅผ ๋์์ ํธ์ถํด์ผ ํ ๋ ..
![[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 ์ฑ๋์ ํ๋..