본문 바로가기

전체 글339

6. InitState InitState에 대해 설명하기 전에 GameplayTag에 대해서 우선 설명해야 합니다.GameplayTag는 Unreal Engine에서 제공하는 카테고리 네이밍 기법입니다. C++ 문법에 비유하자면 enum class와 비슷하고, 이를 더 계층화시킨 방법입니다.예를 들어 House.Chair.Leg 이런 식으로 House 아래 계층에 Chair가 존재하고, 그 밑에 Leg가 존재하는 것처럼 특정 객체에 태그를 지정하여 분류하거나 분기 처리를 하는 등 디테일한 처리를 가능하게 합니다.태그를 등록하는 주체는 UGameplayTagsManager를 통해 진행하게 되며, 실질적인 사용처는 HmGameInstance에서UGameFrameworkComponentManager를 통해 RegisterInitSt.. 2024. 10. 3.
5. Experience Loading Complete Experience 로딩에 관한 내용이 길었는데, 드디어 끝났습니다! Experience란 간단히 정리하면 Lyra에서의 라이트한 Level 변경 방법이라고 정리할 수 있습니다.Level을 변경하는 일은 큰 비용을 동반하기에, Primary Data Asset을 통해 Map과 각종 정보를 저장하고,그 데이터들을 타이밍에 맞게 불러옵니다. Experience를 온전히 이해하기 위해서는 엔진 구조에 대한 이해가 필요한데,언리얼 엔진에서 Play를 누르게 되면 엔진 내부적으로 동작하는 함수들이 있습니다. Player가 Spawn되는 위치를 정해준다거나, Spawn되는 클래스가 지정되지 않으면 어떤 클래스를 지정할지 등등다양한 함수들이 존재하고, 이 함수들은 정해진 시기에 동작합니다. Experience 강의에.. 2024. 10. 2.
4. Experience Manager Component 오늘 실습한 내용은 GameState Component에 관한 내용입니다.Component 패턴은 기존 DX3D 프로젝트에서 자주 사용할 정도로 애용했던 방식인데요.Actor에 컴포넌트를 붙여서 기능 확장 및 제거에서 유연하게 대처할 수 있기 때문에 이점이 있다고 생각합니다. Lyra 프로젝트에서는 Component 패턴을 사용하였고, GameState에도 여러 컴포넌트를 붙여서 기능을 확장했습니다.오늘 붙인 컴포넌트는 Experience Manager Component이고, 이 컴포넌트는 Experience 로드를 담당하는 컴포넌트입니다. 마찬가지로 이전 D3D 프로젝트에서 상태 패턴에서 사용되는 변수 구조와 흡사하여 이해하는데 어려움은 없었습니다.1. 현재 상태를 들고 있는 변수 (CurrentExp.. 2024. 9. 30.
3. Experience Actor Spawn Experience는 Primary Data Asset를 상속 받아 만들었으며, 이 데이터 타입은 AssetManager를 통해서 쉽게 로드가 가능합니다.Project Settings 창에서 Asset Manager가 Scan할 데이터를 등록할 수 있습니다.여기서 Scan이란, 해당 에셋을 바로 메모리에 올리는 것이 아닌 '이 에셋이 여기에 있다' 정도만 인지하는 수준으로 보는 것이 맞습니다. - Asset Base Class는 해당 클래스를 의미하며, Primary Asset Type도 오타가 나지 않도록 정확히 기입해야 합니다.- Specific Assets는 해당 에셋을 콕 집어서 Scan 한다는 것을 의미합니다.- Directories는 해당 디렉토리를 집어주면, 그 디렉토리에 있는 에셋을 다 S.. 2024. 9. 29.