분류 전체보기330 2. Unreal Engine 초기 세팅 1. Lyra 프로젝트 추가- Unreal 빌드 폴더 내부에 Games라는 폴더를 만들어서 Lyra를 설치하고, Default.uprojectdirs 폴더에 Games 폴더를 추가해주면, Unreal Engine이 폴더를 읽을 때 해당 폴더 내부 파일들도 분석해서 솔루션에 포함시켜줍니다. - Lyra를 추가시킨 이유는 Unreal Engine만으로는 에셋도 없고 엔진에 뭔가 변형을 가하면 최소 2시간 이상의 빌드를 진행해야 하기에 Lyra를 실행시키며 엔진에서 무슨 일이 일어나는지 들여다보며 분석을 진행합니다. 2. Unreal Insights Tool- 언리얼 엔진에서 제공해주는 프로파일러 툴 - D3D 프로젝트 때 각각의 Draw Call에서 무슨 일이 일어나는지 보기 위해 Visual Studio에.. 2024. 10. 7. 7. Pawn Extension 이전 편의 InitState와 이어지는 내용이라 InitState를 생각하며 이어서 진행하여야 합니다.InitState를 복습해보면, - InitState_Spawned - InitState_DataAvailable - InitState_DataInitialized - InitState_GameplayReady 각각의 InitState들은 FGameplayTag 타입으로 이루어져 있으며, HmGameplayTags 클래스의 멤버변수들입니다.그리고 이 State들은 InitializeNativeTags 함수에서 추가되며, InitializeNativeTags 함수는 AssetManager의 StartInitialLoading 함수에서 호출됩니다.이 함수는 언리얼 엔진이 로딩되는 과정에서 호출되므로 매우 이.. 2024. 10. 7. 1. Unreal Engine Full Build 기존 Lyra를 공부하며 Unreal Engine 내부의 로직들에 대해서 접하게 되었는데, 내부 소스코드 분석도 같이 진행하려고 합니다.다만 Unreal Engine의 경우 양이 너무나 방대하고 그러다보니 강의에서도 큰 주제 위주로 다루며 수강생 스스로 공부하고 복습하는 것을 강조하였습니다. 처음에 Lyra와 소스코드 분석을 병행하기 어려울 수 있다고 생각했지만, Lyra를 공부하며 생기는 의문점들에 대해 힌트를 얻고 폭발적인 시너지가 날 수 있는 부분이라고 생각을 해서 강행하게 되었습니다. 그래서 앞으로는 소스코드 분석 강의는 강의 당 긴 텀을 두고 생각하는 시간을 갖는 방식의 공부법을 택할 생각이며, 데일리로는 Lyra 분석을 진행할 생각입니다. 이번 강의에서 발표자님이 강조하신 것은, 1. 언리얼 .. 2024. 10. 5. 6. InitState InitState에 대해 설명하기 전에 GameplayTag에 대해서 우선 설명해야 합니다.GameplayTag는 Unreal Engine에서 제공하는 카테고리 네이밍 기법입니다. C++ 문법에 비유하자면 enum class와 비슷하고, 이를 더 계층화시킨 방법입니다.예를 들어 House.Chair.Leg 이런 식으로 House 아래 계층에 Chair가 존재하고, 그 밑에 Leg가 존재하는 것처럼 특정 객체에 태그를 지정하여 분류하거나 분기 처리를 하는 등 디테일한 처리를 가능하게 합니다.태그를 등록하는 주체는 UGameplayTagsManager를 통해 진행하게 되며, 실질적인 사용처는 HmGameInstance에서UGameFrameworkComponentManager를 통해 RegisterInitSt.. 2024. 10. 3. 이전 1 ··· 7 8 9 10 11 12 13 ··· 83 다음