일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- inputsystem
- 유니티
- 배열
- 메서드
- 자료구조
- 유한상태머신
- InputManager
- 스택
- script
- 스파르타내일배움캠프
- LINQ
- delegate
- ObjectPool
- 람다식
- soundmanager
- 효과음
- UI
- BGM
- Generic
- invokec#events
- FSM
- 코루틴
- c#
- 직렬화
- 프로그래머스
- 장애물달리기
- unity
- 비선형자료구조
- 인터페이스
- skybox
- Today
- Total
목록2024/07 (19)
Unity 개발일지
[Behaviour Tree란?]간단히 말하면 Behaviour(행동)을 Tree 구조로 만들어 AI의 행동을 제어하는 것이다. BT라고 줄여서 쓰기도 한다. Tree는 Node를 저장하는 하나의 컨테이너로Node는 int, float, string, char 등의 기본적인 타입을 저장하는 공간이라고 생각하는 경우가 많은데,Node는 사용자가 정의할 수 있는, 혹은 미리 정의된 모든 타입이 저장될 수 있다. 즉, Behaviour Tree의 Node 내부에 저장되는 것은 행동이라 말하는 코드조각들을 저장하는 것이다. Behaviour Tree에는 Tree의 Root역할을 하는 Task가 존재하며, 깊이 우선 순위(DFS)로 작업을 실행작업의 순서는 왼쪽에서 시작하여 -> 오른쪽 순서로 진행 1. 루트(..
[멀티플레이 동기화는 TCP 일까? UDP일까?]TCP(Transmission Control Protocol)TCP는 전송을 제어하는 프로토콜(규약)이라는 뜻으로 풀어쓰면 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이다. 주로 전송 계층에서 사용하는 프로토콜로, 연결 지향적이며 신뢰성 있는 데이터 전송을 보장한다. TCP는 데이터 패킷의 순서와 무결성을 확인하며, 패킷 손실 시 재전송을 요청한다. 주로 웹 페이지, 이메일, 파일 전송 등에 사용된다. 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리한다.TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용하는데, 그렇다면 '비연결형인 서비스..
[프로세스와 스레드의 차이는 무엇일까?]프로세스를 이해하기 위해서는 일단 프로그램이 무엇인지 알아야 한다. 프로그램은 윈도우의 exe 파일이나 맥의 dmg 파일과 같은 컴퓨터에서 실행할 수 있는 파일을 통칭한다.아직 파일을 실행하지 않은 상태이기 때문에 정적 프로그램(Static Program) 줄여서 Program이라고 부른다.즉, 프로그램은 쉽게 말해 그냥 코드 덩어리인 것이다. 는 실행 중인 프로그램의 인스턴스로, 각 프로세스는 별도의 메모리 공간을 가지고 독립적으로 실행된다.프로세스는 프로그램을 실행 시켜 정적인 프로그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태를 말한다. 즉, 컴퓨터에서 작업중인 프로그램을 의미한다. 모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해 줘야 실행..
[확인문제] 1. 아래와 같이 코드를 작성하고 오브젝트에 작성한 스크립트 컴포넌트를 추가했습니다.public class SomeClass : MonoBehaviour{ [SerializeField] private int intValue = 2; private void Start() { Debug.Log(intValue); }}인스펙터에서 intValue의 값을 3으로 변경하고, intValue 앞에 선언된 [SerializeField]를 제거헀습니다.private int intValue = 2;이 때 Debug.Log(intValue); 의 출력 결과는 어떻게 될까요?더보기Debug.Log(intValue);의 출력 결과는 2가된다. SerializeField를 제거하면, ..
[확인문제] 1. Graph가 무엇인지 알고 있나요?더보기Graph는 노드(Node)와 그 노드들을 연결하는 간선(Edge)으로 구성된 자료구조이다.그래프는 여러 형태로 나타날 수 있으며, 노드와 간선의 개수, 방향성, 가중치 여부 등에 따라 분류된다. 2. Tree는 Graph인가요? Graph는 Tree인가요?더보기Tree는 Graph의 일종으로, 트리는 사이클이 없는 연결된 그래프이다.반대로 모든 Graph가 Tree인 것은 아니다. Graph는 사이클이 있을 수도 있고, 연결되지 않을 수도 있다. 3. NavMesh가 길찾기를 위해 사용하는 알고리즘은 무엇인가요?더보기NavMesh는 일반적으로 A* (A-star) 알고리즘을 사용합니다. A* 알고리즘은 휴리스틱을 사용하여 최단 경로를 효율적으로 ..
[확인문제] 1. Tree가 무엇인지 알고 있나요? Tree의 종류에는 어떤 것들이 있나요?더보기Tree는 계층적인 구조를 가지는 데이터 구조로, 노드(Node)와 간선(Edge)으로 이루어져 있다. 루트 노드(Root Node)에서 시작하여 각 노드는 자식 노드(Child Node)를 가질 수 있다. 대표적인 트리의 종류로는 이진 트리(Binary Tree), AVL 트리, 이진 탐색 트리(Binary Search Tree), B 트리, 힙(Heap) 등이 있다. 2. 다음의 트리를 DFS로 방문할 때와 BFS로 방문할 때의 순서가 어떻게 될까요?더보기DFS (Depth-First Search) 순서: 1 -> 2 -> 6 -> 9 -> 3 -> 7 -> 4 -> 8 -> 5BFS (Breadth-Fi..
[확인문제] 1. 메모리 최적화 방법에 대해 알고 있는 것이 있나요? - a. POT(Power of Two) 텍스쳐에 대해 설명해주세요. - b. 아틀라스에 대해 설명해주세요. - c. 오브젝트 풀에 대해 설명해주세요.더보기 POT(Power of Two) 텍스쳐POT 텍스처는 가로와 세로의 길이가 2의 제곱수(예: 128x128, 256x256)로 이루어진 텍스처를 의미한다.이러한 텍스처는 GPU에서 메모리를 효율적으로 사용하고 빠르게 처리할 수 있다.또한 Mipmap을 생성할 때도 유리합니다. * Mipmap : 3차원 그래픽스의 텍스처 매핑 분야에서, 밉맵(mipmap)은 렌더링 속도를 향상시키기 위한 목적으로 기본 텍스처와 이를 연속적으로 미리 축소시킨 텍스처들로 이루어진 비트맵 이미지의 집합이..
[확인문제] 1. InvokeRepeating을 통해 반복 실행 중인 메서드는 오브젝트를 비활성화하면 멈출까요?더보기InvokeRepeating은 MonoBehaviour와 연관되어 있기 때문에 오브젝트가 비활성화 되더라도 계속 실행된다.(오브젝트 비활성화는 MonoBehaviour 자체의 기능을 막지 못하기 때문!) 오브젝트 비활성화를 통해 InvokeRepeating 메서드를 멈추고 싶다면 CancelInvoke()를 직접 호출하거나,OnDisable() 콜백 함수를 사용하여 오브젝트 비활성화 시점에 InvokeRepeating을 중단하도록 코드를 작성한다. 2. Coroutine을 통해 반복 실행 중인 메서드는 오브젝트를 비활성화하면 멈출까요?더보기Coroutine은 MonoBehaviour와 연관..