[Unreal] κ²Œμž„ λͺ¨λ“œ, κ²Œμž„ μŠ€ν…Œμ΄νŠΈ
Β·
πŸ“ Game/✏ Unreal
1. μΈν„°λž™ν‹°λΈŒ κ²½ν—˜ μ œμž‘ν”Œλ ˆμ΄μ–΄μ™€ μ›”λ“œ 간에 μ›ν™œν•œ μΈν„°λž™μ…˜μ„ κ΅¬ν˜„ν•  수 μžˆλ„λ‘ 언리얼 μ—”μ§„μ—μ„œλŠ” κΈ°λ³Έ κ²Œμž„ν”Œλ ˆμ΄ ν”„λ ˆμž„μ›Œν¬ 외에도 AI, ν”Όμ§μŠ€ λ“± 일반적인 κ²Œμž„ν”Œλ ˆμ΄ μ—˜λ¦¬λ¨ΌνŠΈλ₯Ό λ‹€λ£¨λŠ” λ‹€μ–‘ν•œ μ‹œμŠ€ν…œκ³Ό ν”„λ ˆμž„μ›Œν¬λ₯Ό μ œκ³΅ν•œλ‹€. 2. κ²Œμž„ν”Œλ ˆμ΄ ν”„λ ˆμž„μ›Œν¬κ²Œμž„ν”Œλ ˆμ΄ ν”„λ ˆμž„μ›Œν¬λŠ” 곡톡 κ²Œμž„ν”Œλ ˆμ΄ μš”μ†Œλ₯Ό μ²˜λ¦¬ν•˜λŠ” 핡심 μ‹œμŠ€ν…œ 및 ν”„λ ˆμž„μ›Œν¬κ°€ ν¬ν•¨λ˜μ–΄ μžˆλ‹€.μ•‘ν„°, μ»΄ν¬λ„ŒνŠΈμΉ΄λ©”λΌμ»¨νŠΈλ‘€λŸ¬κ²Œμž„ κ·œμΉ™κ²Œμž„ λͺ¨λ“œν”Œλ ˆμ΄μ–΄ μž…λ ₯κ²Œμž„ν”Œλ ˆμ΄ νƒ€μ΄λ¨Έμœ μ € μΈν„°νŽ˜μ΄μŠ€ λ˜ν•œ μ–Έλ¦¬μ–Όμ—μ„œλŠ” μœ„μ˜ μš”μ†Œλ“€μ„ μ—°κ²°ν•˜μ—¬ λ‹€μŒκ³Ό 같은 κΈ°λŠ₯을 μ œκ³΅ν•˜κΈ°λ„ ν•œλ‹€.μž…λ ₯ 처리물리 μ‹œλ¬Όλ ˆμ΄μ…˜μΈκ³΅ 지λŠ₯데이터 λ ˆμ§€μŠ€νŠΈλ¦¬κ²Œμž„ν”Œλ ˆμ΄ νƒœκ·Έ μ‹œμŠ€ν…œκ²Œμž„ν”Œλ ˆμ΄ μ–΄λΉŒλ¦¬ν‹° μ‹œμŠ€ν…œUI μ œμž‘ μ‹œμŠ€ν…œλ©€ν‹°ν”Œλ ˆμ΄ 지원 3. κ²Œμž„ λͺ¨λ“œκ²Œμž„ λͺ¨λ“œλŠ” κ²Œμž„μ˜ κ·œμΉ™μ„ κ²°μ •ν•˜κ³  정보λ₯Ό μ²˜λ¦¬ν•˜λŠ” ..
[Math] μ •κ·œν™”
Β·
πŸ“ Game/✏
μ •κ·œν™” 사전적 의미의 μ •κ·œν™”λŠ” μ–΄λ–€ λŒ€μƒμ„ μΌμ •ν•œ κ·œμΉ™μ΄λ‚˜ 기쀀에 λ”°λ₯΄λŠ” μ •κ·œμ μΈ μƒνƒœλ‘œ λ°”κΎΈκ±°λ‚˜, 비정상적인 λŒ€μƒμ„ μ •μƒμ μœΌλ‘œ λ˜λŒλ¦¬λŠ” 과정을 λœ»ν•œλ‹€. κ°€μž₯ λŒ€ν‘œμ μΈ μ •κ·œν™”λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •κ·œν™”κ°€ μžˆλ‹€. κ·Έλ ‡λ‹€λ©΄ κ²Œμž„ μˆ˜ν•™μ—μ„œμ˜ μ •κ·œν™”λŠ” ν•΄λ‹Ή λ²‘ν„°μ˜ λ°©ν–₯은 μœ μ§€ν•œ 채 크기가 1인 λ‹¨μœ„ λ²‘ν„°λ‘œ λ§Œλ“œλŠ” 과정이닀. λ‹¨μœ„ 벑터λ₯Ό ν™œμš©ν•˜λŠ” μ΄μœ λŠ” 두 개 μ΄μƒμ˜ 벑터λ₯Ό μ—°μ‚°ν•  λ•Œ μ’€ 더 λ‹¨μˆœν•˜κ²Œ λ‹€λ£° 수 있기 λ•Œλ¬Έμ΄λ‹€. 예λ₯Ό λ“€μ–΄ κ²Œμž„μ—μ„œλŠ” μΊλ¦­ν„°μ˜ 이동과 λ°©ν–₯에 μ‚¬μš©ν•˜κ±°λ‚˜ μ’Œν‘œλ₯Ό μ •κ·œν™”ν•˜μ—¬ λ³€ν™˜ν•  λ•Œ μ‚¬μš©ν•  수 μžˆλ‹€. 벑터 vλŠ” 크기 ||v||와 λ°©ν–₯을 λ‚˜νƒ€λ‚΄λŠ” λ‹¨μœ„ 벑터 u의 곱으둜 ν‘œν˜„ν•  수 μžˆλ‹€. κ·Έλ ‡λ‹€λ©΄ μ •κ·œν™”λ₯Ό ν•˜κΈ° μœ„ν•΄ λ‹¨μœ„ λ²‘ν„°λ‘œ λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” 벑터λ₯Ό κ·Έ 크기만큼 λ‚˜λˆ„λ©΄ λœλ‹€. 이λ₯Ό μ‹€μ œ 3차원..
[C++] 이뢄 κ·Έλž˜ν”„
Β·
πŸ“ Computer Science/✏ Algorithm
이뢄 κ·Έλž˜ν”„ 1. κ°œλ… 이뢄 κ·Έλž˜ν”„λž€ μΈμ ‘ν•œ 정점끼리 μ„œλ‘œ λ‹€λ₯Έ μƒ‰μœΌλ‘œ μΉ ν•˜μ—¬ λͺ¨λ“  정점을 두 그룹으둜 λ‚˜λˆ„κ³ , μ„œλ‘œ λ‹€λ₯Έ 그룹의 정점을 κ°„μ„ μœΌλ‘œ μ—°κ²°ν•œ κ·Έλž˜ν”„λ₯Ό λ§ν•œλ‹€. 2. 이뢄 맀칭 μ•Œκ³ λ¦¬μ¦˜ 이뢄 λ§€μΉ­μ΄λž€ 이뢄 κ·Έλž˜ν”„μ—μ„œ ν•œμͺ½ κ·Έλ£Ή(A)κ³Ό λ‹€λ₯Έ ν•œμͺ½ κ·Έλ£Ή(1)이 맀칭을 ν–ˆμ„ λ•Œ μ΅œλŒ€ μœ λŸ‰μ„ κ΅¬ν•˜λŠ” 문제λ₯Ό λ§ν•œλ‹€. 3. 문제 https://www.acmicpc.net/problem/1707 1707번: 이뢄 κ·Έλž˜ν”„ μž…λ ₯은 μ—¬λŸ¬ 개의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”λ°, 첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Kκ°€ 주어진닀. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 첫째 μ€„μ—λŠ” κ·Έλž˜ν”„μ˜ μ •μ μ˜ 개수 V와 κ°„μ„ μ˜ 개수 Eκ°€ 빈 칸을 사이에 www.acmicpc.net #include #include #include #include us..
[C++] RTTI(Run Time Type Information)
Β·
πŸ“ Language/✏ C & C++
RTTI(Run Time Type Information) C++μ—μ„œλŠ” λŸ°νƒ€μž„μ— 기초 클래슀의 객체 포인터가 μ–΄λ–€ 객체λ₯Ό 가리킀고 μžˆλŠ”μ§€ 정보λ₯Ό μ•Œλ €μ£ΌλŠ” RTTI κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. 객체 지ν–₯에선 클래슀 κ°„ 상속을 κ΅¬ν˜„ν•  수 있고, λ‹€ν˜•μ„±μ„ κ°€μ§€κ²Œ λ˜μ–΄ 기초 ν΄λž˜μŠ€λŠ” μžμ‹ μ˜ 멀버λ₯Ό μœ„μž„ν•œ νŒŒμƒ 클래슀λ₯Ό μžμ‹ μ˜ 객체 ν¬μΈν„°λ‘œ 가리킬 수 μžˆλ‹€. Base *pBase = new Derived(); 컴파일 λ‹Ήμ‹œμ—λŠ” pBaseκ°€ μ–΄λ–€ 객체λ₯Ό 가리킀고 μžˆλŠ”μ§€ μ•Œ 수 μ—†λ‹€. κ·Έμ € 기초 ν΄λž˜μŠ€μ™€ νŒŒμƒ 클래슀 쀑 μ–΄λ–€ 객체λ₯Ό 가리킀고 μžˆλŠ”μ§€ μ§μž‘λ§Œ ν•  수 μžˆλ‹€. μ΄λŸ¬ν•œ 정보λ₯Ό μ•Œλ €μ£ΌλŠ” 것이 RTTI이고 ν˜„μž¬ 객체 포인터가 가리킀고 μžˆλŠ” 객체 νƒ€μž… 정보λ₯Ό type_infoλΌλŠ” μ΄λ¦„μœΌλ‘œ vftable에 μ €μž₯ν•œλ‹€. 1. dyna..
[Unreal][C++] 타이머
Β·
πŸ“ Game/✏ Unreal
1. νƒ€μ΄λ¨Ένƒ€μ΄λ¨ΈλŠ” μ‚¬μš©μžκ°€ μ •μ˜ν•œ μ‹œκ°„λ§ˆλ‹€ μ‚¬μš©μžκ°€ μ§€μ •ν•œ λ™μž‘μ΄ μ‹€ν–‰λ˜λ„λ‘ ν•œλ‹€. μ΄λŸ¬ν•œ κΈ°λŠ₯은 Tick ν•¨μˆ˜μ—μ„œ DeltaTime 값을 톡해 κ΅¬ν˜„ν•  μˆ˜λ„ μžˆλ‹€. κ·ΈλŸ¬λ‚˜ μ§€μ •ν•œ λ™μž‘μ΄ μ§€μ†μ μœΌλ‘œ μ‹€ν–‰λ˜μ§€ μ•Šκ³ , νŠΉμ •ν•œ μ‹œκ°„μ—λ§Œ λͺ‡ 번 μ‹€ν–‰λ˜κ±°λ‚˜, 텀이 1초λ₯Ό λ„˜λŠ” 경우라면 Tick ν•¨μˆ˜λ³΄λ‹€ 타이머λ₯Ό μ΄μš©ν•˜λŠ” 것이 μ’‹λ‹€.κΈ€λ‘œλ²Œ TimerManagerμ—μ„œ κ΄€λ¦¬ν•˜λ©° κ²Œμž„ μΈμŠ€ν„΄μŠ€ μ˜€λΈŒμ νŠΈμ™€ 각 μ›”λ“œμ— μ‘΄μž¬ν•œλ‹€.TimerManagerλ₯Ό 톡해 타이머λ₯Ό 가져와 μ‚¬μš©ν•˜κ±°λ‚˜ μ’…λ£Œμ‹œν‚¬ 수 μžˆλ‹€. 2. μ‚¬μš©1) μ‚¬μš©SetTimer ν•¨μˆ˜λ₯Ό 톡해 λ”œλ ˆμ΄ ν›„ ν•¨μˆ˜λ‚˜ 델리게이트λ₯Ό ν˜ΈμΆœν•˜λŠ” 타이머λ₯Ό μ„€μ •ν•˜κ±°λ‚˜ κ·Έ ν•¨μˆ˜ ν˜ΈμΆœμ„ λ¬΄ν•œ λ°˜λ³΅ν•˜λ„λ‘ μ„€μ •ν•  수 μžˆλ‹€.GetWorldTimerManager().SetTimer( FTimer..
머터리얼(Material)
Β·
πŸ“ Game/✏ Computer Graphics
1. Material λ¨Έν„°λ¦¬μ–Όμ΄λž€ μ˜€λΈŒμ νŠΈμ™€ 맡에 μ›ν•˜λŠ” λͺ¨μ–‘μƒˆλ₯Ό λ‚΄λŠ” 데 μžˆμ–΄ κ°€μž₯ 핡심적인 λΆ€λΆ„ 쀑 ν•˜λ‚˜λ‘œ μ‚¬μš©λ˜λŠ” ν…μŠ€μ³μ— λŒ€ν•œ ν‘œλ©΄ λ Œλ”λ§ λ°©λ²•μ˜ μ •μ˜μ΄λ‹€. 2. Material Parameter κΈ°λ³Έ ν…μŠ€μ³ 이미지(Albedo, Base Color)만 μ‚¬μš©ν•œλ‹€λ©΄ λ‹¨μˆœν•œ μ΄λ―Έμ§€λ§Œμ„ λ…ΈμΆœν•˜μ§€λ§Œ, νŒŒλΌλ―Έν„°λ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ 거의 λͺ¨λ“  ν˜„μ‹€ 세계 ν‘œλ©΄μ˜ 외양을 ν‘œν˜„ν•  수 μžˆλ‹€. 1) Metallic ν‘œλ©΄μ˜ λ°˜μ‚¬λ„ 및 광원 λ°˜μ‘μœΌλ‘œ νŒŒλΌλ―Έν„°μ— 따라 ν‘œλ©΄μ΄ μ–Όλ§ˆλ‚˜ κΈˆμ† 같은지λ₯Ό κ²°μ •ν•œλ‹€. 2) Normal 광원을 λ°›λŠ” λ²”ν”„, ν™ˆ 및 슀크래치 λ“±μ˜ ν‘œλ©΄ λ””ν…ŒμΌμ„ λͺ¨λΈμ— μΆ”κ°€ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ μ‹€μ œ λͺ¨λΈλ§μœΌλ‘œ ν™ˆκ³Ό λ‚˜μ‚¬λ₯Ό ν‘œν˜„ν•˜λŠ” 것이 μ•„λ‹Œ λ…Έλ©€ 맡으둜 ν‘œν˜„ν•  수 μžˆλ‹€. λ§Œμ•½ μ‹€μ œ μ§€μ˜€λ©”νŠΈλ¦¬λ‘œ λͺ¨..