๐ Tech
[C++] RTTI(Run Time Type Information)
RTTI(Run Time Type Information) C++์์๋ ๋ฐํ์์ ๊ธฐ์ด ํด๋์ค์ ๊ฐ์ฒด ํฌ์ธํฐ๊ฐ ์ด๋ค ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ์ ๋ณด๋ฅผ ์๋ ค์ฃผ๋ RTTI ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ๊ฐ์ฒด ์งํฅ์์ ํด๋์ค ๊ฐ ์์์ ๊ตฌํํ ์ ์๊ณ , ๋คํ์ฑ์ ๊ฐ์ง๊ฒ ๋์ด ๊ธฐ์ด ํด๋์ค๋ ์์ ์ ๋ฉค๋ฒ๋ฅผ ์์ํ ํ์ ํด๋์ค๋ฅผ ์์ ์ ๊ฐ์ฒด ํฌ์ธํฐ๋ก ๊ฐ๋ฆฌํฌ ์ ์๋ค. Base *pBase = new Derived(); ์ปดํ์ผ ๋น์์๋ pBase๊ฐ ์ด๋ค ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ์ ์ ์๋ค. ๊ทธ์ ๊ธฐ์ด ํด๋์ค์ ํ์ ํด๋์ค ์ค ์ด๋ค ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ์ง์๋ง ํ ์ ์๋ค. ์ด๋ฌํ ์ ๋ณด๋ฅผ ์๋ ค์ฃผ๋ ๊ฒ์ด RTTI์ด๊ณ ํ์ฌ ๊ฐ์ฒด ํฌ์ธํฐ๊ฐ ๊ฐ๋ฆฌํค๊ณ ์๋ ๊ฐ์ฒด ํ์ ์ ๋ณด๋ฅผ type_info๋ผ๋ ์ด๋ฆ์ผ๋ก vftable์ ์ ์ฅํ๋ค. 1. dyna..
![[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..
![๋จธํฐ๋ฆฌ์ผ(Material)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmLofX%2Fbtsp6rzoFD7%2FJlT1kCmSVy5XgeeKSnBAs1%2Fimg.png)
๋จธํฐ๋ฆฌ์ผ(Material)
1. Material ๋จธํฐ๋ฆฌ์ผ์ด๋ ์ค๋ธ์ ํธ์ ๋งต์ ์ํ๋ ๋ชจ์์๋ฅผ ๋ด๋ ๋ฐ ์์ด ๊ฐ์ฅ ํต์ฌ์ ์ธ ๋ถ๋ถ ์ค ํ๋๋ก ์ฌ์ฉ๋๋ ํ ์ค์ณ์ ๋ํ ํ๋ฉด ๋ ๋๋ง ๋ฐฉ๋ฒ์ ์ ์์ด๋ค. 2. Material Parameter ๊ธฐ๋ณธ ํ ์ค์ณ ์ด๋ฏธ์ง(Albedo, Base Color)๋ง ์ฌ์ฉํ๋ค๋ฉด ๋จ์ํ ์ด๋ฏธ์ง๋ง์ ๋ ธ์ถํ์ง๋ง, ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๊ฑฐ์ ๋ชจ๋ ํ์ค ์ธ๊ณ ํ๋ฉด์ ์ธ์์ ํํํ ์ ์๋ค. 1) Metallic ํ๋ฉด์ ๋ฐ์ฌ๋ ๋ฐ ๊ด์ ๋ฐ์์ผ๋ก ํ๋ผ๋ฏธํฐ์ ๋ฐ๋ผ ํ๋ฉด์ด ์ผ๋ง๋ ๊ธ์ ๊ฐ์์ง๋ฅผ ๊ฒฐ์ ํ๋ค. 2) Normal ๊ด์์ ๋ฐ๋ ๋ฒํ, ํ ๋ฐ ์คํฌ๋์น ๋ฑ์ ํ๋ฉด ๋ํ ์ผ์ ๋ชจ๋ธ์ ์ถ๊ฐํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ์ค์ ๋ชจ๋ธ๋ง์ผ๋ก ํ๊ณผ ๋์ฌ๋ฅผ ํํํ๋ ๊ฒ์ด ์๋ ๋ ธ๋ฉ ๋งต์ผ๋ก ํํํ ์ ์๋ค. ๋ง์ฝ ์ค์ ์ง์ค๋ฉํธ๋ฆฌ๋ก ๋ชจ..
![[Git] Git README, .gitignore ํ์ผ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcvo06t%2Fbtsph9Nrc5o%2FxBdjzfz3KkgTLUNSOzMdjK%2Fimg.png)
[Git] Git README, .gitignore ํ์ผ
Git Repositories๋ฅผ ๋ง๋ค ๋, README ํ์ผ๊ณผ .gitignore ํ์ผ์ ์์ฑํ ์ ์๋ค. README ํ์ผ README ํ์ผ์ ํ๋ก์ ํธ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ค๋ช ํ๋ ์ฑ ์ ํ์ง์ ๊ฐ์ ๋ฌธ์์ด๋ค. ํ๋ก์ ํธ ์๊ฐ, ์ฌ์ฉํ ๊ธฐ์ , ํ์ฉ ๋ฐฉ๋ฒ ๋ฑ์ ๊ธฐ๋กํ๋ค. ํ์ผ์ ํ์ฅ์๋ md๋ก ๋งํฌ๋ค์ด(Markdown)์ ์ฝ์์ด๋ค. https://coding-factory.tistory.com/620 [Git] GitHub README ์์ฑ๋ฒ (๋งํฌ๋ค์ด, ์ด๋ฏธ์ง, Gif, ์ฝ๋ ๋ธ๋ก ์ฌ์ฉ๋ฒ) ๋ฆฌ๋๋ฏธ(README)๋? README๋ ์ฝ๊ฒ ๋งํด์ ํ๋ก์ ํธ ์๊ฐ๊ธ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋๋ ํ ๋ฆฌ๋ ์์ถ ํ์ผ์ ํฌํจ๋ ๊ธฐํ ํ์ผ์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์์ผ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์ํํธ์จ์ด์ coding-factory..
![[C++] ํธ์ง ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ(Edit Distance Algorithm)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4NRt0%2Fbtsovtq5CNi%2F1ObUAVRPxGzY2rQ41MR0Gk%2Fimg.jpg)
[C++] ํธ์ง ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ(Edit Distance Algorithm)
ํธ์ง ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ 1. ๊ฐ๋ ํธ์ง ๊ฑฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ(Edit Distance Algorithm)์ ๋ ๊ฐ์ ๋ฌธ์์ด A, B๊ฐ ์ฃผ์ด์ก์ ๋, ๋ ๋ฌธ์์ด์ด ์ผ๋ง๋ ์ ์ฌํ ์ง๋ฅผ ์์๋ผ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฆ, ๋ฌธ์์ด A๊ฐ ๋ฌธ์์ด B์ ๊ฐ์์ง๊ธฐ ์ํด์๋ ๋ช ๋ฒ์ ์ฐ์ฐ์ ์งํํด์ผ ํ๋์ง ์ ์ ์๋ค. ์ฌ๊ธฐ์์ ์ฐ์ฐ์ด๋ ์ฝ์ (Insertion), ์ฝ์ (Deletion), ๋์ฒด(Replacement)๋ฅผ ๋งํ๋ค. ๋ฌธ์์ด ๊ฐ์ ์ ์ฌ๋ ์ธก์ ์ฒ๋ผ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ ๋ฐ์ดํฐ ์ฌ์ด์ ์ ์ฌ๋๋ฅผ ์์๋ด๊ธฐ ์ํด ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ํนํ ํ๋ก๊ทธ๋จ์ ํ์ ์ฌ๋ถ, ์ฒ ์ ์ค๋ฅ ๊ฒ์ฌ ๋ฑ์ ์ฌ์ฉํ ์ ์๋ค. 2. ๊ธฐ๋ณธ ์๋ฆฌ 3. ๋ฌธ์ https://leetcode.com/problems/edit-distance/description/ Edit D..