[면접대비] Unity(1)
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
Unity에서 스크립트를 GameObject의 컴포넌트로 사용할 수 있게 해주는 기본 클래스입니다. 이를 상속하면 Awake, Start, Update같은 Unity의 생명 주기 함수를 사용할 수 있습니다.
Awake는 객체가 로드될 때 초기화 용도로 호출되고, OnEnable은 객체가 활성화될 때마다 호출됩니다. Start는 첫 번째 프레임 업데이트 전에 한 번 호출되며 일반적으로 Awake → OnEnable → Start 순서입니다
Update는 매 프레임 호출되어 입력이나 일반 로직에 사용하고, FixedUpdate는 고정된 시간 간격으로 호출되어 물리 처리에 사용합니다. LateUpdate는 Update이후 호출되어 카메라 추적처럼 다른 객체의 처리가 끝난 뒤 실행할 로직에 사용합니다.
OnDisable은 GameObject나 컴포넌트가 비활성화될 때 호출되고 다시 활성화되면 또 호출될 수 있습니다.
OnDestroy는 해당 객체가 파괴될 때 호출됩니다
객체가 생성되면 Awake → OnEnable → Start가 호출되고 이후 FixedUpdate → Update → LateUpdate 등의 업데이트 과정이 반복됩니다. 비활성화되면 OnDisable, 파괴되면 OnDestroy가 호출됩니다
Time.deltaTime은 이전 프레임부터 현재 프레임까지 걸린 시간입니다. 이동이나 시간 기반 로직에 곱해서 프레임 속도와 관계없이 일정하게 동작하도록 사용합니다.
Time.timeScale은 Unity에서 게임 시간이 흐르는 속도를 조절하는 값입니다. 기본값은 1이고 0으로 설정하면 deltaTime 기반 게임 로직이나 물리 처리를 정지시킬 수 있습니다.
GameObject는 Unity Scene에 존재하는 객체의 기본단위입니다. 실제 기능은 Transform, Rigidbody, 사용자 스크립트 같은 Componenet를 붙여 구성합니다
Transform은 GameObject의 위치, 회전, 크기와 부모-자식 계층 구조를 관리하는 컴포넌트입니다. 모든 GameObject는 Scene에서 공간적 정보와 계층 관계를 가져야 하기 때문에 기본적으로 포함됩니다
SetActive(false)는 GameObject 자체를 비활성화해서 자식과 붙어 있는 컴포넌트의 동작까지 비활성화합니다. 반면 enabled = false는 해당 컴포넌트만 비활성화합니다.
Prefab은 GameObject와 그 컴포넌트 설정을 재사용 가능한 에셋 형태로 저장한 템플릿입니다. 같은 구조의 객체를 여러 번 생성하거나 일관되게 관리할 때 사용합니다
Prefab은 Project에 저장되어 있는 원본 에셋이고, Prefab Instance는 해당 Prefab을 기반으로 Scene에 생성된 객체입니다
기존 Prefab을 상속받아 일부 속성이나 컴포넌트만 변경한 Prefab입니다. 공통 구조는 유지하면서 여러 종류의 객체를 만들 때 유용합니다
반복적인 생성과 제거는 메모리 할당 및 해제와 초기화 비용을 발생시키고 GC로 인한 프레임 드랍으로 이어질 수 있습니다
총알이나 몬스터처럼 반복적으로 생성하고 제거하는 객체를 미리 생성해두고 재사용하여 Instantiate와 Destroy호출을 줄이는 기법입니다. 이를 통해 생성 비용과 메모리 할당을 줄일 수 있습니다
SceneManager.LoadScene()을 사용해서 다른 Scene을 로드할 수 있습니다. 로딩 시간이 긴 경우에는 LoadSceneAsync()를 사용해 비동기 로드할 수도 있습니다
LoadScene은 Scene 로딩이 완료될 때까지 메인 스레드의 작업을 막을 수 있지만, LoadSceneAsync는 로딩 작업을 여러 프레임에 걸쳐 진행할 수 있어 로딩 화면이나 UI를 계속 갱신할 수 있습니다
DontDestroyOnLoad를 적용한 GameObject는 Scene이 전환되어도 제거되지 않고 유지됩니다. 게임 매니저, 오디오 매니저처럼 여러 Scene에서 계속 사용해야하는 객체에 주로 사용됩니다
Unity 면접 대비 입력, 카메라/이동/AI, 에셋/빌드
Unity 면접 대비 렌더링/그래픽, 메모리/최적화
Unity 면접 대비 애니메이션, UI