Notice
Recent Posts
Recent Comments
Link
관리 메뉴

λͺ©λ‘μ „체 κΈ€ (1104)

KoreanFoodie's Study

언리얼 였브젝트 (UObject) 의 이해

언리얼 였브젝트 언리얼 μ˜€λΈŒμ νŠΈλŠ” 언리얼 μ—”μ§„μ˜ 관리λ₯Ό λ°›λŠ” 객체이닀. 언리얼이 객체λ₯Ό κ΄€λ¦¬ν•˜κ²Œ λ˜λŠ” 이점은 μ—¬λŸ¬κ°€μ§€κ°€ μžˆλŠ”λ°, λ¨Όμ € 클래슀의 νƒ€μž…μ²΄ν‚Ήμ„ λΉ λ₯΄κ³  κ°„νŽΈν•˜κ²Œ ν•  수 μžˆλ‹€λŠ” 것, 그리고 κ°€λΉ„μ§€ μ»¬λ ‰μ…˜μ„ μžλ™μœΌλ‘œ ν•΄ μ£ΌλŠ” 것 등이 μžˆκ² λ‹€. 언리얼 μ˜€λΈŒμ νŠΈλŠ” U 둜 μ‹œμž‘ν•˜κ³ , 일반 C++ μ˜€λΈŒμ νŠΈλŠ” F 둜 μ‹œμž‘ν•˜λŠ” 것을 ꢌμž₯ν•˜κ³  μžˆλ‹€. 언리얼 였브젝트의 전체 νŠΉμ§•μ€ λ‹€μŒκ³Ό κ°™λ‹€ : CDO(Class Default Object) : 객체의 초기 값을 자체적으둜 관리 Reflection : 객체 정보λ₯Ό λŸ°νƒ€μž„μ—μ„œ μ‹€μ‹œκ°„ μ‘°νšŒκ°€ κ°€λŠ₯ GC(Garbage Collection) : μ°Έμ‘°λ˜μ§€ μ•ŠλŠ” 객체λ₯Ό λ©”λͺ¨λ¦¬μ—μ„œ μžλ™ ν•΄μ œν•  수 있음 Serialization : 객체와 속성 정보λ₯Ό ν†΅μœΌλ‘œ μ•ˆμ „ν•˜κ²Œ λ³΄κ΄€ν•˜κ³ ..

Game Dev/Unreal C++ : Study 2022. 3. 30. 14:20
언리얼 λΉŒλ“œ μ‹œμŠ€ν…œ μš”μ•½ (Unreal Build System)

언리얼 λΉŒλ“œ μ‹œμŠ€ν…œ κ·Έλ ‡λ‹€λ©΄ UClass νƒ€μž…μ˜ μ •λ³΄λŠ” 무엇이고 μ‹€μ œ 객체의 μ •λ³΄λŠ” λ¬΄μ—‡μΌκΉŒ? 이λ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œλŠ”, 언리얼 λΉŒλ“œ μ‹œμŠ€ν…œμ— λŒ€ν•΄ 곡뢀할 ν•„μš”κ°€ μžˆλ‹€. (λ””ν…ŒμΌν•œ λ‚΄μš©μ€ μ΄λ“μš°λ‹˜ λΈ”λ‘œκ·Έλ₯Ό 참쑰함) λ¨Όμ €, 언리얼은 크둜슀 ν”Œλž«νΌμœΌλ‘œ λ™μž‘ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—, ν”„λ‘œμ νŠΈμ˜ 폴더 ꡬ쑰와 μ†ŒμŠ€νŒŒμΌμ„ 기반으둜 언리얼 λΉŒλ“œ 툴이 OS 에 λ§žλŠ” μ†”λ£¨μ…˜μ„ μƒμ„±ν•˜κ²Œ λœλ‹€. λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€μ—μ„œ λΉŒλ“œμ‹œ, Editor 둜 λλ‚˜λŠ” 섀정을 ν΄λ¦­ν•˜λ©΄ μ—λ””ν„°μš© dll 을 μƒμ„±ν•˜λŠ” ꡬ성이며, Editor κ°€ λΆ™μ–΄ μžˆμ§€ μ•Šμ„ 경우 μ‹€ν–‰μš© exe νŒŒμΌμ„ μƒμ„±ν•œλ‹€. 즉, Development Editor 섀정을 λˆ„λ₯΄λ©΄ 디버깅할 수 μžˆλŠ” 개발 λ²„μ „μœΌλ‘œ, μ—λ””ν„°μš© dll 을 λ§Œλ“€λ„λ‘ μ»΄νŒŒμΌλœλ‹€. 컴파일된 dll νŒŒμΌλ“€μ€ interm..

Game Dev/Unreal C++ : Study 2022. 3. 30. 13:58
언리얼 μ‹€μŠ΅μš© κ²Œμž„ WithTheLight 기획

Level Design 컨셉 : λ¬΄ν•œλ§΅. 4 κ°œμ€‘μ˜ ν•˜λ‚˜μ˜ λ°©ν–₯으둜 이동함. λͺ©ν‘œ 지점이 μ •ν•΄μ Έ 있음. λͺ©ν‘œμ§€μ μ— λ„λ‹¬ν•˜μ—¬, μ„±ν™”λ₯Ό λ΄‰μ†‘ν•˜λ©΄ κ²Œμž„μ΄ 클리어. μ „νˆ¬ : μƒˆ 곡간에 λ„μ°©ν•˜λ©΄, 문이 λ‹«νžˆλ©΄μ„œ 적이 랜덀으둜 슀폰된 적과 μ‹Έμš°κ²Œ 됨. λͺ©ν‘œ 지점에 κ°€κΉŒμ΄ 갈수둝 적이 κ°•λ ₯해짐. λͺ©ν‘œ 지점 λ°©μ—μ„œλŠ” λ³΄μŠ€μ™€ μ „νˆ¬λ₯Ό ν•˜κ²Œ λ§Œλ“€ μˆ˜λ„ 있음. μ „νˆ¬ μ™„λ£Œ : 적을 μ „λΆ€ 무찌λ₯΄λ©΄, 2개의 μ•„μ΄ν…œ λ°•μŠ€κ°€ λ‚˜μ˜΄. μ΄λ•Œ 선택을 ν•΄μ•Ό 함. μ„ νƒμ§€λŠ” λ‹€μŒκ³Ό κ°™μŒ. 무기변경 무기강화 무기 내ꡬ도 수리 캐릭터 HP 증가 캐릭터 이동속도 증가 캐릭터 곡격속도 증가 λ‹€λ§Œ 2 κ°€μ§€ μ „λΆ€ 효과 μΉ΄ν…Œκ³ λ¦¬λŠ” 같은데, ν•˜λ‚˜λŠ” "100% ν™•λ₯ λ‘œ 10% μ„±λŠ₯ ν–₯상" 이며, λ‚˜λ¨Έμ§€ ν•˜λ‚˜λŠ” "10% ν™•λ₯ λ‘œ μ„±λŠ₯ 50% μƒμŠΉ, 40%ν™•λ₯ λ‘œ μ„±λŠ₯..

Game Dev/Unreal C++ : Dev Log 2022. 3. 28. 11:47
μ΄λ“μš° 언리얼 C++ 15 : κ²Œμž„μ˜ μ™„μ„±

μ΄λ“μš°λ‹˜μ˜ "μ΄λ“μš°μ˜ 언리얼 C++ κ²Œμž„ 개발의 정석" 책을 따라가며 μ‹€μŠ΅ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ ν¬μŠ€νŒ…μž…λ‹ˆλ‹€. μ‹€μŠ΅μ— ν•„μš”ν•œ μžλ£Œλ“€μ€ 이 λ§ν¬μ—μ„œ, μ œκ°€ μž‘μ—…ν•œ 예제 μ†ŒμŠ€ 완성본은 μ—¬κΈ°μ—μ„œ 찾아보싀 수 μžˆμŠ΅λ‹ˆλ‹€. (μ €λŠ” 언리얼 4.27.2 버전 κΈ°μ€€μœΌλ‘œ μž‘μ—…ν•˜μ˜€μŠ΅λ‹ˆλ‹€) κ²Œμž„ λ°μ΄ν„°μ˜ μ €μž₯κ³Ό λ‘œλ”© SaveGame μ΄λΌλŠ” μ–Έλ¦¬μ–Όμ˜ 클래슀λ₯Ό 상속받은 클래슀λ₯Ό μ΄μš©ν•΄ κ²Œμž„ 데이터λ₯Ό μ €μž₯ν•˜κ³  λ‘œλ“œν•΄λ³΄μž. 이름은 ABSaveGame 으둜 λ§Œλ“ λ‹€. κ²Œμž„ μ„Έμ΄λΈŒ κΈ°λŠ₯μ—λŠ” 각 μ €μž₯ νŒŒμΌμ— μ ‘κ·Όν•  수 μžˆλŠ” 고유 이름인 슬둯 이름이 ν•„μš”ν•˜λ‹€. 슬둯 이름을 λ‹€λ₯΄κ²Œ μ§€μ •ν•΄ μ„Έμ΄λΈŒ 데이터λ₯Ό μ—¬λŸ¬ 개 λ§Œλ“€ 수 μžˆλŠ”λ°, μš°λ¦¬λŠ” Player1 μ΄λΌλŠ” 슬둯 이름을 μ‚¬μš©ν•œλ‹€. κΈ°λ³Έ μ„Έμ΄λΈŒ 데이터 생성 λ‘œμ§μ€ ν”Œλ ˆμ΄μ–΄ μŠ€ν…Œμ΄νŠΈμ˜ InitPlay..

Game Dev/Unreal C++ : Tutorial 2022. 3. 27. 19:04
μ΄λ“μš° 언리얼 C++ 14 : κ²Œμž„ν”Œλ ˆμ΄μ˜ μ œμž‘

μ΄λ“μš°λ‹˜μ˜ "μ΄λ“μš°μ˜ 언리얼 C++ κ²Œμž„ 개발의 정석" 책을 따라가며 μ‹€μŠ΅ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ ν¬μŠ€νŒ…μž…λ‹ˆλ‹€. μ‹€μŠ΅μ— ν•„μš”ν•œ μžλ£Œλ“€μ€ 이 λ§ν¬μ—μ„œ, μ œκ°€ μž‘μ—…ν•œ 예제 μ†ŒμŠ€ 완성본은 μ—¬κΈ°μ—μ„œ 찾아보싀 수 μžˆμŠ΅λ‹ˆλ‹€. (μ €λŠ” 언리얼 4.27.2 버전 κΈ°μ€€μœΌλ‘œ μž‘μ—…ν•˜μ˜€μŠ΅λ‹ˆλ‹€) μΊλ¦­ν„°μ˜ μŠ€ν…Œμ΄νŠΈ μ„€μ • AI 의 캐릭터 μŠ€ν…Œμ΄νŠΈμ™€ λΉ„μŠ·ν•˜κ²Œ, ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터에도 μŠ€ν…Œμ΄νŠΈ λ¨Έμ‹  λͺ¨λΈμ„ κ΅¬ν˜„ν•΄λ³΄μž. PREINIT μŠ€ν…Œμ΄νŠΈ : 캐릭터 생성 μ „μ˜ μŠ€ν…Œμ΄νŠΈ. 애셋은 섀정돼 μžˆμœΌλ‚˜ 캐릭터와 UI λ₯Ό μˆ¨κ²¨λ‘  LOADING μŠ€ν…Œμ΄νŠΈ : 캐릭터 애셋을 λ‘œλ”©. ν˜„μž¬ μ»¨νŠΈλ‘€λŸ¬κ°€ AI 인지 ν”Œλ ˆμ΄μ–΄μΈμ§€ ꡬ뢄 κ°€λŠ₯. ν”Œλ ˆμ΄μ–΄ 컨트둀러인 경우 μ• μ…‹ λ‘œλ”©μ΄ μ™„λ£Œλ  λ•ŒκΉŒμ§€ 캐릭터λ₯Ό μ‘°μ’…ν•˜μ§€ λͺ»ν•˜λ„둝 μž…λ ₯을 λΉ„ν™œμ„±ν™”. READY μŠ€ν…Œμ΄νŠΈ : 캐릭터 μ• ..

Game Dev/Unreal C++ : Tutorial 2022. 3. 23. 18:15
μ΄λ“μš° 언리얼 C++ 13 : ν”„λ‘œμ νŠΈμ˜ μ„€μ •κ³Ό λ¬΄ν•œ 맡의 μ œμž‘

μ΄λ“μš°λ‹˜μ˜ "μ΄λ“μš°μ˜ 언리얼 C++ κ²Œμž„ 개발의 정석" 책을 따라가며 μ‹€μŠ΅ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ ν¬μŠ€νŒ…μž…λ‹ˆλ‹€. μ‹€μŠ΅μ— ν•„μš”ν•œ μžλ£Œλ“€μ€ 이 λ§ν¬μ—μ„œ, μ œκ°€ μž‘μ—…ν•œ 예제 μ†ŒμŠ€ 완성본은 μ—¬κΈ°μ—μ„œ 찾아보싀 수 μžˆμŠ΅λ‹ˆλ‹€. (μ €λŠ” 언리얼 4.27.2 버전 κΈ°μ€€μœΌλ‘œ μž‘μ—…ν•˜μ˜€μŠ΅λ‹ˆλ‹€) ν”„λ‘œμ νŠΈμ˜ 정리와 λͺ¨λ“ˆ μΆ”κ°€ 이전에 μž‘μ—…ν•œ C++ νŒŒμΌλ“€μ€ μ „λΆ€ ArenaBattle μ΄λΌλŠ” 폴더 ν•˜λ‚˜μ— λͺ°λ € μžˆμ—ˆλ‹€. λͺ¨λ“ˆν™” 및 정리λ₯Ό μœ„ν•΄ 폴더λ₯Ό μ •λ¦¬ν•˜μž. ν—€λ”νŒŒμΌμ€ Public ν΄λ”μ—μ„œ, CPP νŒŒμΌμ€ Private ν΄λ”μ—μ„œ λ³΄κ΄€ν•˜λ„λ‘ λ§Œλ“ λ‹€. λ‹€μŒκ³Ό 같이 κ΅¬μ„±ν•œλ‹€. uproject νŒŒμΌμ„ μš°ν΄λ¦­ν•œ ν›„ λ©”λ‰΄μ—μ„œ Generate Visual Studio project files 을 ν΄λ¦­ν•˜λ©΄ μ†”λ£¨μ…˜ νƒμƒ‰κΈ°μ˜ 폴더 ꡬ쑰가 바뀐닀. λ§ˆμ°¬κ°€μ§€λ‘œ ..

Game Dev/Unreal C++ : Tutorial 2022. 3. 23. 00:10