목록전체 글 (267)
Deff_Dev

1. 유니티 최적화 기법은 어떤 것들이 있나요?최적화를 해본 적이 있나요? 없다면 어떤 최적화가 있는지 설명해주세요.GetComponent 및 객체 생성 최적화문제: GetComponent는 비용이 높은 연산이며, new로 객체를 생성하면 힙 메모리에 계속 할당된다.해결: 자주 사용되는 컴포넌트는 캐싱하고, 객체 풀링(Object Pooling)을 사용해 객체 재사용한다.Coroutine 최적화문제: StartCoroutine은 메모리 할당을 동반하므로 자주 시작/중단하는 것은 비효율적이다.해결: 시작/중단을 자주하는 기능은 코루틴이 아닌 다른 방법을 사용한다.ex) UniTask문자열 최적화문제: 문자열 비교와 연결은 새로운 문자열을 생성하며, 이는 메모리 상으로 비효율적이다.해결: 문자열 비교는 변수..
Predicate반환 값이 반드시 Bool이고 입력 파라미터가 1개인 Delegate이다.반환 타입을 정해야줘야 하는 Func와 달리 Bool 타입으로 고정이기 때문에 사용 목적을 명확하게 전달할 수 있다.List numbers = new List { -1, 5, 0, -3, 10 };// Predicate 정의Predicate isPositive = delegate (int x){ return x > 0;};// 리스트에서 조건을 만족하는 요소 찾기int firstPositive = numbers.Find(isPositive);Console.WriteLine("첫 번째 양수: " + firstPositive);중복 제거한 랜덤 요소 반환 프레임 워크HashSet을 이용한 중복제거 코드를 모든 타입..

1. 코루틴의 동작원리에 대해 설명해주세요.Coroutine은 IEnumerator를 이용하여 함수를 작성하고 yield return을 사용하여 특정 조건이 충족될 때까지 실행을 일시 중단하고, 그 후에 실행한다.StartCoroutine을 이용하여 해당 Coroutine을 실행할 수 있고, Unity의 메인 스레드에서 동기적으로 처리된다. YieldInstructions 키워드더보기FixedUpdate 이후yield return new WaitForFixedUpdate()모든 스크립트의 FixedUpdate 함수가 실행이 끝난 후에 yield return new WaitForFixedUpdate() 이후 내용을 실행합니다.Update 이후yield return null현재 프레임의 모든 Update 함..

1. Time.timeScale을 0으로 하면 Update와 FixedUpdate는 모두 호출이 되지 않을까요? 그 이유는 무엇일까요?Update와 FixedUpdate는 timeScale에 영향을 받기 때문에 호출되지 않는다.Time.timeScale을 0으로 설정하면 게임의 시간 흐름이 멈추게 되어, 시간에 의존하는 Update와 FixedUpdate는 실행되지 않는다.2. Update의 호출주기에 영향을 주는 것은 무엇일까요?컴퓨터의 프레임에 영향을 받는다. (프레임 당 Update 호출)즉, 프레임 당 한 번씩 호출되기 때문에, FPS가 높은 컴퓨터에서는 Update가 더 자주 호출되고, FPS가 낮은 컴퓨터에서는 Update가 덜 자주 호출된다.이를 보정하기 위해 Time.deltaTime을 사..

[Unity/C#] 큐 (Queue)해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. Queue 요소 추가와 삭제의 위치가 양 끝으로 나누어진 자료구조 FIFO (First In Firstdeff-dev.tistory.com1. Queue가 무엇인지 알고 있나요? 어떤 방식으로 작동하는지 설명할 수 있을까요?데이터를 저장하고 관리하는 자료구조 중 하나로, 요소 추가와 삭제의 위치가 양 끝으로 나누어져 있다.2. Queue의 특성을 설명해주세요.선입선출 (FIFO, First In First Out)먼저 저장된 데이터가 먼저 나간다.연산 속도큐는 양 쪽 끝에서만 삽입/삭제가 일어나기 때문에 Enqueue, Dequeue, Peek등을 사용할 때,..