UE4 6

에셋의 이동 및 수정

에셋의 이름을 바꾸고 경로를 바꾸는 행동은 에디터의 컨텐츠 브라우저 내에서 해야한다. 컨텐츠 브라우저 외에서, 예를 들어 윈도우 파일 탐색기 상에서 에셋을 옮기는(사실은 package 를 옮기는 것이다) 행동은 에셋에 대한 참조 관계를 고려하지 않기 때문에 옮겨진 경로나 이름으로 참조 관계가 업데이트 되지 않는다. 컨텐츠 브라우저에서 에셋의 이름을 바꾸거나 옮기는 경우는 참조 관계가 맞게 업데이트 됩니다. 만약 컨텐츠 브라우저에서 에셋을 다른 경로로 옮긴 경우, 기존 에셋 위치에는 ∴리디렉터가 남게 됩니다. ∴리디렉터란? 에셋을 이동하거나 이름을 바꾸면 원래의 장소에 리디렉터라는 것이 남는다. 이 리디렉터는 새로운 에셋의 경로를 가지고 있다. 이 리디렉터를 이용해 에셋을 참조하고 있던 에셋들이 새로운 에..

Build.cs에서 모듈의 private 폴더 경로 추가

참조하는 모듈의 헤더 파일이 private 폴더에 있다면 build.cs의 PublicDependencyModuleNames나 PrivateDependencyModuleNames에 모듈을 참조하겠다고 선언해도 헤더 파일 인클루드가 안 된다. 위처럼 모듈을 참조하겠다고 선언해도 #include로 헤더가 인클루드 안 된다. 하지만 방법이 있다. 헤더를 인클루드 하기 위해선 모듈의 private 폴더 경로를 추가해줘야 한다. 위에 처럼 참조하는 모듈의 Private 폴더 경로를 PublicIncludePath, 혹은 PrivateIncludePath 에 추가를 해주면 헤더 인클루드가 잘 된다. PublicIncludePath 와 PrivateIncludePath 의 기능적인 차이는 없는 걸로 보인다. 하지만 ..

UE4 UBT(Unreal Build Tool)

UnrealBuildTool (UBT) is a custom tool that manages the process of building Unreal Engine 4 (UE4) source code across a variety of build configurations. Read BuildConfiguration.cs to explore various user-configurable build options. 위는 UBT에 관한 언렬 공식 문서에서 발췌한 글임 쉽게 말해서 다양한 빌드 옵션들과 다양한 플랫폼에 맞게 프로젝트를 자동으로 빌드해주는 툴이다. 언리얼 빌드 툴이 실행되면 프로젝트의 폴더 구조와 소스 파일들을 분석하고 현재 작업하고 있는 플랫폼에 맞게 개발 도구 환경을 자동으로 생성해 준다. 윈도..

UE4 Patch System

빌드, 쿠킹, 패키징 - 빌드란? 선택한 플랫폼에서 실행 가능한 실행 파일을 만드는 것이다. - 쿠킹이란? 선택한 플랫폼에서 사용할 수 있는 포맷으로 컨텐츠들을 변환하는 과정이다. 예를 들어 안드로이드 플랫폼에 대한 쿠킹을 할 땐 텍스쳐 에셋의 RGB 포맷을 안드로이드에서 더 효율적인 ETC 포맷으로 변환 시키는 것이다. - 패키징이란? 패키징이란 사용자에게 배포하기 위해 컨텐츠와 소스들을 컴파일, 빌드, 쿠킹, 패킹을 하는 일련의 과정이다. pak - pak이란? 원래 컨텐츠들이 각자 별개의 umap이나 uasset 같은 형태로 저장되 있는 걸 하나의 파일로 묶은 형태다. - pak을 써야하는 이유 패치를 할 때 uasset을 이용하면 파일의 갯수가 많아 패치 속도가 느려지고, 압축이 안 되 용량도 더..

UE4 Mounting Pak File

UE4에서 pak 파일을 어떻게 마운팅 하는지, 마운팅이 뭔지에 대해 글을 번역한 거다 :) FPakPlatformFile은 pak에 대한 처리를 한다. FPakEntry은 uasset 한 개와 연결되있고, FPakFile은 pak 파일 한 개와 연결되있다. FPakPlatformFile은 FPakFile 배열을 갖고 있고 각 FPakFile은 여러 개의 FPakEntry를 갖고 있다. FindFileInPakFiles란 함수를 보면 알 수 있듯이 인자로 찾을 파일 이름과, FPakEntry, FPakFile 포인터를 넘겨준다. 만약 파일을 찾았다면 FPakEntry 포인터엔 asset에 대한 정보가 들어가고 FPakFile 포인터엔 asset을 찾은 pak에 대한 정보가 들어간다. 이 특정한 FPakE..

UE4 4.24에서 4.25로 버전 업 이슈

4.24에서는 패키징하기 위해서 Codeworks for Android 1R7u1와 NDK r14b를 이용했었음 근데 4.25로 버전 업을 하면서 더 이상 사용이 불가능해지고 Android Studio와 NDK r21을 써야 함 Android Studio를 설치하기 전엔 꼭 기존 Codeworks와 NDK 폴더 삭제해줘야 함 걍 C 디렉토리에 있는 NVPACK 폴더 삭제 권장 관련 언리얼 공식 문서 : https://www.unrealengine.com/en-US/tech-blog/updates-to-required-setup-for-android-ndk-21-in-unreal-engine-4-25