[Unreal][C++] 1인칭 μŠˆνŒ… νŠœν† λ¦¬μ–Ό
Β·
πŸ“ Game/✏ Unreal
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++ 클래슀λ₯Ό 베이슀둜 λΈ”λ£¨ν”„λ¦°νŠΈ 클래슀λ₯Ό μƒμ„±ν•œ ..
[C#] DateTime, TimeSpan, Stopwatch
Β·
πŸ“ Language/✏ C#
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 ..
[Unreal][Lyra] ν–₯μƒλœ μž…λ ₯
Β·
πŸ“ Game/✏ Unreal
1. ν–₯μƒλœ μž…λ ₯ν–₯μƒλœ μž…λ ₯은 λ³΅μž‘ν•œ μž…λ ₯ μ²˜λ¦¬μ™€ μ‹€μ‹œκ°„ μž…λ ₯ 리맀핑을 μœ„ν•œ μž…λ ₯ 처리 μ‹œμŠ€ν…œμ΄λ‹€.λΉ λ₯Έ 반볡 μž‘μ—…κ³Ό λͺ¨λ“ˆμ„±μ• μ…‹ 기반 ν™˜κ²½μ—μ„œ μ›μ‹œ μž…λ ₯ λ°μ΄ν„°μ˜ 필터링 및 처리λ₯Ό ν™•μž₯ν•  수 μžˆλŠ” λŠ₯λ ₯ 제곡 ν–₯μƒλœ μž…λ ₯을 μ‚¬μš©ν•˜λ €λ©΄, ν”ŒλŸ¬κ·ΈμΈ ν™œμ„±ν™” 및 μž…λ ₯ μ„ΈνŒ…μ„ λ³€κ²½ν•΄μ•Ό ν•œλ‹€.  1) μž…λ ₯ μ•‘μ…˜(Input Actions)μž…λ ₯ μ•‘μ…˜μ€ ν–₯μƒλœ μž…λ ₯ μ‹œμŠ€ν…œκ³Ό ν”„λ‘œμ νŠΈ μ½”λ“œ μ‚¬μ΄μ˜ 톡신 링크이닀.μƒν˜Έμž‘μš© μΊλ¦­ν„°μ˜ μ–΄λ–€ 행동이든 μž…λ ₯ μ•‘μ…˜μ΄ 될 수 μžˆλ‹€.쀍기(on/off), κ±·κΈ°(μΆ•) λ“± μ•‘μ…˜ νŠΉμ§•μ— 따라 μž…λ ₯ κ°’ νƒ€μž…μ΄ λ‹¬λΌμ§ˆ 수 μžˆλ‹€.  ν° ν΄λž˜μŠ€κ°€ 트리거 된 μž…λ ₯ μ•‘μ…˜μ— λ°˜μ‘ν•˜κ²Œ ν•˜λ €λ©΄ λΈ”λ£¨ν”„λ¦°νŠΈ κ·Έλž˜ν”„μ— 이벀트λ₯Ό μΆ”κ°€ν•΄μ•Ό ν•œλ‹€. 각 μž…λ ₯ μ•‘μ…˜μ€ ν•΄λ‹Ήν•˜λŠ” μ• μ…‹ 이름을 가진 이벀트λ₯Ό μƒμ„±ν•œλ‹€.  μ΄ν›„ μž…λ ₯ ..
[Unreal][Lyra] κ²Œμž„ν”Œλ ˆμ΄ μ–΄λΉŒλ¦¬ν‹° μ‹œμŠ€ν…œ
Β·
πŸ“ Game/✏ Unreal
1. κ²Œμž„ν”Œλ ˆμ΄ μ–΄λΉŒλ¦¬ν‹° μ‹œμŠ€ν…œGAS(Gameplay Ability System)λŠ” μ–΄λΉŒλ¦¬ν‹° 및 μ–΄νŠΈλ¦¬λ·°νŠΈ μœ ν˜•μ„ κ΅¬μΆ•ν•˜κΈ° μœ„ν•œ ν”„λ ˆμž„μ›Œν¬μ΄λ‹€.λΉ λ₯Έ 반볡 μž‘μ—…κ³Ό λͺ¨λ“ˆμ„±: μ ν”„μ²˜λŸΌ λ‹¨μˆœν•œ 것뢀터 기술 λͺ¨μŒμ²˜λŸΌ λ³΅μž‘ν•œ κ²ƒκΉŒμ§€ λ‹€μ–‘ν•œ μΈκ²Œμž„ μ–΄λΉŒλ¦¬ν‹°λ₯Ό 섀계 및 κ΅¬ν˜„ν•˜κ³  효과적으둜 μ—°κ²°ν•  수 μžˆλ‹€.λ„€νŠΈμ›Œν¬ λ¦¬ν”Œλ¦¬μΌ€μ΄μ…˜ GAS의 μ£Όμš” κ°œλ…μ€ λ‹€μŒκ³Ό κ°™λ‹€. μ–΄λΉŒλ¦¬ν‹° μ‹œμŠ€ν…œ μ»΄ν¬λ„ŒνŠΈ(Ability System Component)κ²Œμž„ν”Œλ ˆμ΄ μ–΄λΉŒλ¦¬ν‹° μ‹œμŠ€ν…œκ³Ό μƒν˜Έμž‘μš©ν•˜λŠ” 앑터에 λΆ™λŠ” μ»΄ν¬λ„ŒνŠΈμ΄λ‹€.μ–΄λΉŒλ¦¬ν‹°λ₯Ό ν™œμ„±ν™”ν•˜κ³ , μ–΄νŠΈλ¦¬λ·°νŠΈλ₯Ό μ €μž₯ν•˜κ³ , μ΄νŽ™νŠΈλ₯Ό μ—…λ°μ΄νŠΈν•˜κ³ , μ•‘ν„° κ°„ μƒν˜Έμž‘μš©μ„ μ²˜λ¦¬ν•œλ‹€.κ²Œμž„ν”Œλ ˆμ΄ μ–΄λΉŒλ¦¬ν‹°(Gameplay Abilities)UGameplayAbility 클래슀의 C++ λ˜λŠ” λΈ”λ£¨ν”„λ¦°νŠΈ μžμ†μ΄λ‹€.νŠΉμ •..
[Unreal][Lyra] λͺ¨λ“ˆν˜• κ²Œμž„ν”Œλ ˆμ΄, κ²Œμž„ ν”Όμ²˜ ν”ŒλŸ¬κ·ΈμΈ, κ²½ν—˜
Β·
πŸ“ Game/✏ Unreal
1. λͺ¨λ“ˆν˜• κ²Œμž„ν”Œλ ˆμ΄κ²Œμž„ν”Œλ ˆμ΄ ν”„λ ˆμž„μ›Œν¬μ—μ„œ μ œκ³΅ν•˜λŠ” λͺ¨λ“ˆν˜• κ²Œμž„ν”Œλ ˆμ΄λŠ” ν•˜λ‚˜μ˜ κΈ°λŠ₯을 독립적인 λΆ€ν’ˆμœΌλ‘œ λΆ„λ¦¬ν•˜μ—¬ κ΄€λ¦¬ν•˜λŠ” κ²ƒμœΌλ‘œ μ™„μ „νžˆ μœ μ—°ν•œ κ²Œμž„ν”Œλ ˆμ΄ μ œμž‘μ΄ κ°€λŠ₯ν•˜λ„λ‘ λ§Œλ“€μ–΄μ€€λ‹€. 2. κ²Œμž„ ν”Όμ²˜ ν”ŒλŸ¬κ·ΈμΈ1) ν”ŒλŸ¬κ·ΈμΈν”ŒλŸ¬κ·ΈμΈμ€ 언리얼 엔진에 νŠΉμ • κΈ°λŠ₯을 μΆ”κ°€ν•΄ μ£ΌλŠ” 선택적 μ†Œν”„νŠΈμ›¨μ–΄ μ»΄ν¬λ„ŒνŠΈμ΄λ‹€. ν”ŒλŸ¬κ·ΈμΈμ„ μ΄μš©ν•΄ 언리얼 엔진 μ½”λ“œλ₯Ό 직접 μˆ˜μ •ν•˜μ§€ μ•Šκ³  μ™„μ „νžˆ μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•˜κ±°λ‚˜ λ‚΄μž₯된 κΈ°λŠ₯을 μˆ˜μ •ν•  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄ μƒˆ 메뉴 ν•­λͺ©κ³Ό νˆ΄λ°” λͺ…령을 에디터에 μΆ”κ°€ν•˜κ±°λ‚˜, 심지어 μ™„μ „νžˆ μƒˆλ‘œμš΄ κΈ°λŠ₯ λ°‘ 에디터 μ„œλΈŒ λͺ¨λ“œλ₯Ό μΆ”κ°€ν•  μˆ˜λ„ μžˆλ‹€. 2) κ²Œμž„ ν”Όμ²˜ ν”ŒλŸ¬κ·ΈμΈλͺ¨λ“ˆν˜• κ²Œμž„ν”Œλ ˆμ΄μ˜ κ·Όκ°„μ΄μž κ°€μž₯ μ€‘μš”ν•œ μ‹œμž‘ ν¬μΈνŠΈμ΄λ‹€. κΈ°μ‘΄ κ²Œμž„μ—μ„œλŠ” κΈ°λ³Έ ꡬ성 λ™μž‘ 방식듀을 κ²Œμž„μ— λ‹€ ν¬ν•¨ν•˜κ³  μ½˜ν…μΈ λ§Œ λΆ„..
[Unreal] κ²Œμž„ λͺ¨λ“œ, κ²Œμž„ μŠ€ν…Œμ΄νŠΈ
Β·
πŸ“ Game/✏ Unreal
1. μΈν„°λž™ν‹°λΈŒ κ²½ν—˜ μ œμž‘ν”Œλ ˆμ΄μ–΄μ™€ μ›”λ“œ 간에 μ›ν™œν•œ μΈν„°λž™μ…˜μ„ κ΅¬ν˜„ν•  수 μžˆλ„λ‘ 언리얼 μ—”μ§„μ—μ„œλŠ” κΈ°λ³Έ κ²Œμž„ν”Œλ ˆμ΄ ν”„λ ˆμž„μ›Œν¬ 외에도 AI, ν”Όμ§μŠ€ λ“± 일반적인 κ²Œμž„ν”Œλ ˆμ΄ μ—˜λ¦¬λ¨ΌνŠΈλ₯Ό λ‹€λ£¨λŠ” λ‹€μ–‘ν•œ μ‹œμŠ€ν…œκ³Ό ν”„λ ˆμž„μ›Œν¬λ₯Ό μ œκ³΅ν•œλ‹€. 2. κ²Œμž„ν”Œλ ˆμ΄ ν”„λ ˆμž„μ›Œν¬κ²Œμž„ν”Œλ ˆμ΄ ν”„λ ˆμž„μ›Œν¬λŠ” 곡톡 κ²Œμž„ν”Œλ ˆμ΄ μš”μ†Œλ₯Ό μ²˜λ¦¬ν•˜λŠ” 핡심 μ‹œμŠ€ν…œ 및 ν”„λ ˆμž„μ›Œν¬κ°€ ν¬ν•¨λ˜μ–΄ μžˆλ‹€.μ•‘ν„°, μ»΄ν¬λ„ŒνŠΈμΉ΄λ©”λΌμ»¨νŠΈλ‘€λŸ¬κ²Œμž„ κ·œμΉ™κ²Œμž„ λͺ¨λ“œν”Œλ ˆμ΄μ–΄ μž…λ ₯κ²Œμž„ν”Œλ ˆμ΄ νƒ€μ΄λ¨Έμœ μ € μΈν„°νŽ˜μ΄μŠ€ λ˜ν•œ μ–Έλ¦¬μ–Όμ—μ„œλŠ” μœ„μ˜ μš”μ†Œλ“€μ„ μ—°κ²°ν•˜μ—¬ λ‹€μŒκ³Ό 같은 κΈ°λŠ₯을 μ œκ³΅ν•˜κΈ°λ„ ν•œλ‹€.μž…λ ₯ 처리물리 μ‹œλ¬Όλ ˆμ΄μ…˜μΈκ³΅ 지λŠ₯데이터 λ ˆμ§€μŠ€νŠΈλ¦¬κ²Œμž„ν”Œλ ˆμ΄ νƒœκ·Έ μ‹œμŠ€ν…œκ²Œμž„ν”Œλ ˆμ΄ μ–΄λΉŒλ¦¬ν‹° μ‹œμŠ€ν…œUI μ œμž‘ μ‹œμŠ€ν…œλ©€ν‹°ν”Œλ ˆμ΄ 지원 3. κ²Œμž„ λͺ¨λ“œκ²Œμž„ λͺ¨λ“œλŠ” κ²Œμž„μ˜ κ·œμΉ™μ„ κ²°μ •ν•˜κ³  정보λ₯Ό μ²˜λ¦¬ν•˜λŠ” ..