전체 글 (308) 썸네일형 리스트형 [Unreal] Lyra 프로젝트 분석 - 05. Input Input Action입력을 받을 시 행동(반환 값 등) Input Mapping Context키 입력과 Input Action을 매핑함 Action에 들어갈 값을 Modifier로 수정 가능 (ex.W 누를 시 y축 양의방향 값) DlkInputActionInputAction과 게임플레이 태그를 묶는 구조체 DlkInputConfigDlkInputAction Array를 들고 있으며 게임플레이 태그로 InputAction을 찾아준다.이동과 같이 기본적인 액션들은 NativeInputAction, 사격이나 스킬 같은 추가 능력 액션들은 AbilityInputAction에 저장된다.PawnData가 들고 있다. InputComponent::BindActionInputAction이 Trigger되었을 때 실.. [Unreal] Lyra 프로젝트 분석 - 04. Camera CameraManager는 PlayerController에 CameraComponent는 Character에 만든다.플레이어 컨트롤러가 다른 캐릭터에게 부착될 수도 있기 때문에 CameraManager을캐릭터에 종속되지 않도록 컨트롤러에 붙이는 것이 합리적이다. CameraMode는 FPS에서 조준을 할 때, 차에 탈 때, 기본 상태에서 시점이 모두 다른데,Lyra에서는 이것들을 모두 각각의 CameraMode로 만들었다. CameraMode들은 스택에 담는다. 그래서 현재 모드와 다음 모드를 보간해 자연스러운 시점 변경을 한다. CameraManager: 실질적으로 보이는 시야를 결정, 출력CameraComponent: 보이는 시야를 찍는 것은 맞는데 정보를 종합해 출력하는 것은 Manager Ca.. [Unreal] Lyra 프로젝트 분석 - 03. Modular Gameplay Actor GameFrameworkComponentManager이것은 클래스에 컴포넌트를 자유롭게 탈부착하는데 이용한다. 그런데 컴포넌트를 장착할 때 순서가 중요할 수 있다.(예를 들면 종속성)그래서 RegisterInitState 로 초기화 방식을 정할 수 있다. 게임플레이 태그 Spawned, DataAvailable, DataInitialized, GameplayReady 네 가지로 초기화 방식을 정한다. PawnExtensionComponent폰에 컴포넌트를 붙일 때 중재자 역할을 한다.Tick을 사용하지 않고 델리게이트를 사용해 효율적임다른 폰 컴포넌트들의 관리자기 때문에 보다 먼저 초기화되어야 한다. 언리얼은 무조건 native C++ class가 SCS(블루프린트 클래스)보다 먼저 초기화 되기 때문.. [Unreal] Lyra 프로젝트 분석 - 02. Experience 언리얼 버전 업데이트에 따라 GameMode는 점점 무거워졌고 그것을 대체할 수 있는 것이 Experience다. UserFacingExperience는 프라이머리 에셋으로 Experience의 단위라고 볼 수 있다.FPS모드가 있고 AOS모드가 있다면 모드별로 UserFacingExperience로 정의한다. UserFacingExperience는 Map과 ExperienceDefinition으로 이루어져 있고ExperienceDefinition안에는 PawnData가 있다. PawnData는 어떤 Pawn을 생성하는지, 입력을 어떻게 하는지, 어떤 능력을 사용 가능한지 정보를 갖는다. Character, PlayerController, PlayerState, GameState 클래스를 만들고 이.. [Unreal] Lyra 프로젝트 분석 - 01. AssetManager Asset Manager은 프라이머리 에셋에 대하여 로딩과 언로딩을 한다. (프라이머리에셋에 대해서는 나중에) 핵심 함수SynchronousLoadAsset(const FSoftObjectPath& ..)동기식으로 로딩한다. 동기: 로딩을 다 하기 전까지 다른 것을 하지 않지만 빠르다. 로딩화면 때 사용됨비동기: 로딩을 하면서 다른 작업과 같이 진행하기 때문에 게임플레이 중 로딩이 필요할 때 사용됨 이 함수는 동기식 로딩 때 문제가 생기는 지 찾기 위해 따로 만든 함수이다. 결국 GetStreamableManager().LoadSynchronous() 함수를 래핑했는데,로딩에 걸리는 시간을 LogTimePtr에 저장하는 것만 추가했을 뿐이다. SynchronousLoadAsset(const FSoftOb.. [알고리즘] 유클리드 호제법을 이용한 최대공약수, 최소공배수 구하기 https://unagi44.wordpress.com/2018/03/23/c-%EC%B5%9C%EB%8C%80%EA%B3%B5%EC%95%BD%EC%88%98-%EA%B5%AC%ED%95%98%EA%B8%B0-%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C-%ED%98%B8%EC%A0%9C%EB%B2%95/ [C++] 최대공약수 구하기 (유클리드 호제법) 예를 보시면 바로 이해가 됩니다. 78696과 19332의 최대공약수를 구하면, 78696 = 19332×4 + 1368 19332 = 1368×14 + 180 1368 = 180×7 + 108 180 = 108×1 + 72 108 = 72×1 + 36 72 = 36×2 위와 같이 최대공약수 unagi44.wordpress.com 최대.. [백준] 1927번 - 최소 힙 , 우선순위 큐 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net https://suyeon96.tistory.com/31 [자료구조] 우선순위 큐와 힙 (Priority Queue & Heap) 1. 우선순위 큐 1.1 우선순위 큐란? 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위 su.. [백준] 17266번 - 이분 탐색 https://www.acmicpc.net/problem/17266 17266번: 어두운 굴다리 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙 www.acmicpc.net https://velog.io/@kimdukbae/%EC%9D%B4%EB%B6%84-%ED%83%90%EC%83%89-%EC%9D%B4%EC%A7%84-%ED%83%90%EC%83%89-Binary-Search [알고리즘] 이분 탐색 / 이진 탐색 (Binary Search) 이진 탐색(이분 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다.이진 탐색은.. 이전 1 2 3 4 5 6 7 ··· 39 다음