2026-03-20 TIL (19일차)
2026-03-20 TIL (19일차)
과제 5번 도전과제(Unreal)
완료 후 제출결과물 확인
과제 5번의 필수 및 도전 기능을 모두 구현한 뒤, 제출 전 확인을 위해 깃허브(GitHub) 저장소에서 Download ZIP 버튼을 눌러 프로젝트를 다운로드했습니다. 압축을 풀고 Generate Visual Studio project files를 실행한 후 에디터를 켰는데, 아래와 같이 맵(Map) 파일을 전혀 읽어오지 못하는 치명적인 오류가 발생했습니다.
원인 분석 실험
처음에는 다음과 같은 일반적인 언리얼 엔진의 버그들을 의심하고 실험해 보았습니다.
- 경로 길이 문제
C:\최상단에 짧은 이름으로 압축을 풀어봄 - 맵 에셋 문제 기본 제공되는
OpenWorldMap대신 가벼운BasicMap으로 변경하여 업로드 후 다운로드해 봄 - 저장 누락?
Save All을 확실히 하고 다시 올려봄
모두 실패한 뒤, 혹시 파일 자체가 깨져서 다운로드된 것은 아닐까라는 생각에 다운로드된 파일들을 직접 보기 시작했습니다.
용량 불일치와 포인터 파일
깃허브 웹사이트에 올라간 파일과, ZIP으로 다운로드한 로컬 파일의 용량을 비교해 보았더니 용량 차이가 있었습니다.
깃허브 웹에서는 정상적인 용량과 함께
Stored with Git LFS라는 문구가 적혀있습니다.
압축을 푼 파일들을 보니
.uasset과.umap파일들이 모두 1 KB로 되어있었습니다.
1KB 파일의 내부 구조
이 1KB짜리 .umap 파일을 NotePad로 열어보았더니, 맵 데이터가 아니라 아래와 같은 텍스트가 적혀있었습니다.
이유
언리얼 엔진의 맵이나 에셋은 용량이 커서
.gitattributes설정을 통해 Git LFS로 관리됩니다.
- LFS의 원리: 깃허브 저장소에는 원본 파일 대신 가짜 포인터 파일만 올려두고, 원본은 별도의 LFS 서버에 보관합니다.
- Download ZIP의 한계: 깃허브 웹사이트에서
Download ZIP을 누르면, LFS 서버에 있는 ‘원본 파일’을 가져오지 못하고 껍데기인 가짜 포인터 파일만 압축해서 줘버립니다.언리얼 엔진은 1KB짜리 텍스트 파일을 맵으로 인식할 수 없으니 로드에 실패한 것입니다.
해결법
- 웹사이트 다운로드 대신, 터미널이나 소스트리를 사용하여
git clone [저장소 주소]명령어로 프로젝트를 복제해 옵니다.git clone을 사용하면 깃(Git)이 자동으로 LFS 서버에 접속해 가짜 포인터 파일을 **진짜 원본 **으로 모두 다운로드 해줍니다.- 이후 폴더에서
Generate Visual Studio project files를 실행하고 빌드하면, 에셋이 실행됩니다.
게임 수학
벡터($\vec{a}$) vs 스칼라($a$)
기호 위에 화살표나 막대가 있다면 그것은 벡터임을 명시하는 것이고, 아무 표시가 없다면 그 벡터의 크기만을 의미할 때가 많습니다.
- $\vec{a}$ (벡터, Vector)
- 정의: 크기와 방향을 모두 가집니다.
- 예시: “동쪽으로 5N의 힘”
- $a$ (스칼라, Scalar)
정의: 방향은 무시하고 오직 크기만 나타냅니다. (보통 절대값 기호를 써서 $ \vec{a} $와 같은 의미로 쓰입니다.) - 예시: “5N의 힘”
This post is licensed under CC BY 4.0 by the author.



