πŸ“š Tech

    [Unreal] μ•„μ΄ν…œ νšλ“, 착용

    [Unreal] μ•„μ΄ν…œ νšλ“, 착용

    캐릭터에 μž₯μ°© κ°€λŠ₯ν•œ μ•„μ΄ν…œμ„ νšλ“ν•œ ν›„ μ°©μš©ν•˜λŠ” 것을 κ΅¬ν˜„ν•  것이닀. 1. μ•„μ΄ν…œ 생성 λ¨Όμ € μ—¬λŸ¬ μ’…λ₯˜μ˜ μ•„μ΄ν…œμ„ 관리할 Base C++ Classλ₯Ό μƒμ„±ν–ˆλ‹€. 이 ν΄λž˜μŠ€μ—μ„  μ•„μ΄ν…œμ˜ νƒ€μž…, 레벨, 좩돌 λ“± κ³΅ν†΅μœΌλ‘œ μ‚¬μš©λ  κΈ°λŠ₯듀을 κ΄€λ¦¬ν•œλ‹€. 각 μ•„μ΄ν…œλ§ˆλ‹€ λ‹€λ₯΄κ²Œ κ΅¬ν˜„λ˜μ–΄μ•Ό ν•˜λŠ” 것듀은 λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀λ₯Ό μƒμ„±ν•˜μ—¬ κ·Έ μ•ˆμ—μ„œ κ΄€λ¦¬λ˜λ„λ‘ λ°©ν–₯을 μž‘μ•˜λ‹€. μ•„μ΄ν…œμ˜ νƒ€μž…μ€ UENUM으둜 μ •μ˜ν–ˆλ‹€. UENUM(BlueprintType) enum class EItemType : uint8 { E_Hat = 0 UMETA(DisplayName = "Hat"), E_Bag UMETA(DisplayName = "Bag"), E_Key UMETA(DisplayName = "Key"), E_Gadget UMETA(Dis..

    [Unreal] μ• λ‹ˆλ©”μ΄νŒ…λœ FBX μ• μ…‹ μž„ν¬νŠΈ

    [Unreal] μ• λ‹ˆλ©”μ΄νŒ…λœ FBX μ• μ…‹ μž„ν¬νŠΈ

    μ–Έλ¦¬μ–Όμ—μ„œ μ œκ³΅ν•˜λŠ” μΌμΈμΉ­, μ‚ΌμΈμΉ­ λ“± ν”„λ‘œμ νŠΈμ— μ™ΈλΆ€ FBX μ• μ…‹μ„ μ μš©ν•΄ λ³Ό κ²ƒμ΄λ‹€. μ–Έλ¦¬μ–Όμ˜ λͺ¨λ“  ν”„λ‘œμ νŠΈλŠ” κΈ°λ³Έ μΊλ¦­ν„°λ‘œ Mannequin을 μ‚¬μš©ν•˜κ³  μžˆλ‹€. μ΄ κΈ°λ³Έ μΊλ¦­ν„°λ₯Ό μ‹€μ œ κ²Œμž„μ—μ„œ ν”Œλ ˆμ΄ν•  μΊλ¦­ν„°λ‘œ λ³€κ²½ν•  κ²ƒμ΄λ‹€.  1. FBX μž„ν¬νŠΈμž„ν¬νŠΈ λ²„νŠΌμ„ 톡해 FBXλ₯Ό μž„ν¬νŠΈ ν•˜λ©΄, λ‹€μŒκ³Ό 같은 μž„ν¬νŠΈ μ˜΅μ…˜ 창이 뜨게 λœλ‹€. Mesh-Auto Generate Collision: μΆ©λŒκ°’μ„ μžλ™μœΌλ‘œ λ§Œλ“€μ–΄μ£ΌλŠ” κΈ°λŠ₯이닀. μž„ν¬νŠΈλ₯Ό ν•˜κ²Œ 되면, λ©”μ‹œμ™€ ν•¨κ»˜ μ—¬λŸ¬ νŒŒμΌλ“€μ„ ν•¨κ»˜ κ°€μ Έμ˜¨ 것을 확인할 수 μžˆλ‹€. νŠΉμ • νŒŒμΌμ„ κ°€μ Έμ˜¬μ§€ λ§μ§€λŠ” μ˜΅μ…˜μ„ 톡해 μ •ν•  수 μžˆλ‹€. μŠ€μΌˆλ ˆν†€: μŠ€μΌˆλ ˆνƒˆ λ©”μ‹œμ—μ„œ μ‚¬μš©ν•˜λŠ” 뼈 κ΅¬μ‘°μŠ€μΌˆλ ˆνƒˆ λ©”μ‹œν”Όμ§μŠ€ μ• μ…‹: μ• λ‹ˆλ©”μ΄μ…˜ λŒ€μ‘ μ½œλ¦¬μ „ λ°μ΄ν„°μ• λ‹ˆλ©”μ΄μ…˜ μ‹œν€€μŠ€: μ• λ‹ˆλ©”μ΄μ…˜λ¨Έν„°λ¦¬μ–Ό μ΄λ ‡..

    [C#] abstract, interface, virtual (feat. override, new)

    1. abstract, interface, virtual 1) abstract abstractλŠ” νŒŒμƒ ν΄λž˜μŠ€μ—κ²Œ 곡톡적인 μ •μ˜λ₯Ό μ œκ³΅ν•¨κ³Ό λ™μ‹œμ— νŒŒμƒ ν΄λž˜μŠ€μ— μ‚¬μš©λ  κΈ°λŠ₯을 κ°•μ œμ μœΌλ‘œ μž¬μ •μ˜ν•¨μ— μžˆλ‹€. abstract ν‚€μ›Œλ“œλ‘œ μ •μ˜ν•œ λ©”μ„œλ“œλ‚˜ 속성은 본문을 μ •μ˜ν•  수 μ—†λ‹€. 일반 λ©”μ„œλ“œλ‚˜ 속성을 μ •μ˜ν•  수 μžˆλ‹€. μΈμŠ€ν„΄μŠ€ν™”ν•  수 μ—†λ‹€. abstract class Animal { public string name; public abstract void Speak(); public void Sleep() { Console.WriteLine("Zzzzz..."); } } class Dog : Animal { public Dog(string name) { this.name = name; } public over..

    [Unreal][C++] 1인칭 μŠˆνŒ… νŠœν† λ¦¬μ–Ό

    [Unreal][C++] 1인칭 μŠˆνŒ… νŠœν† λ¦¬μ–Ό

    1인칭 μŠˆνŒ… νŠœν† λ¦¬μ–Όhttps://docs.unrealengine.com/5.3/ko/first-person-shooter-tutorial-in-unreal-engine/ μΌμΈμΉ­ μŠˆνŒ… C++ νŠœν† λ¦¬μ–ΌμΌμΈμΉ­ μŠˆνŒ… κ²Œμž„ λ©”μ»€λ‹ˆμ¦˜ κ΅¬ν˜„ 방법을 λ°°μ›Œλ΄…λ‹ˆλ‹€.docs.unrealengine.com 1. ν”„λ‘œμ νŠΈ κ΅¬μ„±ν•˜κΈ°1) ν”„λ‘œμ νŠΈ μƒμ„±μƒˆ ν”„λ‘œμ νŠΈ λ‚΄ 맡을 μƒμ„±ν•˜κ³ , κ·Έ 맡을 에디터 μ‹œμž‘ 맡으둜 μ§€μ •ν•œλ‹€. κ²Œμž„ ν”„λ‘œμ νŠΈ μΉ΄ν…Œκ³ λ¦¬ λ‚΄ κΈ°λ³Έ(Blank) ν…œν”Œλ¦Ώ 선택C++ ν”„λ‘œμ νŠΈ νƒ€μž… μ„ νƒμ‹œμž‘μš© μ½˜ν…μΈ  λΉ„ν™œμ„±ν™”ν”„λ‘œμ νŠΈ 이름 FPSProject 지정 FPS 맡 μƒμ„±ν”„λ‘œμ νŠΈ μ„ΈνŒ…μ—μ„œ 에디터 μ‹œμž‘ 맡 μ„€μ • 2) κ²Œμž„λͺ¨λ“œ C++ ν΄λž˜μŠ€λ₯Ό λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀둜 ν™•μž₯ν•˜κΈ°κ²Œμž„λͺ¨λ“œ C++ 클래슀λ₯Ό 베이슀둜 λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀λ₯Ό μƒμ„±ν•œ ..

    [Unreal][Lyra] 캐릭터

    [Unreal][Lyra] 캐릭터

    1. Native Parent Class λΌμ΄λΌμ—λŠ” λ‹€μ–‘ν•œ κ²½ν—˜κ³Ό 레벨이 μžˆλŠ” 만큼 각각 λ‹€λ₯Έ Pawn을 μ‚¬μš©ν•˜κ³  μžˆλ‹€. 보톡 Pawn듀은 λ”°λ‘œ κ°œλ°œλ˜λŠ” 것이 μ•„λ‹Œ ν•˜λ‚˜μ˜ ν΄λž˜μŠ€μ—μ„œ νŒŒμƒλ˜μ–΄ κ·Έ λΆ€λͺ¨ 클래슀λ₯Ό 상속받고 νŠΉμ„±μ΄ 따라 μžμ‹ 클래슀 μ•ˆμ—μ„œ λ‹€λ₯΄κ²Œ 개발되게 λœλ‹€. μ΄λŸ¬ν•œ Pawnλ“€μ˜ Native Parent ClassλŠ” λ°”λ‘œ LyraCharacter이닀. μ—¬κΈ°μ„œ Native Parent Classλž€ C++에 μ •μ˜λœ λΆ€λͺ¨ ν΄λž˜μŠ€μ΄λ‹€. λ§Œμ•½ A λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀λ₯Ό λ‹€λ₯Έ B λΈ”λ£¨ν”„λ¦°νŠΈ ν΄λž˜μŠ€μ—μ„œ νŒŒμƒν•  경우, A의 λΆ€λͺ¨ ν΄λž˜μŠ€λŠ” B λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀둜 λ‹¬λΌμ§ˆ 수 μžˆμ§€λ§Œ Native Parent ClassλŠ” μ—¬μ „νžˆ B의 Native Parent Classλ₯Ό λ”°λΌκ°ˆ 것이닀. 2. LyraCharacter..

    [C#] DateTime, TimeSpan, Stopwatch

    1. DateTime λ‚ μ§œμ™€ μ‹œκ°„μ„ μ·¨κΈ‰ν•  λ•Œ μ‚¬μš©ν•˜λŠ” ν΄λž˜μŠ€μ΄λ‹€. ν˜„μž¬ λ‚ μ§œμ™€ μ‹œκ°„μ„ κ°€μ Έμ˜€κ±°λ‚˜ λ‚ μ§œμ™€ μ‹œκ°„μ„ μ‚¬μš©μžκ°€ μ§€μ •ν•˜μ—¬ μƒˆ μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. μ„œμ‹ μ§€μ •μžλ₯Ό μ΄μš©ν•˜μ—¬ μ„œμ‹μ— 맞게 λ‚ μ§œ 및 μ‹œκ°„μ„ λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜μ—¬ 좜λ ₯ν•  수 μžˆλ‹€. 1) 생성 μ—¬λŸ¬ 가지 λ°©λ²•μœΌλ‘œ μƒˆ DateTime 값에 초기 값을 ν• λ‹Ήν•  수 μžˆλ‹€. μƒμ„±μž 호좜 μƒμ„±μžλ₯Ό 톡해 λ‚ μ§œμ™€ μ‹œκ°„μ„ μ‚¬μš©μžκ°€ μ§€μ •ν•˜μ—¬ μƒˆ μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. public DateTime(long ticks) public DateTime(long ticks, DateTimeKind kind) public DateTime(int year, int month, int day) public DateTime(int year, int month, int ..