환경 세팅

환경 세팅

2024년 3월 17일

소스코드 빌드 #

빌드까지 완료하고 나면 300기가 이상의 용량을 필요로 하기 때문에 충분한 저장공간이 필요하다.

1. unreal engine 홈페이지 회원 가입 후 Epic Games 조직에 github 계정과 연결 #

3d7a7f88-dfed-4d7c-9280-5de4402bf179

2. 깃허브에서 소스코드를 다운로드 (현재 latest 5.6.0) #

3. 프로젝트 내 스크립트 파일 실행 #

  • Setup.bat : 깃 훅으로 의존성 자동 동기화, 엔진에 필요한 리소스들을 다운로드 받는 스크립트
    깃허브에 올리기에는 리소스가 너무 크기 때문.
  • GenerateProjectFiles.bat : 프로젝트 파일(UE5.sln 등)을 생성하는 스크립트. .uproject, .uproectdirs 기준으로 프로젝트를 검색해서 생성해준다.

4. 엔진 소스 빌드 #

솔루션 파일을 열어서 빌드한다. 8b26b511-5649-4063-ab0f-b36bb6e52bdd


디버깅 환경 구축 #

5. 에픽게임즈 런처에서 라일라 다운로드 #

디버깅 할때 테스트 게임이 있어야 실제 실행 중 호출되는 함수들을 확인할 수 있기 때문에 라일라 프로젝트를 사용한다.
에픽게임즈 런처에서 샘플이나 마켓플레이스에 가면 라일라 프로젝트를 받을 수 있다. fe414375-9292-4411-9136-d4ef70fa0af4

받아놓은 언리얼 소스코드 루트의 Games 폴더를 생성 후 라일라 프로젝트를 생성한다. fa0f1eb4-d7a9-4ca1-8e46-2dcfed66ae6f


6. UE5의 Default.uprojectdirs 파일에 Games 폴더를 추가한다. #

5d1ed1a7-344e-485f-bac5-0c8657ae4b2c

이후 GenerateProjectFiles.bat 을 다시 실행시키면 UE5.sln 솔루션에 Games\Lyra 경로가 생기는것을 확인할 수 있다. LyraStarterGame 프로젝트를 우클릭해 시작 프로젝트로 설정하고, Development Editor로 설정한다. a1471349-927a-4021-a120-680774e0849e https://docs.unrealengine.com/5.3/ko/build-configurations-reference-for-unreal-engine/

  • Development Editor
    Development는 엔진/게임코드 최적화를 제외한 모든 작업이 가능하다. Editor는 빌드 타겟을 말하는건데, 프로젝트를 Editor 상에서 실행시킨다는 의미이다.
    Game 타겟으로 빌드하면 게임이 바로 켜지지만, 블루프린트가 바이너리로 빌드된 이후라서 블루프린트를 디버깅하기 위해서는 Editor 가 용이하다.
  • LyraStaterGame
    라일라 프로젝트를 기준으로 언리얼을 실행시킨다. 만약 시작 프로젝트를 설정하지 않으면, 언리얼 엔진의 새프로젝트 창이 뜬다.

이렇게 설정하면 VC++에서 라일라가 언리얼 엔진으로 빌드되면서 에디터 위에서 디벨롭 모드로 빌드되고 실무에서 개발하는 환경과 비슷한 경험을 할 수 있게 된다.
에디터 > 편집 > 에디터 개인설정 > Lyra Development Settings 에서 봇 설정을 해서 디버깅하기 편하게 공격받지 않도록 설정할 수도 있다.


7. UnrealInsights #

언리얼의 프로파일러(함수 호출이나 성능을 측정할 수 있는 도구) 역할을 하는 프로그램
UE5 솔루션 > Programs > UnrealInsights 빌드하고 실행하면 프로세스와 함께 TraceServer 프로세스도 뜬다. 197964d1-7617-41d1-8927-ee4c63da41ad UnrealInsights는 실행하면 TraceServer 프로세스가 127.0.0.1:1980 를 열어두고 데이터를 받고 있는데, LyraStarterGame의 디버그 명령 인수로 지정한 채널들을 통해 데이터가 전달된다.

-tracehost=127.0.0.1 -trace=cpu,gpu,frame
추가할 수 있는 트레이스 파라미터: 링크

4d14fd46-9779-417a-bcf9-ad2a56e2fd79 이 상태에서 게임을 실행해보면 입력했던 cpu(CPU에서 실행된 함수), gpu(GPU 파이프라인 단계), frame(한 프레임 경계)에 대한 정보를 볼 수 있다.
79cddf75-53f8-4545-a4af-0875cf9f2a77

comments powered by Disqus