기술면접 (4) 썸네일형 리스트형 UNITY 게임개발트랙 - 내일배움캠프 76일차 TIL 내일배움캠프 76일차 TIL 오늘도 오전에 기술면접 예상질문을 풀어보고 팀 프로젝트 개발을 진행했다. 객체를 이동할 때 벡터를 정규화(Nomarlized) 하는 이유에 대해 설명해주세요. 벡터를 정규화하는 가장 큰 이유는 이동속도를 균일하게 유지하기 위해서이다. 벡터를 정규화하면 방향은 유지되고 크기가 1인 단위벡터가 되는데, 이는 우리가 객체를 벡터의 크기와 상관없이 균일한 속도로 이동하고 싶을 때 큰 도움이 된다. 그 외에도 벡터를 정규화하여 물리연산에 사용하면 크기를 고려할 필요가 없으므로 성능 향상에 긍정적인 영향을 끼친다. 월드 스페이스(World Space)와 로컬 스페이스(Local Space)의 차이에 대해 설명해주세요. 월드 스페이스는 게임이나 3D 환경의 전체적인, 절대적인 좌표 시스템.. UNITY 게임개발트랙 - 내일배움캠프 74일차 TIL 내일배움캠프 74일차 TIL 오늘도 오전에 기술면접 예상질문을 풀어보고 팀 프로젝트 개발을 진행했다. 오브젝트 풀링(Object Pooling)이 무엇이며, 어떻게 구현하는지 설명해주세요. 유니티에서 오브젝트를 생성하는 작업과 파괴하는 작업은 많은 리소스를 필요로 하는 무거운 작업이다. 때문에 이러한 작업을 최소화하기 위해, 오브젝트를 미리 여러개 만들어두고 필요할 때마다 꺼내서 사용하고 사용하지 않을 때 다시 넣어둠으로써 메모리를 절약하는 디자인 패턴이 바로 오브젝트 풀링이다. 유니티에서 오브젝트 풀링을 사용하는 방법은 크게 두 가지이다. 유니티에서 제공하는 오브젝트 풀 기능 사용 직접 구현 유니티에서 제공하는 오브젝트 풀을 사용하는 방법은 매우 간단하다. IObjectPool 필드를 선언하고, 필수구.. UNITY 게임개발트랙 - 내일배움캠프 66일차 TIL 내일배움캠프 66일차 TIL 오늘도 오전에 기술면접 예상질문을 풀어보고 팀 프로젝트 개발을 진행했다. 선택정렬과 버블 정렬 선택 정렬 : 주어진 배열에서 최솟값을 찾고, 그 최솟값을 맨 앞값과 바꾸는 과정을 반복하는 정렬 알고리즘이다. 버블 정렬 : 인접한 두 개읜 원소를 비교해서 자리를 교환하는 것을 반복하는 방식으로, 해당 과정이 끝나면 가장 크거나 작은 원소가 마지막 자리로 위치한다. 둘다 시간복잡도는 최악과 최선 상관없이 O(n^2)이어서 대중적으로 잘 쓰이는 정렬 방식은 아니다. public static void BubbleSort(int[] arr) { int n = arr.Length; for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i.. UNITY 게임개발트랙 - 내일배움캠프 55일차 TIL 내일배움캠프 55일차 TIL 오늘도 오전에 기술면접 예상질문을 풀어보고 팀 프로젝트 개발을 진행했다. 가비지 컬렉션 C#은 개발자가 메모리를 직접 관리할 필요가 없도록 메모리 관리를 자동화하기 위해 가비지 컬렉션 기능을 제공한다. 객체를 생성할 때 자동으로 메모리가 할당되는데, 해당 객체가 필요하지 않을 때, 가비지 컬렉터가 개발자 대신 할당된 메모리를 해제하는 작업을 수행한다. 더 이상 참조되지 않는 객체를 찾아서 자동으로 메모리를 해제하는 방식이다. 가비지 컬렉션이란 해당 작업을 의미하며, 이 작업을 수행하는 주체가 가비지 컬렉터이다. 팀 프로젝트 개발 - 절차적 맵 생성 : 맵 구조 다양화, 버그 수정 맵을 생성할 때, 한쪽 방향으로만 생성되는 버그가 있었다. 방 하나를 생성하면, 이전 방과 연결된.. 이전 1 다음