분류 전체보기 294

게임 개발자가 알아야 할 RDBMS(데이터베이스, MSSQL)

'대용량 데이터베이스 솔루션'에서 나온 내용과 제가 게임 개발 하면서 경험 해던 것들을 토대로 꼭 알아야할 것들을 정리하였습니다. DB 옵티마이저 부분범위 처리와 전체범위 처리 절차형이 아니라 집합형 사고의 필요성 인덱스와 테이블의 내부 구조 인덱스 제대로 알고 사용하기 테이블 조인의 방법들과 제대로 사용하기 게임 개발자는 전문 DBA가 아니기에 DW나 OLAP와 같은 분야는 관심 밖이며 OLTP 환경에서 그것도 게임 서버가 대신 많은 것들을 처리해주는 환경에서 개발 하므로 게임 개발자가 바라 보는 RDBMS는 다를 것입니다. 게임 서버 개발자로서 꼭 알아야할 RDBMS의 개념들에 대하여 설명합니다.

크래프톤 웨이 - 창조적인 일을 위한 리더십과 팀 매니지먼트

리더는 옳은 결정을 하는 것이 아니라 사람들이 옳은 일을 하게 '만드는' 일을 해야 한다 많은 리더가 착각한다. 옳은 결정을 내리는 일이 자신의 역할이라고 말이다. 결정은 시작일 뿐이다. 리더는 사람들이 옳은 일을 하게 만들어야 한다. 사람들이 일하게 만드는 방법은 여러 가지가 있는데, 가장 나쁜 방법은 지시를 하는 것이다. 특히 창조적인 작업에서 지시를 통한 일하게 만들면 결과가 좋을 수 없다. 가장 좋은 건 사람들이 스스로 좋아서, 열정을 바쳐 일하게 만드는 것이다. 리더가 스스로 판단하기에 좋은 생각과 결정을 했더라도 그건 아무런 가치가 없다. 그 일이 실제로 수행돼 결과를 만들어내기 전까지는. 최고보다는 최선을 통해 일을 진행하고, 그것을 기반으로 다음 단계에서 더 나은 결과를 만들어내는 것이 좋..

독서 리뷰 2022.04.01

크래프톤 웨이 - 더 나은 CD가 되는 방법

다음은 김창환님이 브랜든 그린에게 보낸, PD가 바라보는 좋은 CD는 무엇인지 고민하여 '더 나은 CD가 되는 방법'이란 제목의 긴 메일의 내용이다. CD는 비전을 만드는 사람이다. CD는 제품의 비전을 제시하고 만드는 사람이다. 비전은 곧 제품의 가치를 정의하는 것이다. CD는 이 비전을 다양한 방법으로 제시하고 설득하며 현실로 만들어내는 역할을 한다. 비전이 실제 제품이라는 결과물로 만들어지기 전에는, 단지 추상적인 말과 글, 이미지 등으로 모든게 표현된다. 따라서 비전을 들은 사람들은 모두 다른 그림을 머릿속에 그리고 있게 된다. 이것을 꾸준한 노력을 통해 일치하게 만들고, 결과물이 나올 때까지 비전을 현실화하는 것이 CD의 역할이다. 이런 과정에서 비전의 문구는 점차 구체화되고 수정 보완되며 진화..

독서 리뷰 2022.04.01

Windows10 FFmpeg 사용하기

FFmpeg 설치 FFmpeg를 cmd로 비디오나 오디오를 레코드 할 수 있는 유명한 오픈소스 무료 프로그램입니다. https://ffmpeg.org/ 에서 실행 파일을 다운로드 받아 사용 합니다. ffmpeg를 다운로드 받고 압축을 푼 후 다음의 경로로 이동 시켜 주었습니다. 내 컴퓨터 -> 마우스우클릭 -> 속성 고급 시스템 설정 -> 환경 변수 FFmpeg 실행파일 Path지정 장치 목록 얻기 다음의 명령으로 먼저 장치 목록을 얻어 와서 다음 과정인 '오디오 녹음'의 장치명으로 사용합니다. ffmpeg -list_devices true -f dshow -i dummy 그렇지만, 저의 경의 장치명 목록을 정상적으로 얻어 오지 못하는 현상이 있으며 Screnn Capture Recoder를 설치하여 해..

각종 팁 2022.03.24

[UE5] Animation Retargeting 루트 모션 문제 해결

다음의 글과 같이 작업한후 테스트 해보니, 애니메이션을 루트 모션으로 설정하였지만 제자리에서 움직이지 않는 현상이 있었습니다. [게임 개발/Unreal Engine] - [UE5] Animation Retargeting 방법 다음의 글과 같이 하면 해결 되었습니다. https://forums.unrealengine.com/t/retargeting-root-bone-ue5/506512 해결 방법 Chain에 root를 추가 합니다. Chain Mapping 탭에서 root를 선택하고 Translation Mode를 Globally Scaled로 설정합니다.

[UE5] Animation Retargeting 방법

UE5에서는 UE4와 리타겟팅 하는 방법이 많이 바뀌었으며 그 과정을 정리하였습니다. Frank 애니메이션을 언리얼 마네킹으로 리타겟을 해보겠습니다. 소스 : SK_Frank_FS3_Meshes_Skeleton 타겟 : SK_Mannequin_Skeleton Retargeting Source 생성 SK_Frank_FS3_Meshes_Skeleton 파일을 열어 아래와 같이 Retargeting Source를 생성합니다. Retargeting Sources탭이 보이지 않는다면 다음의 버튼을 누릅니다. Retargeting 옵션 설정 SK_Mannequin_Skeleton에서 Retargeting 옵션이 보이도록 합니다. SK_Mannequin_Skeleton는 pelvis가 Animation이고 spine..

[UE5] 모션 워핑으로 회전과 대시 구현

모션 워핑 Motion Warping은 UE5의 실험 단계 기능으로 제공되고 있으며 루트 모션을 동적으로 타킷 정렬 할 수 있게 해줍니다. 쉽게 말해서, 캐릭터를 원하는 타이밍 구간에 원하는 위치와 방향으로 캐릭터를 이동시킬 수 있습니다. 캐릭터의 루트를 직접 이동시키는 방법이 아니며 루트 모션 애니메이션을 보간하여 캐릭터를 이동시키는 방식입니다. 모션 워핑 플러그인을 활성화해야 합니다. 언리얼 에디터 메뉴 바의 편집(Edit) > 플러그인(Plugins) 에서 내장 플러그인(Built-In) > 애니메이션(Animation) > 모션 워핑(Motion Warping) 으로 이동합니다. 플러그인을 활성화하고 에디터를 재시작합니다. (현재는 아직 실험단계 기능으로 제공 되고 있습니다.) 자세한 내요은 아래..

[UE5] Cannot open include file: 'CommonAnimationTypes.generated.h' 해결

기존 UE4 프로젝트를 UE5로 변환시 다음과 같은 오류가 가 발생 하였습니다. 1>C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\AnimGraphRuntime\Public\CommonAnimationTypes.h(7): fatal error C1083: Cannot open include file: 'CommonAnimationTypes.generated.h': No such file or directory 해결 방법은 '프로젝트.Build.cs' 파일의 PublicDependencyModuleNames에 AnimGraphRuntime 모듈을 추가하면 됩니다. PublicDependencyModuleNames.AddRange(new string[]..

[UE5] FHitResult의 Actor 문제 해결

FHitResult의 Actor는 GetActor()로 변경 되었습니다. UE4 코드 UE4에서는 WeakPointer를 기반 하였습니다. (TWeakObjectPtrBase::Get(), TWeakObjectPtrBase::IsValid()) TArray collidedActors; for (auto& hitResult : HitResults) { if (!hitResult.bBlockingHit && hitResult.Actor.IsValid()) { collidedActors.Add(hitResult.Actor.Get()); } } UE5 코드 WeakPointer에서 FActorInstanceHandle로 구현이 변경 되었습니다. TArray collidedActors; for (auto& hit..