-
<1일차> 유니티 기초유니티 기초 프로그래밍 교육 2024. 1. 29. 14:43
1. Unity Editor
1. Scene
GameObject로 구성되어 있으며 장애물, 장식 등을 배치할 수 있다. scene window에서는 오브젝트를 선택하고 위치를 이동시키며 회전시키고 크기를 조절할 수 있다. 게임의 시각적 요소를 직관적으로 조작하고 테스트할 수 있는 강력한 도구로 이를통해 게임이 사용자들에게 어떻게 보일지 예측하고 최적화할 수 있다.
2. Hierarchy
현재 씬에 있는 모든 게임 오브젝트들을 트리 구조로 표시한다. 게임 오브젝트들의 순서나 계층을 드래그 앤 드롭으로 쉽게 변경할 수도 있고 오브젝트를 추가, 삭제, 조정할 수 있다.
3. Inspector
게임 오브젝트의 세부 속성과 컴포넌트를 볼 수 있고, 이를 수정할 수 있다. 또한 사용자 정의 컴포넌트의 속성을 표시하고 편집할 수 있다.
4. Project
개발 중인 프로젝트의 모든 자선(Assets)과 파일을 관리하는 데 사용된다. 게임에 사용되는 스크립트, 모델, 텍스처, 오디오 파일 등을 포함한다.
5. Game window
게임 개발 중에 게임이 실제로 어떻게 보이고 작동하는지 확인할 수 있는 중요한 도구이다. 다양한 디바이스와 화면에서 어떻게 보일지 테스트할 수 있다. 'Play'버튼을 눌러 실제 게임처럼 플레이해볼 수 있고, 디버깅과 게임 성능 분석, 오디오와 그래픽 테스트도 용이하다.
2. Unity의 생명 주기
유니티의 C# 스크립트는 Monobehaviour 클래스를 상속받아 만들어지며, 이 클래스를 상속받은 오브젝트는 Scene에 있는 동안 엔진에서 일정한 흐름에 따라 자동으로 함수를 호출하는데 이 흐름을 생명 주기(Life Cycle)라 부른다.
1. Initialization
Awake() -> OnEnable() -> Start()
- Awake(): 스크립트가 실행될 때 1번만 호출된다. 생성자처럼 게임의 상태 또는 변수 초기화로 사용한다.
- OnEnable(): 오브젝트 또는 스크립트가 활성화될 때마다 호출된다. 이벤트 연결 시 사용한다.
- Start(): Awake() 함수 호출 후에 한 번 호출되며, 주로 초기화에 사용된다. 다른 객체들과의 초기 설정이나 초기 상태 설정 등을 수행한다.
2. Physics
Update() -> FixedUpdate() -> LastUpdate() -> OnTriggerXXX() -> OnCollisionXXX()
- Update(): 매 프레임마다 호출다. 게임 오브젝트가 활성화된 상태에서만 호출되며, 주로 게임 상태의 업데이트에 사용된다.
- FixedUpdate(): 일정한 시간 간격으로 호출되며, 물리 시뮬레이션 등 물리적인 업데이트 작업을 수행할 때 사용된다.
- LastUpdate(): 모든 업데이트가 끝난 후 호출되며, 일반적으로 카메라의 위치나 객체의 위치 등을 업데이트하는 데 사용된다.
- OnTriggerXXX(): 두 오브젝트의 충돌 체크를 하는 함수이다. 물리 연산을 하지 않고 통과한다.
- OnCollisionXXX(): 두 오브젝트의 충돌 체크를 하는 함수이다.
3.Discommissioning
OnApplicationQuit() -> OnDisable() -> OnDestroy()
- OnApplicaionQuit(): 응용 프로그램 종료 전 모든 오브젝트에서 호출된다.
- OnDisable(): 오브젝트 또는 스크립트가 비활성화될 때마다 호출된다.
- OnDestroy(): 게임 오브젝트가 파괴되기 직전에 호출됩니다. 주로 정리 작업이나 메모리 해제 등에 사용된다.
'유니티 기초 프로그래밍 교육' 카테고리의 다른 글
<3일차>씬 구성 (6) 2024.03.29 <2일차> 유니티 컴포넌트와 스크립트 기초 (2) 2024.03.21