-
24년 7월 18일 TIL공부 기록 2024. 7. 18. 12:15
최적화 기법
POT 텍스처
아틀라스
유니티 프로파일러
배치( Batch)
SetPassCall
유니티의 최적화 기법
배칭, 텍스처아틀라스, 오브젝트풀링, LOD(거리에 따라 디테일 수준 결정), 컬링(카메라에 보이지 않는 것 렌더링 X)
압축 및 텍스처 포멧
텍스처 포멧
- DXT1/5 (S3TC): 주로 PC와 콘솔에서 사용되며, 압축률이 높아 메모리 사용량을 줄입니다.
- ETC1/2: 모바일 플랫폼에서 많이 사용되는 압축 포맷입니다.
- PVRTC: iOS 장치에서 사용되는 포맷으로, 높은 압축률과 품질을 제공합니다.
- ASTC: 최신 모바일 장치에서 사용되며, 유연한 압축률과 높은 품질을 제공합니다.
드로우 콜 최적화
배칭, 텍스처 아틀라스, 인스턴싱,
배칭 : 동일한 머터리얼 사용시 오브젝트를 그룹화 한 후에 한 번에 렌ㄷ더링,
텍스처 아틀라스 : 여러 텍스처를 하나로 결합하여 드로우콜 수 줄임
인스턴싱 : 동일한 메쉬를 여러 번 그릴 때 한 번의 드로우콜로 처리 할 수 있도록 함.
최적화 기법들 뭐뭐 있는지 정리하기.
1.
Tree란 계층적 데이터를 나타내기 위한 자료 구조입니다. 각 노드는 부모와 자식관계를 가지며, 루트 노드로부터 시작하여 하위 노드로 확장 됩니다. 트리는 순환이 없는 그래프의 형태,
Tree의 종류에는 여러가지가 있습니다.
대표적으로 이진트리, 이진 탐색 트리, AVL 트리, 레드 - 블랙 트리, B-.트리, 트라이, 힙이 있습니다.
이진트리: 각노드가 최대 두 개의 자식을 가지는 트리
이진탐색트리 : 이진 트리의 일종으로 왼 쪽 자식 노드는 부모 노드보다 작고, 오른 쪽 자식 노드는 부모 노드보다 큼
AVL 트리 : 이진 탐색 트리의 일종으로, 각 노드의 균형을 유지하여 탐색 시간을 최적화
레드 - 블랙 트리 : 균형을 유지하는 이진 탐색 트리로써 삽입과 삭제 시 균형을 유지하는 규칙이 있음
B - 트리 : 데이터베이스와 파일 시스템에서 많이 사용 하는 균형 트리, 다수의 자식을 가질 수 있음.
트라이 : 문자열 탐색을 위한 트리 각 노드가 문자열의 문자를 나타냄.
힙 : 우선 순위 큐를 구현 하는 트리로 최대 힙과 최소 힙으로 나뉨.
2.
DFS는 한 방향으로 끝까지 탐색 한 후에 다시 돌아와 다른 방향을 탐색하는 방식입니다.
BFS는 현재 노드의 모든 자식을 방문한 후에 다음 깊이로 이동하는 방식입니다.
그래서 DFS로 방문을 하게 될경우 순서는 1 -2 -3 - 6 - 9 - 7 -4 - 8 -5 가 됩니다.
그리고 BFS로 방문을 할 경우에는 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -9 가 됩니다.
3.DFS는 한 방향으로 끝까지 맵을 탐색 한 후에 다른 방향을 탐색 합니다. BFS는 현재 위치에서 모든 방향을 방문 한 후에 다음 깊이로 가서 거기서 모든 방향을 탐색 합니다.
그래서 지금과 같은 미니맵 형식에서는 DFS가 더 적절 할 것 같습니다.
보통 현재 위치로부터 보스방까지 가는 경우는 처음과 끝인 경우인데 끝을 찾을 경우에는 DFS가 더 적절할 것 같습니다.
하지만 사진상에서는 보스방이 바로 옆에 있습니다. 이 경우에는 BFS을 사용 하는 것이 훨씬 빠릅니다.- 전위 순회(Preorder Traversal): 루트 노드를 먼저 방문하고, 왼쪽 자식을 순회한 다음, 오른쪽 자식을 순회합니다.
- 순서: Root → Left → Right
- 중위 순회(Inorder Traversal): 왼쪽 자식을 먼저 순회하고, 루트 노드를 방문한 다음, 오른쪽 자식을 순회합니다.
- 순서: Left → Root → Right
- 후위 순회(Postorder Traversal): 왼쪽 자식을 먼저 순회하고, 오른쪽 자식을 순회한 다음, 루트 노드를 방문합니다.
- 순서: Left → Right → Root
- 레벨 순회(Level Order Traversal): 트리의 각 레벨을 차례대로 순회합니다. BFS와 같은 방식으로 구현됩니다.
- 순서: 각 레벨을 좌에서 우로
나중에 자료구조 공부하기.
트리를 사용해서 이 기능을 이렇게 구현 해봤다 이런 식으로 정리 하기.
DFS - 출구 탐색
BFS - 최단경로 탐색
트리 자료구조. 사용방법 알고리즘
행동 트리에 대해 설명 .
행동 트리(Behaviour Tree)는 인공지능(AI) 시스템에서 사용되는 트리 구조의 모델로, 캐릭터나 객체의 행동을 결정하는 데 사용됩니다. 행동 트리는 간단한 행동들을 조합하여 복잡한 행동을 생성할 수 있도록 합니다.
주요 구성 요소:
- 루트(Root): 트리의 시작점입니다.
- 노드(Node): 각각의 행동이나 조건을 나타냅니다. 일반적으로 세 가지 유형의 노드가 있습니다:
- 액션 노드(Action Node): 특정 행동을 수행합니다.
- 조건 노드(Condition Node): 특정 조건을 평가합니다.
- 제어 노드(Control Node): 하위 노드의 실행 순서를 제어합니다. 예를 들어, 선택자(Selector)와 순차자(Sequence)가 있습니다.
주요 제어 노드:
- 선택자(Selector): 자식 노드들을 순차적으로 실행하며, 첫 번째 성공하는 노드에서 멈춥니다.
- 순차자(Sequence): 자식 노드들을 순차적으로 실행하며, 모든 자식 노드가 성공해야 전체가 성공으로 간주됩니다.
사용 사례:
- 게임 AI: NPC(Non-Player Character)의 행동을 결정하는 데 널리 사용됩니다. 예를 들어, 경계, 순찰, 공격 등의 행동을 제어합니다.
- 로봇 공학: 로봇의 행동 계획을 구성하는 데 사용됩니다.
행동 트리는 직관적이고 모듈화된 방식으로 복잡한 행동을 설계할 수 있어, 게임 개발과 로봇 공학에서 많이 활용됩니다.
//
나중에 정리하기.
JSON 방법
'공부 기록' 카테고리의 다른 글
24년 7월 24일 TIL (0) 2024.07.24 24년 7월 19일 TIL (0) 2024.07.19 24년 7월 17일 TIL (0) 2024.07.17 24년 7월 16일 TIL (0) 2024.07.16 24년 7월 15일 TIL (0) 2024.07.15