Unity Flashcards

Unity 관련 개발자 면접 질문 정리

1
Q

MonoBehaviour의 이벤트 함수 주기는 어떻게 되는가?

A

Awake, OnEnable, Start, FixedUpdate, Update, LateUpdate, OnDisable, OnDestroy의 순서를 갖습니다.
[Awake]
객체가 인스턴스화 될 때 호출됩니다.
[OnEnable]
게임 오브젝트가 활성화 될 때마다 호출됩니다.
[Start]
컴포넌트가 활성화 되었을 때 Update 호출 전, 첫 프레임에 단 한 번만 호출됩니다.
[FixedUpdate]
고정 시간을 갖는 이벤트로, 물리를 다룰 때 사용합니다.
[Update]
가변 시간을 갖는 이벤트로, 매 프레임마다 호출됩니다.
[LateUpdate]
다른 모든 Update가 완료된 후에 호출됩니다.
[OnDisable]
게임 오브젝트가 비활성화 될 때마다 호출된다.
[OnDestroy]
게임 오브젝트가 파괴될 때마다 호출되며, 리소스 해제에 사용합니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Coroutine은 무엇이고 내부적으로 어떻게 동작하는가?

A

실행을 일시 중지한 뒤, 중단했던 위치에서 다음 프레임을 계속 진행할 수 있는 함수로, StartCoroutine() 메소드를 통해 실행됩니다. 내부적으로는 MoveNext() 메소드를 통해 함수 내부의 yield 문 또는 메소드의 끝을 만날때까지 실행시키고, yield 문을 만나면 함수 실행을 잠시 멈춘 다음 yield 문에 따라 현재 프레임을 끝냅니다. 이후에는 다음 프레임 혹은 일정 시간 뒤에 다시 MoveNext() 메소드를 통해 반환되었던 곳부터 메소드를 실행시킵니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Unity C#과 MS C#의 차이점은 무엇인가?

A

Unity C#에서는 코루틴을 사용하여 비동기 작업을 처리하고 게임 로직을 관리하는 데 특화된 기능을 제공합니다. 그리고 Unity C#에서는 Unity 엔진에서 사용되는 특정 네임스페이스와 어셈블리가 있습니다. 이와 달리 Microsoft C#에서는 .NET 프레임워크 및 .NET Core의 네임스페이스와 어셈블리를 사용합니다. 마지막으로 Unity C#은 IL2CPP나 Mono 컴파일러를 사용하는 반면 MS C#은 Roslyn 컴파일러를 사용합니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Transform과 RectTransform의 차이점은 무엇인가?

A

Transform은 모든 Unity 게임 오브젝트에 기본으로 포함된 컴포넌트로, 위치, 회전, 크기 등을 조절합니다.
이와 달리 RectTransform은 UI 요소의 위치 및 크기를 조절하는 데 사용됩니다. Unity의 UI 시스템에서 사용되며, 일반적으로 캔버스 내에 배치되며, 위치, 앵커, 크기 등을 조절합니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Meta 파일이란 무엇인가?

A

Unity에서는 프로젝트의 각 에셋에 대한 정보를 저장하는 메타 데이터 파일이 존재합니다. 이러한 파일은 .meta 확장자를 가지며, 해당 에셋 파일과 동일한 이름을 가집니다. 메타 파일에는 해당 에셋의 설정, 인코딩, 타입 및 종속성 등의 정보가 포함됩니다. Meta 파일의 주요 역할은 에셋 관련 정보 저장과 인코딩 및 플랫폼 종속성 저장과 에셋의 종속성 저장 그리고 에셋의 GUID 관리가 있습니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

렌더링 파이프라인에 대해서 설명하라.

A

3D 장면을 2D 화면에 표시하기 위한 일련의 처리 과정을 말합니다. 애플리케이션 단계, 지오메트리 단계, 래스터라이제이션 단계, 프래그먼트 셰이딩 단계, 출력 병합 단계와 같은 각 단계의 특정 작업을 수행하여 최종 이미지가 생성됩니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

지오메트리 단계란?

A

모델 변환, 뷰 변환, 프로젝션 변환, 클리핑, 화면 좌표 변환을 하는 단계입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

애플리케이션 단계란?

A

게임 로직 및 그래픽 API를 호출하는 단계입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

래스터라이제이션 단계란?

A

3D 지오메트리를 2D 프래그먼트로 변환하는 단계입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

프래그먼트 셰이딩 단계란?

A

프래그먼트의 색상을 계산하는 단계입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

출력 병합 단계란?

A

깊이 테스트, 스텐실 테스트, 블렌딩 등을 통해 최종 이미지를 생성하는 단계입니다.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly