[면접대비] Unity(3)

muchan
muchan
∙∙조회 8

애니메이션

Animator와 Animation Clip의 관계를 설명해주세요.

Animation Clip은 캐릭터의 위치, 회전, 본 등의 실제 애니메이션 데이터를 담고 있고, Animator는 여러 Animation Clip의 재생과 전환을 제어하는 컴포넌트입니다.

Animator Controller란 무엇인가요

Animator Controller는 Animation Clip들을 State로 구성하고, 상태 간 전환 조건과 흐름을 관리하는 에셋입니다. 이를 Animator에 연결하여 캐릭터의 애니메이션을 제어합니다.

Animator의 Parameter에는 어떤 것들이 있나요

Float, Int, Bool, Trigger 네 종류가 있습니다. Parameter를 이용해 이동 속도나 공격 여부 같은 게임 상태에 따라 애니메이션 전환을 제어할 수 있습니다.

Trigger와 Bool Parameter는 어떤 차이가 있나요

Bool은 true/false 상태를 지속적으로 유지하지만, Trigger는 공격이나 점프처럼 한 번 발생하는 이벤트를 전달하는 데 적합하며 전환에 사용되면 자동으로 소비됩니다.

Animation Event란 무엇인가요

Animation Clip의 특정 시점에 함수를 호출할 수 있는 기능입니다. 예를 들어 공격 애니메이션의 타격 순간에 효과음이나 이펙트 같은 처리를 실행할 수 있습니다.

Root Motion이란 무엇인가요

애니메이션 자체에 포함된 캐릭터의 이동과 회전 값을 실제 GameObject의 움직임에 반영하는 기능입니다. 코드가 아니라 애니메이션을 기준으로 캐릭터를 이동시킬 때 사용합니다.

Blend Tree란 무엇인가요

하나 이상의 Animation Clip을 Parameter 값에 따라 자연스럽게 혼합하는 기능입니다. 예를 들어 이동 속도에 따라 Idle, Walk, Run 애니메이션을 부드럽게 연결할 수 있습니다.

UI

Canvas란 무엇인가요

Canvas는 Unity UI 요소를 배치하고 렌더링하기 위한 최상위 영역입니다. Image, Text, Button 같은 UI 요소는 기본적으로 Canvas 아래에 배치됩니다.

Screen Space - Overlay, Screen Space - Camera, World Space의 차이는 무엇인가요

Overlay는 카메라와 관계없이 화면 위에 직접 UI를 표시하고, Camera는 지정된 카메라를 기준으로 렌더링합니다. World Space는 UI를 3D 공간의 오브젝트처럼 배치하는 방식입니다.

RectTransform과 Transform의 차이는 무엇인가요

Transform은 일반 GameObject의 위치, 회전, 크기를 관리하고, RectTransform은 UI에 특화되어 여기에 Anchor, Pivot, Width, Height 등의 사각 영역 정보를 추가로 관리합니다.

Anchor와 Pivot의 차이는 무엇인가요

Anchor는 부모 RectTransform을 기준으로 UI가 배치되는 기준점을 결정하고, Pivot은 해당 UI 자신의 위치, 회전, 크기 변경의 기준점을 결정합니다.

다양한 해상도에 대응하기 위해 Unity UI를 어떻게 구성하나요

Anchor를 이용해 부모 UI에 대한 상대적인 위치를 설정하고 Canvas Scaler를 사용해 기준 해상도에 맞춰 UI 크기를 조절합니다. 모바일에서는 Safe Area도 함께 고려할 수 있습니다.

Canvas Scaler의 역할은 무엇인가요

화면의 해상도나 크기에 따라 Canvas 내부 UI의 크기를 조절하는 컴포넌트입니다. 일반적으로 Scale With Screen Size와 기준 해상도를 설정해 다양한 해상도에 대응합니다.

UI가 많아질 때 성능상 주의해야 할 점은 무엇인가요

UI가 변경되면 Canvas의 배치나 Mesh를 다시 계산하는 Rebuild가 발생할 수 있습니다. 자주 변경되는 UI와 고정된 UI를 Canvas로 분리하고 불필요한 갱신을 줄이는 것이 중요합니다.

Canvas가 Dirty/Rebuild되는 경우와 이것이 성능에 미치는 영향은 무엇인가요

UI의 위치, 크기, 텍스트 등의 값이 변경되면 Canvas의 일부 요소가 Dirty 상태가 되어 Layout이나 Graphic Rebuild가 발생할 수 있습니다. 요소가 많은 Canvas에서 빈번하게 발생하면 CPU 비용이 증가할 수 있습니다.