Choose your operating system: Show ChunkDownloader 는 언리얼 엔진 의 패치 솔루션입니다. 원격 서비스로부터 에셋을 다운로드하고 게임에서 사용할 수 있도록 이를 메모리에 마운트하여 손쉽게 업데이트와 에셋을 제공할 수 있습니다. 이 가이드에서는 프로젝트에 ChunkDownloader를 구현하는 방법을 보여줍니다. 이 가이드를 완료하면 다음과 같은 작업을 할 수 있습니다.
1. 필수 설정 및 권장 에셋계속 진행하기 전에 다음 가이드를 검토하고 각각의 단계를 따라야 합니다.
이 가이드에서는 프로젝트에 ChunkDownloader 플러그인을 추가하고, 에셋에 대한 청크 스키마를 설정하고, 이를 로컬 테스트 서버에 배포하는 방법을 설명합니다. 검토를 위해 예시 프로젝트의 이름은 PatchingDemo 여야 하며, 다음과 같이 생성되어야 합니다.
2. ChunkDownloader 초기화 및 종료ChunkDownloader는 ChunkDownloader에서 이를 수행하는 가장 간단한 방법은 커스텀 GameInstance 클래스를 사용하는 것입니다. GameInstance에는 연결할 수 있는 적절한 초기화 및 종료 함수가 있을 뿐만 아니라 게임이 실행 중인 동안 ChunkDownloader에 대한 지속적인 액세스도 가능합니다. 다음 단계는 이 구현 과정을 안내합니다.
3. Pak 파일 다운로드이제 ChunkDownloader에 대해 적절한 초기화 및 종료 함수가 있으니 .pak 다운로드 함수 기능을 노출시킬 수 있습니다.
4. Patching Game Mode 설정패치 프로세스를 초기화하기 위해 레벨과 게임 모드를 만들어 PatchGame을 호출하고 화면에 패치 통계를 출력합니다.
게임이 실행되면 Entry 맵이 열리고, ChunkDownloader가 실행되며, 청크 다운로드(Chunk Download) 목록에 청크 다운로드 및 마운트 진행 상황이 표시됩니다. 다운로드가 완료되면 테스트 맵으로 전환됩니다. 에디터에서 플레이(Play In Editor) 를 사용하여 실행하려는 경우 다운로드가 시작되지 않습니다. 패키징된 빌드를 사용하여 ChunkDownloader를 테스트해야 합니다. 5. 다운로드한 콘텐츠 표시캐릭터 메시를 표시하기 위해 이에 대한 레퍼런스를 가져와야 합니다. 사용하기 전에 에셋이 로드되는지 확인해야 하므로 소프트 오브젝트 레퍼런스 가 필요합니다. 이 섹션은 액터를 스폰하고 소프트 레퍼런스에서 스켈레탈 메시를 채우는 방법에 관한 간단한 예시를 안내합니다.
레벨이 로드되면 각 캐릭터의 스켈레탈 메시가 스폰됩니다. 소프트 오브젝트 레퍼런스가 작동하지 않는 경우 각 캐릭터에 대한 청크가 아직 마운트되지 않았다는 뜻입니다.. 따라서 에셋을 사용할 수 없으며, 캐릭터가 스폰되지 않습니다.
.pak 파일 내부에 포함된 에셋을 참조할 때 항상 표준, 하드 레퍼런스 대신 소프트 오브젝트 레퍼런스를 사용해야 합니다. 하드 레퍼런스를 사용하는 경우 청크 스키마가 중단됩니다. 6. 게임 테스트마지막으로 독립형 빌드에서 프로젝트를 테스트해야 합니다. pak 마운트는 PIE 모드에서 작동하지 않으므로 패치 기능을 테스트하는 데 있어 필수 단계입니다.
최종 결과물화면 왼쪽 상단에 패치 출력이 있는 검은색 화면이 표시되고, 패치와 마운트 상태가 100%에 도달하면 게임이 디폴트 맵에 로드되고 Boris, Crunch 및 Khaimera가 표시될 것입니다. 패치 또는 마운트 프로세스에 문제가 있는 경우 어느 것도 표시되지 않습니다. 직접 해보기여기에서 몇 가지 단계를 수행하여 청크 다운로드 스키마를 더욱 구체적으로 만들 수 있습니다.
|