Notice
Recent Posts
Recent Comments
Link
관리 메뉴

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

KoreanFoodie's Study

[언리얼] 언리얼 μ΅œμ ν™” ν”„λ‘œνŒŒμΌλ§ : λ©€ν‹° ν”Œλž«νΌμ„ μœ„ν•œ μ΅œμ ν™” λ“œλΌμ΄λΈŒ (언리얼 μ„œλ°‹ 2022) μš”μ•½

[언리얼] μ–΄λ–€ κ°œλ… : μ–΄λ–»κ²Œ ν•˜κΈ° 핡심 : 1. 2. 3. 언리얼 μ„œλ°‹ 온라인 2022 λ₯Ό ν›‘μ–΄ λ³΄λ©΄μ„œ, μ΅œμ ν™” 및 ν”„λ‘œνŒŒμΌλ§κ³Ό κ΄€λ ¨ν•œ λ‚΄μš©μ΄ μžˆμ–΄ 기둝차 μš”μ•½ν•΄ 보렀 ν•©λ‹ˆλ‹€. ν˜„μž¬ 개발 쀑인 버전이 언리얼5 κ°€ μ•„λ‹ˆλΌμ„œ μ•„μ‰¬μš΄ 뢀뢄은 μžˆμ§€λ§Œ... 일단 μ•Œμ•„λ‘λ©΄ λ§Žμ€ 도움이 되겠죠 πŸ˜… 언리얼 μ„œλ°‹ 온라인 2022 λ₯Ό 보며 λ‚΄μš©μ„ μ •λ¦¬ν–ˆμœΌλ‹ˆ, κΆκΈˆν•˜μ‹  뢄은 ν’€ μ˜μƒμ„ λ³΄μ‹œκΈΈ λ°”λžλ‹ˆλ‹€! πŸ˜„ Hitching 이 μ–Έμ œ λ°œμƒν•˜λŠ”μ§€ νŒŒμ•…ν•˜μ—¬ μ–΄λ–€ λΆ€λΆ„μ—μ„œ 병λͺ©ν˜„상이 λ°œμƒν•˜λŠ”μ§€ νŒŒμ•…ν•΄μ•Ό ν•œλ‹€. μΉ΄νŠΈλΌμ΄λ”μ˜ 경우 GameThread μ—μ„œ 병λͺ©μ΄ λ°œμƒν•˜μ—¬ 이λ₯Ό μ§‘μ€‘μ μœΌλ‘œ λ‹€λ£¨μ—ˆλ‹€κ³  함. κ°•μ˜μ—μ„œλŠ” 닀루지 μ•Šμ•˜μ§€λ§Œ... RenderThread 의 경우, PSO μΊμ‹œλ₯Ό 톡해 μ΅œμ ν™”λ₯Ό μ§„ν–‰ν•˜μ˜€λ‹€κ³  ν•œλ‹€. κ΄€λ ¨ λ‚΄μš©μ€ 곡식..

Game Dev/Unreal C++ : Dev Log 2023. 5. 14. 21:07
[언리얼] 언리얼 μΈμ‚¬μ΄νŠΈ : 언리얼 μ΅œμ ν™” ν”„λ‘œνŒŒμΌλ§

언리얼 μΈμ‚¬μ΄νŠΈ 핡심 : 1. 언리얼 μΈμ‚¬μ΄νŠΈλŠ” μ΅œμ ν™”λ₯Ό μœ„ν•΄ ν”„λ‘œνŒŒμΌλ§μ„ μ‰½κ²Œ λ„μ™€μ£ΌλŠ” μœ μš©ν•œ νˆ΄μ΄λ‹€. 2. κ²Œμž„ μ“°λ ˆλ“œ, λ Œλ” μ“°λ ˆλ“œ λ“± μ–΄λ””μ—μ„œ 병λͺ© ν˜„μƒμ΄ μΌμ–΄λ‚˜λŠ”μ§€λ₯Ό νŒŒμ•…ν•˜μž 3. λͺ¨λ°”일 κΈ°κΈ°λ‘œλ„ utrace λ₯Ό 내보내어 뢄석을 ν•  수 μžˆλ‹€! 언리얼 μΈμ‚¬μ΄νŠΈλΌλŠ” νˆ΄μ„ 톡해 언리얼 μ΅œμ ν™” 및 ν”„λ‘œνŒŒμΌλ§μ„ ν•œ 번 ν•΄ 보자! (λ§Œμ•½ μ†ŒμŠ€λΉŒλ“œμ—μ„œ μ‹œμž‘ν•  경우, UnrealInsight λͺ¨λ“ˆμ„ λΉŒλ“œν•˜λ©΄ UnrealInsights.exe 파일이 생긴닀. UnrealInsights-Win64-DebugGame λΌλŠ” 이름일 μˆ˜λ„ 있음 πŸ˜…) μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λ©΄ Trace Sessions(트레이슀 μ„Έμ…˜) (1), Trace Store Directory(트레이슀 μŠ€ν† μ–΄ 디렉터리) (2) μ œμ–΄, New Conne..

Game Dev/Unreal C++ : Dev Log 2023. 5. 12. 19:26
[OpenGL ES] 16κ°• : μ „μ—­ μ‘°λͺ…, 레이 νŠΈλ ˆμ΄μ‹±, 그림자 κ΄‘μ„ , λ°˜μ‚¬κ΄‘, κ΅΄μ ˆκ΄‘, 라이트 맀핑, ν™˜κ²½ 맀핑, 큐브 맀핑

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. Phong λΌμ΄νŒ… λͺ¨λΈμ€ local illumination 을 λ§Œλ“€μ–΄λ‚΄λŠ” λ°λŠ” μœ μš©ν•˜μ§€λ§Œ, μ „μ—­ μ‘°λͺ…(Global Illumination) 을 μžμ—°μŠ€λŸ½κ²Œ λ§Œλ“€μ–΄λ‚΄κΈ° μœ„ν•΄μ„œλŠ”, 3 가지 좔가적인 μš”μ†Œλ₯Ό κ³ λ €ν•΄μ•Ό ν•œλ‹€. 즉, 그림자 κ΄‘μ„ (Shadow Ray), λ°˜μ‚¬κ΄‘(Reflection Ray), κ΅΄μ ˆκ΄‘(Transmitted/Refraction Ray) 을 λ°˜μ˜ν•΄μ•Ό ν•œλ‹€. 2. 레이 νŠΈλ ˆμ΄μ‹± 기법은 μž¬κ·€μ μœΌλ‘œ Ray 값듀을 κ³„μ‚°ν•˜μ—¬ 색상을 κ³„μ‚°ν•œλ‹€. 각 Ray λŠ” Primary Ray ..

Game Dev/OpenGL ES 2023. 4. 28. 00:27
[OpenGL ES] 15κ°• : μ‰λ„μš° 맀핑(Shadow Mapping), PCR(Percentage Closer Filtering), Hard Shadow vs Soft Shadow

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. μ‰λ„μš° 맀핑(Shadow Mapping) 은 그림자λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ Vertex Shader μ—μ„œ light source λ‘œλΆ€ν„° 각 surface μ κΉŒμ§€μ˜ κΉŠμ΄κ°’κ³Ό visibility 값을 μ €μž₯ν•˜λŠ” 기법을 μ˜λ―Έν•œλ‹€. 2. Pass 1 μ—μ„œλŠ” 각 ν‘œλ©΄κΉŒμ§€μ˜ κΉŠμ΄κ°’ z λ₯Ό, Pass 2 μ—μ„œλŠ” μ‹€μ œ μ κΉŒμ§€μ˜ 거리 d λ₯Ό μ €μž₯ν•˜μ—¬, 이λ₯Ό λΉ„κ΅ν•΄μ„œ Shadow μ—¬λΆ€λ₯Ό κ²°μ •ν•œλ‹€. Nearest Sampling κ³Ό Bilinear Interpolation λ‘˜ λ‹€ 별 도움은 λ˜μ§€ μ•ŠμœΌλ―€λ‘œ, PC..

Game Dev/OpenGL ES 2023. 4. 27. 14:42
[OpenGL ES] 14κ°• : 노말 맀핑(Normal Mapping), Height Map, νƒ„μ  νŠΈ 곡간(Tangent Space), Tangent-Space Normal Mapping

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. 고해상도 λ©”μ‹œμ—μ„œ, μ‹€μ‹œκ°„μœΌλ‘œ λΌμ΄νŒ…μ„ μ²˜λ¦¬ν•˜λŠ”λ°λŠ” λΉ„μš©μ΄ 많이 λ“€ 것이닀. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄, 노말 맀핑(Normal Mapping) κ³Ό 저해상도 λ©”μ‹œλ₯Ό μ‚¬μš©ν•˜μ—¬ 효율적으둜 κ·ΈλŸ΄λ“―ν•œ λΌμ΄νŒ… 효과λ₯Ό λ§Œλ“€μ–΄λ‚Ό 수 μžˆλ‹€. 2. 노말 맡을 λ§Œλ“œλŠ” λŒ€μ€‘μ μΈ λ°©λ²•μœΌλ‘œλŠ” Height Field κ°€ μžˆλ‹€. λ©”μ‹œμ—μ„œ ν•œ 점에 μΈμ ‘ν•œ 4개의 μ μ—μ„œ 각 2개의 점씩 μ§μ„ μ˜ 방정식을 λ§Œλ“  λ‹€μŒ, 두 직선 벑터에 λŒ€ν•΄ 외적을 μ·¨ν•˜λŠ” 방법이닀. 그럼 (x, y) μ’Œν‘œμ— λŒ€ν•œ z 의 값을 λ°©μ •μ‹μœΌλ‘œ ν‘œν˜„ν• ..

Game Dev/OpenGL ES 2023. 4. 27. 01:57
[OpenGL ES] 13κ°• : μŠ€μΌˆλ ˆν†€(Skeleton), Bone Space, Skinning, Forward Kinematics, Inverse Kinematics

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. 캐릭터 μ• λ‹ˆλ©”μ΄μ…˜μ„ κ΅¬ν˜„ν•  λ•ŒλŠ” 일반적으둜 μŠ€μΌˆλ ˆν†€μ„ 많이 μ‚¬μš©ν•œλ‹€. 각 λΌˆλŠ” μ„œλ‘œ λΆ€λͺ¨ μžμ‹ 관계λ₯Ό λ§Ίκ³  있으며 λΌˆμ— μžˆλŠ” 각 vertex λŠ” ν•΄λ‹Ή 뼈의 Bone Space 에 μ •μ˜λœ μ’Œν‘œλ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. 2. Forward Kinematics λŠ” Skeleton 의 Hierarchy μ—μ„œ λΆ€λͺ¨λ‘œλΆ€ν„° μžμ‹κΉŒμ§€, Top-Down traversal λ°©μ‹μœΌλ‘œ μ›€μ§μž„μ„ μ μš©ν•˜λŠ” 방식이닀. 각 λΌˆκ°€ λ…λ¦½μ μœΌλ‘œ 움직인닀고 κ°€μ •ν•˜κ³ , ν•΄λ‹Ή Bone Space μ—μ„œ Character Space..

Game Dev/OpenGL ES 2023. 4. 26. 02:02
[OpenGL ES] 12κ°• : Object Picking, Ray Intersection, Bounding Volume, Arcball

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€.μš”μ•½ : 1. 였브젝트 ν”Όν‚Ή(Object Picking)을 ν•˜λ©΄, 슀크린 μŠ€νŽ˜μ΄μŠ€μ—μ„œ Ray λ₯Ό z μΆ• λ°©ν–₯ μ•ˆμͺ½μœΌλ‘œ 쏜 λ‹€μŒ, 처음으둜 λΆ€λ”ͺνžˆλŠ” 였브젝트λ₯Ό μ„ νƒλ˜μ—ˆλ‹€κ³  μΈμ‹ν•œλ‹€. 이 Ray λ₯Ό Object Space 둜 λ°”κΎΈκΈ° μœ„ν•΄ 3번의 λ³€ν™˜(Screen -> Camera -> World -> Object)을 진행해야 ν•œλ‹€(각 Ray 에 λŒ€ν•΄ Object λ³„λ‘œ Ray κ°€ 생성) 2. 였브젝트 ν”Όν‚Ήμ—λŠ” Ray Intersection(폴리곀 λ©”μ‹œμ—μ„œ Ray κ°€ μ‚Όκ°ν˜• μ•ˆμ— μžˆλŠ”μ§€ 체크) κ³Ό Boun..

Game Dev/OpenGL ES 2023. 4. 26. 01:42
[OpenGL ES] 11κ°• : 였일러 λ³€ν™˜(Euler Transform) κ³Ό μΏΌν„°λ‹ˆμ–Έ(Quaternion)

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. 였일러 λ³€ν™˜μ€ μ£Ό μΆ•(Principal Axes)을 κΈ°μ€€μœΌλ‘œ 일정 κ°λ„μ˜ νšŒμ „μ„ μ—°μ†μ μœΌλ‘œ μ μš©ν•  λ•Œ μ‚¬μš©ν•  수 μžˆλ‹€. 그런데 였일러 λ³€ν™˜μ˜ 결과값은 κ΅ν™˜λ²•μΉ™μ΄ μ„±λ¦½ν•˜μ§€ μ•ŠλŠ”λ‹€. 2. ν‚€ν”„λ ˆμž„ 보간을 ν•  λ•Œ, 였일러 λ³€ν™˜μ€ μ–΄μƒ‰ν•œ κ²°κ³Όλ₯Ό 보여쀄 수 μžˆλŠ”λ°, 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μΏΌν„°λ‹ˆμ–Έμ„ μ‚¬μš©ν•œλ‹€. μΏΌν„°λ‹ˆμ–Έμ€ μ‚¬μ›μˆ˜λ₯Ό μ΄μš©ν•œλ‹€. 3. μΏΌν„°λ‹ˆμ–Έμ„ μ΄μš©ν•˜λ©΄ μž„μ˜μ˜ 좕에 λŒ€ν•΄ 𝛉 만큼의 κ°λ„λ‘œ 점/벑터λ₯Ό νšŒμ „μ‹œν‚€λŠ” νšŒμ „ 행렬을 μ‰½κ²Œ λ§Œλ“€μ–΄ λ‚Ό 수 μžˆλ‹€(qpq*). 그리고 μΏΌν„°λ‹ˆμ–Έ μ‚¬μ΄μ˜ 보..

Game Dev/OpenGL ES 2023. 4. 24. 02:02