Make Unreal REAL.
article thumbnail
캐릭터 카메라와 이동

Unreal Engine 5 C++ Multiplayer Shooter 웅크리기 기능을 사용할 때 캡슐의 크기가 작아지기 때문에, 스프링 암이 함께 이동하지 않게 하기 위해 메시에 부착한다. 보통 스프링 암은 루트 컴포넌트(캡슐)에 붙인다. USpringArmComponent::SocketName은 스프림 암의 끝에 붙어 있는 소켓이다. Project Settings에서 키 입력을 매핑한다. 바인딩할 함수들은 자식에서 접근할 수 있도록 protected 섹션에 구현한다. GetActorForwardVector() 대신 Controller->GetControlRotation() 함수를 사용한 이유는, 액터의 방향이 아닌 컨트롤러의 방향으로 이동하고 싶기 때문이다. 각 함수의 Direction은 컨트롤러의 ..

article thumbnail
애니메이션 리타겟

Unreal Engine 5 C++ Multiplayer Shooter 이번에는 UE4_Mannequin_Skeleton에 맞춰진 애니메이션을 다른 Skeleton에 리타겟해본다. 두 Skeleton 모두 Humanoid Rig로 설정되어 있고 Bone이 정상적으로 매핑되어 있다. 아까 UE4_Mannequin_Skeleton을 T-포즈로 맞춰 주었으니, 이 Skeleton도 T-포즈로 맞춰주도록 한다. 원래 둘 다 A-포즈였고 육안 상으로도 동일했다면 하지 않아도 되는 작업이다. Preview Mesh가 Skeleton을 사용 중인 캐릭터인지 확인한다. 이제 두 Skeleton이 동일한 Rig 정보를 갖고 같은 포즈를 취하고 있으니 애니메이션 리타겟을 진행할 수 있다. 모든 애니메이션을 바로 하지 말고..

article thumbnail
Mixamo 애니메이션 리타겟

Unreal Engine 5 C++ Multiplayer Shooter Mixamo에 로그인하고 적절한 캐릭터를 찾아 클릭한다. 그러면 프리뷰를 보고 애니메이션을 다운로드할 때 이 캐릭터를 사용할 것인지 묻는데 사용한다고 한다. 캐릭터를 다운로드한다. 언리얼 엔진의 기본 포즈인 A-포즈가 아닌, 유니티의 기본 포즈인 T-포즈를 하고 있는 것을 확인할 수 있다. 이것은 나중에 직접 수정해주어야 한다. FBX 형식의 캐릭터를 프로젝트에 임포트한다. Skeletal Mesh를 임포트하고, 자체 Skeleton을 갖고 있으므로 Skeleton은 지정하지 않는다. 옵션을 그대로 두고 Import All 버튼을 클릭한다. Skeleton Tree를 보면 언리얼 엔진의 Skeleton과 비슷하지만 구조와 이름이 조금..

article thumbnail
에셋 추가

Unreal Engine 5 C++ Multiplayer Shooter 많은 총을 갖고 있는 Military Weapon Silver 에셋을 다운로드 받고 언리얼 엔진 4 프로젝트에서 Migrate 기능을 이용해 언리얼 엔진 5 프로젝트로 이주시킨다. 애니메이션 이주 시에 Skeleton이 포함된 캐릭터 에셋을 같이 이주시키거나, 캐릭터 에셋을 아예 포함시키지 않으면 참조가 꼬여 정상적으로 사용이 불가능할 수도 있다. 현재 프로젝트와 이주할 프로젝트의 캐릭터 에셋 위치를 동일하게 맞춰준 후, 캐릭터 에셋 없이 이주시키면 자동으로 참조가 맞춰진다. 캐릭터와 애니메이션을 사용하기 위해 Unreal Learnking Kit 에셋을 통해 언리얼 엔진 4 프로젝트를 생성하고, 애니메이션 스타터 팩을 생성된 프로젝..

article thumbnail
프로젝트 생성

Unreal Engine 5 C++ Multiplayer Shooter 멀티 플레이어 슈터 게임을 만들 새로운 프로젝트를 생성했다. 온라인 서브시스템 세션을 관리할 플러그인을 제작했던 MenuSystem 프로젝트 폴더에서 Plugins 폴더를 복사해 새로운 프로젝트 폴더에 붙여넣는다. 플러그인 폴더의 Binaries, Intermediate 폴더는 삭제해준다. Online Subusystem Steam 플러그인을 활성화한 후 에디터를 재시작한다. 에디터를 끈 후 INI 설정 파일들에 다음 내용을 추가해준다. DefaultEngine.ini 언리얼 엔진 5 버전에 따라 세션 생성에 문제가 있으면, bInitServerOnClient=true 부분을 주석 해제한다. FOnlineSessionSettings:..

article thumbnail
멀티 플레이어 플러그인 제작: 버그 수정 및 완성

Unreal Engine 5 C++ Multiplayer Shooter 누군가 호스팅 중인 세션에 참가했다. 호스팅 중인 세션에 참가했는데 방장이 나가버려 방이 폭파되면, 남은 플레이어들은 이전 레벨로 강제로 다시 이동하게 된다. 이때 방장이 세션을 파괴하지 않고 나갔다면, 플랫폼(Steam)에는 아직 세션이 남아 있는 상태가 된다. 의도한 대로라면, 세션이 남아 있을 경우 기존 세션을 파괴하고 바로 새로운 세션을 생성해야 하는데 그렇지 않다. 세션이 남아 있을 때 첫 번째로 누른 Host 버튼에서는 실패로 처리되고, 두 번째에는 성공해 새로운 세션을 열 수 있게 된다. 세션은 호스팅 중인 컴퓨터에 있는 것이 아니라, 플랫폼에 존재하기 때문에 모든 요청은 델리게이트를 통해 처리된다. CreateSessi..

검색 태그