[Unreal] μ΅œμ ν™”
Β·
πŸ“ Game/✏ Unreal
1. μ΅œμ ν™”λ†’μ€ λ Œλ”λ§ λΆ€ν•˜μ™€ CPU 병λͺ© ν˜„μƒμ€ κ²Œμž„μ˜ ν”„λ ˆμž„ 속도λ₯Ό λ–¨μ–΄λœ¨λ¦¬κ³  κ²Œμž„ ν”Œλ ˆμ΄μ— 영ν–₯을 쀄 수 μžˆλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ΅œμ ν™”λŠ” ν•„μˆ˜μ΄λ‹€. 특히 μ΅œμ ν™”λŠ” ν•œ λ²ˆμ— λλ‚˜λŠ” μž‘μ—…μ΄ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— μž‘μ—…, ν…ŒμŠ€νŠΈ, κ°œμ„ μ˜ 반볡이 μ€‘μš”ν•˜λ‹€. 2. λ Œλ”λ§ μ΅œμ ν™” λ Œλ”링(rendering)은 컴퓨터 ν”„λ‘œκ·Έλž¨μ„ μ΄μš©ν•΄ 2D λ˜λŠ” 3D λͺ¨λΈμ—μ„œ 이미지λ₯Ό μƒμ„±ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€μ΄λ‹€.CullingLODNaniteShader Complexity Viewλ₯Ό 톡해 λ¨Έν„°λ¦¬μ–Ό λ³΅μž‘λ„ ν™•μΈν•„μš”ν•˜μ§€ μ•Šμ€ 그림자 제거 및 μ‹€μ‹œκ°„ 그림자 μ΅œμ†Œν™” 1) Cullingλ Œλ”λ§ μ΅œμ ν™” 기법 쀑 κ°€μž₯ λŒ€ν‘œλ˜λŠ” Culling에 λŒ€ν•΄ μ•Œμ•„λ³΄μž. Culling은 κ΅³μ΄ λ Œλ”λ§ ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€κ³  νŒλ‹¨λœ μ˜€λΈŒμ νŠΈλ“€μ„ μ œμ™Έν•˜λŠ” 것을 λ§ν•œλ‹€. μ–Έλ¦¬μ–Ό..
[C++] Palindrome
Β·
πŸ“ Computer Science/✏ Algorithm
Palindrome1. κ°œλ…Palindrome은 거꾸둜 읽어도 μ œλŒ€λ‘œ μ½λŠ” 것과 같은 λ¬Έμž₯을 λ§ν•œλ‹€.  2. 문제https://leetcode.com/problems/palindrome-partitioning/description/#include #include using namespace std;class Solution {public: vector> answer; vector sub; vector> partition(string s) { dfs(s, 0); return answer; } void dfs(string s, int index) { if (index == s.length()) { answer.push_bac..
[Unreal] νŒ¨ν‚€μ§•
Β·
πŸ“ Game/✏ Unreal
1. νŒ¨ν‚€μ§•?νŒ¨ν‚€μ§•μ€ μ‚¬μš©μžμ—κ²Œ λ°°ν¬ν•˜κΈ° μœ„ν•΄ 컨텐츠와 μ†ŒμŠ€λ“€μ„ λΉŒλ“œ, μΏ ν‚Ή, νŒ¨ν‚Ήμ„ ν•˜λŠ” 일련의 과정이닀. 1) λΉŒλ“œλΉŒλ“œλŠ” μ„ νƒν•œ ν”Œλž«νΌμ—μ„œ μ‹€ν–‰ κ°€λŠ₯ν•œ μ‹€ν–‰ νŒŒμΌμ„ λ§Œλ“€κΈ° μœ„ν•œ 컴파일 과정이닀. μ „μ²˜λ¦¬ UBT → UHT (.h) → 컴파일 (.cpp) → μ–΄μ…ˆλΈ”λ¦¬ (.obj) → Module → μ™„λ£Œμš°μ„  UBT와 UHT의 μ „μ²˜λ¦¬ 단계λ₯Ό κ±°μΉœλ‹€. 일반적으둜 UBTκ°€ λ¨Όμ € 호좜되며 ν•„μš”μ— 따라 UHTκ°€ ν˜ΈμΆœλœλ‹€.κ·Έ ν›„ μ»΄νŒŒμΌλŸ¬κ°€ μ»΄νŒŒμΌμ„ μˆ˜ν–‰ν•œλ‹€.  UBT(Unreal Build Tool)λŠ” ν”„λ‘œμ νŠΈμ˜ λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€λ₯Ό κ΄€λ¦¬ν•œλ‹€.μ–΄λ–€ μ†ŒμŠ€ μ½”λ“œ νŒŒμΌλ“€μ΄ λ³€κ²½λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κ³ , 그에 따라 μ–΄λ–€ 뢀뢄을 μƒˆλ‘­κ²Œ μ»΄νŒŒμΌν•  것인지 κ²°μ •ν•œλ‹€.ν”„λ‘œμ νŠΈμ˜ 폴더 ꡬ쑰와 μ†ŒμŠ€ νŒŒμΌμ„ 기반으둜 OS에 λ§žλŠ” μ†”λ£¨μ…˜μ„ μƒμ„±ν•˜μ—¬ ..
[Unreal] 캐릭터 μ• λ‹ˆλ©”μ΄μ…˜ κ°œμ„ 
Β·
πŸ“ Game/✏ Unreal
1. λΈ”λ Œλ“œ 슀페이슀(Blend Space)κ±·κΈ°, λ›°κΈ° λ“± κΈ°μ‘΄ μ• λ‹ˆλ©”μ΄μ…˜μ˜ κ΅¬ν˜„ 방식은 FSM ꡬ쑰둜 νŠΉμ • 쑰건에 λ§žλŠ” μ• λ‹ˆλ©”μ΄μ…˜μ΄ μ¦‰μ‹œ μ‹€ν–‰λ˜λ„λ‘ κ΅¬ν˜„λ˜μ–΄ μžˆμ—ˆλ‹€. κ·Έλž˜μ„œ 이 방식은 μ• λ‹ˆλ©”μ΄μ…˜ μ „ν™˜μ΄ 일어날 λ•Œ λ”±λ”± λŠκΈ°λŠ” λŠλ‚Œμ΄ λ“€μ—ˆλ‹€.  μ• λ‹ˆλ©”μ΄μ…˜μ΄ μ „ν™˜ν•  λ•Œ λΆ€λ“œλŸ½κ²Œ λ°”λ€Œλ„λ‘ λΈ”λ Œλ“œ 슀페이슀λ₯Ό μ‚¬μš©ν•  것이닀. λΈ”λ Œλ“œ μŠ€νŽ˜μ΄μŠ€λŠ” 두 μž…λ ₯값에 따라 μ• λ‹ˆλ©”μ΄μ…˜μ„ λΈ”λ Œλ”© μ‹œμΌœ μ€€λ‹€.  λΈ”λ Œλ“œ 슀페이슀λ₯Ό μƒμ„±ν•œ ν›„, λ¨Όμ € μΆ• μ„ΈνŒ…μ΄ ν•„μš”ν•˜λ‹€. Vertical AxisName: SpeedMinimum Axis Value: 0Maximum Axis Value: 700Smoothing Time: 0.1. 값이 클수둝 λΆ€λ“œλŸ½κ²Œ μ „ν™˜λœλ‹€. ν˜„μž¬ μΊλ¦­ν„°μ˜ κ±·κΈ° μ†λ„λŠ” 500, λ›°κΈ° μ†λ„λŠ” 700으둜 μ„€μ •λ˜μ–΄ μžˆμ–΄ ..
[Unreal] ν”„λ‘œνΌν‹°(λ¦¬ν”Œλ ‰μ…˜), 맀크둜, 가비지 μ»¬λ ‰μ…˜
Β·
πŸ“ Game/✏ Unreal
1. λ¦¬ν”Œλ ‰μ…˜λ¦¬ν”Œλ ‰μ…˜(Reflection)은 ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰ μ‹œκ°„μ— 자기 μžμ‹ μ„ μ‘°μ‚¬ν•˜λŠ” κΈ°λŠ₯이닀. μ—¬κΈ°μ„œ 자기 μžμ‹ μ΄λž€ 클래슀, ꡬ쑰체, ν•¨μˆ˜, 멀버 λ³€μˆ˜, μ—΄κ±°ν˜• 등을 μ˜λ―Έν•œλ‹€. 즉, λŸ°νƒ€μž„μ— 객체의 νƒ€μž…μ„ λ³΄λŠ” 것을 포함해 ꡬ쑰와 ν–‰λ™κΉŒμ§€ μˆ˜μ •ν•˜λŠ” 것이 λ¦¬ν”Œλ ‰μ…˜μ΄λ‹€. 2. ν”„λ‘œνΌν‹°μžλ°”λ‚˜ C#μ—μ„œλŠ” λ¦¬ν”Œλ ‰μ…˜μ„ μ§€μ›ν•˜μ§€λ§Œ, 언리얼 C++μ—μ„œλŠ” μ§€μ›ν•˜μ§€ μ•Šκ³  μžˆλ‹€. κ·Έλž˜μ„œ 언리얼 자체 μ‹œμŠ€ν…œμœΌλ‘œ λ¦¬ν”Œλ ‰μ…˜μ„ μ œκ³΅ν•˜κ³  있으며 κ·Έ μ‹œμŠ€ν…œμ„ μ–Έλ¦¬μ–Όμ˜ λ¦¬ν”Œλ ‰μ…˜μΈ ν”„λ‘œνΌν‹°λΌ λΆ€λ₯Έλ‹€. μ–Έλ¦¬μ–Ό λ‚΄μ˜ μ—¬λŸ¬ 가지 μ‹œμŠ€ν…œλ“€μ΄ 이 λ¦¬ν”Œλ ‰μ…˜ 객체에 μ˜μ‘΄ν•œλ‹€.λ„€νŠΈμ›Œν¬ λ¦¬ν”Œλ¦¬μΌ€μ΄μ…˜λΈ”λ£¨ν”„λ¦°νŠΈμ™€ C++ μ—°λ™μ—λ””ν„°μ˜ λ””ν…ŒμΌ νŒ¨λ„μžλ™ μ‹œλ¦¬μ–ΌλΌμ΄μ œμ΄μ…˜κ°€λΉ„μ§€ μ»¬λ ‰μ…˜ 3. 맀크둜클래슀, λ³€μˆ˜, ν•¨μˆ˜ λ“± 상황에 맞게 맀크둜λ₯Ό 달아두면, UHT(..
[Unreal] κ²Œμž„ μΈμŠ€ν„΄μŠ€, μ„œλΈŒμ‹œμŠ€ν…œ
Β·
πŸ“ Game/✏ Unreal
1. κ²Œμž„ μΈμŠ€ν„΄μŠ€κ²Œμž„ μΈμŠ€ν„΄μŠ€λŠ” κ²Œμž„μ΄ μ‹œμž‘ν•  λ•Œ λ§Œλ“€μ–΄μ Έ κ²Œμž„μ΄ μ’…λ£Œλ  λ•ŒκΉŒμ§€ μ‘΄μž¬ν•œλ‹€.레벨이 λ³€κ²½λ˜μ–΄λ„ 계속 μœ μ§€λ˜μ–΄ 정보듀을 μ €μž₯ν•˜κ³  κ³΅μœ ν•˜λŠ” 데 μ‚¬μš©ν•œλ‹€.싱글톀과 거의 λΉ„μŠ·ν•œ κ°œλ…μ΄λ‹€. μƒμ„±λœ κ²Œμž„ μΈμŠ€ν„΄μŠ€λŠ” ν”„λ‘œμ νŠΈ μ„ΈνŒ…μ—μ„œ 섀정이 ν•„μš”ν•˜λ‹€. μ΄λ•Œ νŠΉμ • κ²Œμž„ μΈμŠ€ν„΄μŠ€λ₯Ό μ„ νƒν•˜λ©΄ κ²Œμž„ 쀑 λ³€κ²½ν•  수 μ—†μœΌλ©° μ„ νƒλœ ν•˜λ‚˜μ˜ κ²Œμž„ μΈμŠ€ν„΄μŠ€λ§Œ 쑴재 κ°€λŠ₯ν•˜λ‹€.  κ²Œμž„ 흐름 κ°œμš”μ— λ”°λ₯΄λ©΄ κ²Œμž„ μΈμŠ€ν„΄μŠ€λŠ” κ³΅μ‹μ μœΌλ‘œ κ²Œμž„ ν”Œλ ˆμ΄κ°€ μ‹œμž‘λ˜κΈ° μ „, λ¨Όμ € κ²Œμž„ μΈμŠ€ν„΄μŠ€λ₯Ό 생성(Create)ν•œ ν›„ μ΄ˆκΈ°ν™”(Init)λ₯Ό μ§„ν–‰ν•œλ‹€.   2. μ„œλΈŒμ‹œμŠ€ν…œμ„œλΈŒμ‹œμŠ€ν…œμ€ 수λͺ…이 κ΄€λ¦¬λ˜λŠ” μžλ™ μΈμŠ€ν„΄μ‹± ν΄λž˜μŠ€μ΄λ‹€. 즉, ν”„λ‘œκ·Έλž˜λ¨Έκ°€ 직접 μΈμŠ€ν„΄μŠ€λ₯Ό 생성 및 κ΄€λ¦¬ν•˜μ§€ μ•Šμ•„λ„ 엔진이 μ•Œμ•„μ„œ μΈμŠ€ν„΄μ‹±ν•˜κ³  생성 및 μ†Œλ©Έμ„ κ΄€λ¦¬ν•œλ‹€λŠ” 것이..