26.09.17 ~ 26.09.27
·
일지
보호되어 있는 글입니다.
게임 플레이 입력 처리
·
Unreal
게임플레이 프레임워크 (언리얼 공식 문서)https://dev.epicgames.com/documentation/unreal-engine/gameplay-framework-in-unreal-engine?application_version=5.8 Gameplay Framework in Unreal engine | Unreal Engine 5.8 Documentation | Epic Developer CommunityUnreal Engine provides several core game systems such as game mode, player state, controllers, pawns, cameras, and so on.dev.epicgames.com 레벨에 배치하거나 스폰할 수 있는 오브젝트의 기..
쿼드트리
·
알고리즘
쿼드트리란?2차원 공간을 재귀적으로 네 영역으로 분할하여 관리하는 계층적 자료구조1 . 최대 깊이2. 객체가 네 자식영역 중 하나에 완전히 포함되는지 확인3. 포함되면 해당 영역을 또 분할하고 객체를 자식 노드로 내려보냄4. 여러 자식 영역에 걸쳐있음녀 객체를 현재 노드에 저장더이상 분할하지 못하면 멈춤쿼드 트리의 주요 연산삽입삭제범위 검색검색 영역하고 충돌할 노드들만 충돌판정 진행멀리 떨어져있는 애들은 검사할 필요없으니겹치는 노드들만 충돌 판정하거나 범위 검색검사를 줄이는데 사용한다영역을 다룰때 최적화를 하는것.필터링하려고최적화에대해 알아두라, 많은 계산을 해야하는데 계산을 줄이거나 건너뛰는 방법이 최적화쿼드트리 특징각 노드는 하나의 사각형 영역을 담당노드를 분할하면 네 개의 자식노드가 생성(균등 분할..
A* 알고리즘
·
알고리즘
A*알고리즘시작 지점에서 목표 지점까지 이동하는 경로를 찾는 탐색 알고리즘게임 캐릭터 이동, 로봇의 경로 탐색, 네비게이션 등에서 활용A* 는 지금까지 실제로 이동한 비용과 목표까지 남았다고 예상하는 비용을 함께 사용하여,이를 통한 불필요한 방향의 탐색을 줄이는 탐색A* 속도적인 측면에서도 좋고,, 최단경로를 빨리 구할 수 있도록 하는 알고리즘이 많이 등장함A*에서 사용하는 비용g(n) : 시작 노드에서 현재 노드까지 실제로 이동한 누적 비용h(n) : 현재 노드에서 목표 노드까지 남았다고 추정한 비용f(n) : 해당 노드를 거쳐 목표까지 이동할 것으로 예상되는 전체 비용f(n) = g(n) + h(n)Open 목록, Closed 목록A* 에서는 탐색할 노드를 관리하기 위해 2개의 목록을 사용Open 목..
다익스트라 알고리즘
·
알고리즘
다익스트라 알고리즘하나의 시작 노드에서 다른 모든 노드까지의 최단 거리를 구하는 알고리즘간선의 가중치에 음수가 없는 그래프에서만 사용 가능원리현재까지 발견한 경로 중 가장 거리가 짧은 노드부터 확정시작 노드의 거리를 0으로 설정하고 나머지 노드의 거리는 무한대 INF 로 설정함아직 처리하지 않은 노드 중 거리가 가장 짧은 노드를 선택선택 노드를 중간 경유지로 하였을 때, 기존에 알던 거리보다 더 짧은지 확인더 짧은 경로를 발견하면 최단 거리 갱신모든 노드 반복우선순위 큐를 사용하는 이유매번 최단 거리가 가장 작은 노드를 찾아야함최소 힙 우선순위 큐를 사용하면 가장 가까운 노드를 꺼낼 수 있따.priority_queue, vector>, greater> pq;pair 에는 {거리, 노드 번호} 값을 저장,..
복사 생성자
·
C++
복사 생성자란?생성자를 호출하는 객체와 동일한 타입의 객체를 인자로 전달받아, 전달받은 객체와 동일하게 객체를 구성(=복사)하는 생성자class Player{public:Player(){ std::cout 실행결과Player() callPlayer(int number) callPlayer(const Player& other) call생성자 오버로딩생성자는 매개변수의 형태에 따라 오버로딩할 수 있다.생성자 오버로딩 : 매개변수의 개수나 타입이 다른 생성자를 여러 개 정의객체를 생성할 때 전달한 인수에 맞는 생성자가 호출된다.Player player3(player2) : 같은 타입의 객체를 전달하여 복사 생성자를 호출한다.복사 생성자같은 타입의 기존 객체로 새 객체를 초기화Player(const Pla..