반응형

아마 지금의 자료를 찾지 못했다면 바로 포기했을 것이다.

https://de.slideshare.net/GerkeMaxPreussner/gdc-europe-2014


상당히 유용한 슬라이드였다.

이때 GDC를 갈 기회가 사실 있었는데 왜 안갔을까... GTC가서 물론 재밌게 놀긴(?) 했지만 조금 후회가 된다...


항상 소스코드를 어떻게 어디부터 봐야할지 몰랐는데 디렉터리부터 차근차근 알아가니 좀 진입장벽이 낮아지는 느낌(?)

여하튼 좀 정리를 해본다.



 

아직 보지 않은 부분이기때문에 해당 강의 내용기반으로 정리하는 중이긴 하지만 나중에 하나하나 뜯어보면서 차근차근

틀린 내용에 대해서는 갱신을 하겠다

 

우선 크게 Engine과 Programs 로 나뉘는데

Engine은 모든 code, contents, configurate 등등을 다루고 있는 게임 엔진의 가장 핵심 부분이라 할 수 있다.

Programs는 다양한 프로젝트들이 나열되어 있는것으로 봐서 StandAlone Application들이나 개발 Tool들을 의미한다고 한다.

 

우선 엔진 폴더부터 봐보자.

 

하나씩 폴더 설명부터 정리해 보자면

 

- Build : 엔진부 코드들을 빌딩하는데 필요한 파일들

개발 플랫폼 별로 폴더들이 정리되어있다

 

- Config : Configuation 파일

역시 개발 플랫폼 별로 폴더가 잘 정리가 되어있다. ini파일들을 살펴보면 에디터부터 게임, 하드웨어등 기본 설정값들이 어떤식으로 사용되는지 유추해볼 수 있다.

 

- Content: Shared Engine Context라고 되어있다.

실체가 뭘까 궁금해서 실제로 폴더를 열어보니 에디터에서 유저가 게임 개발에 사용하는 class들이 .template형식으로 저장되어 있다.

 

- Extras: VisualStudioDebugging 이란 폴더가 있고 Visualizer라고 되어있는것으로 유추하여보면 Visual Studio의 Custom Visualizer를 Editor에서 쓰기위해 설정값들이 저장되어있는것으로 추정된다.

 

- Plugins: 게임 Project에 필요한 플러그인으로 Component라고 불러야하나... Editor나 Runtime에서 필요한 기능을 관리하는 폴더라고 보면 될듯하다.

잘 알겠지만 언리얼은 Plug-in형태로 기능을 추가할 수 있다.

 

- Programs: 폴더를 열어보면 빌드툴과 헤더툴이라고 나온다. 언리얼4 빌딩의 자동화를 위한 도구인데 자세한건 다음에 빌드툴 관련해서 작성할때 참고하도록 하자. 생각보다 내용이 정리하기 힘들다...

궁금한 사람들은 https://docs.unrealengine.com/en-us/Programming/BuildTools 참조를 하자.

 

- Shaders: 언리얼 쉐이더 파일들로 확인되고 있고 쉐이더를 만들경우 이 폴더에 두고 작업해야한다.

나중에 리뷰하겠지만 궁금하면 https://www.unrealengine.com/ko/blog/how-to-add-global-shaders-to-ue4 요길 참조하자

 

- Source: 여기가 핵심이다. 메인 소스코드가 전부 있다. 하위 폴더를 잠시 살펴보면 사용가능한 API들을 구현해 놓은 파일들을 가져다 놓았다.

Editor: Unreal 에디터에서 사용할 수 있는 API이다.

Developer: 개발 전용 API로 shader 컴파일러같은것들이 있는걸로 보아 Runtime에서는 사용되지 않을 API들을 의미하는 것 같다

Runtime: 어디서든 사용 가능한 런타임 관련 API들이 있다.

ThirdParty: 언리얼에서 사용하는 Thirdparty lib들에 대한 경로라던가 플랫폼별 세팅들에 대한 C#스크립트와 XML파일이 들어있다.

 

일단은 간단히 여기까지 1-2에서 보도록 하고 1-3에서 본격적으로 하나하나 어떤식으로 파볼지 결정하자.

 

Programs폴더는 다음 기회에 Engine이 어느정도 정리 되면 시작하겠다.

 

폴더에 무엇이 있는지 전혀 알기 힘들었는데 이제 하나하나 보다보니 대충의 언리얼이 얼마나 큰 덩어리였는지 알 수 있게 되었다...

 

과연 Unreal5 이전에 이 분석 작업이 끝날 수 있을까 궁금하다.... 분발해야지...

 

 

 

 




반응형
반응형

언젠가 게임엔진을 만들겠다고 헛소리를 한적이 있었다.

그래서인지 계속해서 언리얼 분석에 대한 욕심만 키우고 있었지 실천에 옮기기가 너무 힘들었다.

 

자... 수십번 다운받았던 소스코드를 위해 이곳으로 가자

 

http://api.unrealengine.com/latest/KOR/GettingStarted/DownloadingUnrealEngine/index.html

 

이곳에서 받자! 예전에 비하면 굉장히 편해졌다!

 

항상 남자라면 마스터 브랜치! 라고 하곤 하지만 사실 공부하는 입장에선 안정적인 릴리즈 브랜치하나 정해서 꾸준하게 정리하는게 좋다.

4.20.3 기준으로 분석을 시작한다. 혹시라도 다루는 릴리즈가 버전이 올라가게 되면 변경사항은 최대한 반영하도록 하겠다!

 

자 git에서 clone 해서 소스코드를 내려받았으면 작업하는 환경이 Windows 이기 때문에 Window개발환경도 적겠다.

빌드용으론 Visual Studio 2017을 사용하고 있고 분석엔 가벼운 Visual Studio Code를 사용하고 있다.

 

위에 소개했던 링크에서 하라는대로 다 하면된다.

 

배치파일(setup.bat) 내부는 몇줄 안되니 분석을 해보자면


echo Engine/Binaries/DotNET/GitDependencies.exe %* >>.git\hooks\post-checkout

 

이 부분으로 봐서  GitDependencies.exe 라는것으로 엔진 툴을 위해 OS 의 dependency를 체크하게 된다.

그리고 해당 git에서 가져오는것을 알수 있다.

꽤 시간이 걸리니 커피 한잔하면서 느긋하게 엔진 파일을 다운받자..

 

 

 

다 다운받으면 


/wait Engine\Extras\Redist\en-us\UE4PrereqSetup_x64.exe /quiet


이부분이 실행되는데 quiet 옵션으로 UI가 안뜨고 조용히 설치가 된다. 아마 엔진구동에 필요한 .net이라던가 dxsdk 등이 깔리는것으로 파악된다.

마지막으로 언리얼 버전을 등록한 후에 setup이 끝난다.


setup이 끝난 후 GenerateProjectFiles.bat파일을 까보면

Engine\Build\BatchFiles 폴더의 GenerateProjectFiles.bat을 실행하라고 나와있는게 보인다.

 

해당 경로의 GenerateProjectFiles.bat 을 까보면 친절하게 주석이 잘 나와있다.

설명을 참조하도록 하자.

이런 배치파일 볼때마다 느끼는거지만 예외처리를 참 주저리주저리(?) 잘 해놓았다.

귀찮지만 꼭 배우고 넘어가야할 점!!!

 

VS2015를 설치하지 않았지만 필자는 다행해 sin파일이 잘 떨어졌으므로 넘어가도록 하겠다.

 

이런거 하나하나 다 적기엔 시간이 없다!!!

 

UE4.sln 을 Visual Studio로 열어보자!

 

설치편은 여기서 마치겠다

 

 

 

반응형
반응형

언리얼 소스 분석란은 순수히 개인적으로 언리얼 스터디를 진행하면서 공부한 내용을 정리하는 것으로 진행합니다.

 

참고로 전혀 언리얼4에 대한 지식 없이 마구 덤벼대는 형식으로 정리하는 것이므로

 

잘 정리되어있는 강좌를 원하시는 분들께 어울리는 내용은 아닐것 같네요.

 

 

그냥 단순하게 언리얼 엔진의 구조를 알고 싶었고,

 

언젠가는 나만의 게임 엔진 개발에 관심이 있습니다.

 

 

이곳에다가라도 정리를 하면서 공부를 진행하는게 나름 효과적일듯하여 시작하는 것입니다.

 

혹시라도 퍼가실 분들은 꼭 (팀) 한너울 블로그의 출처를 달아주시면 감사드리겠습니다!

반응형

+ Recent posts