Unity 시작
설치 버전
2022.3.62f2 LTS
게임 엔진이란?
더 쉽고 다양한 방법으로 게임을 제작하기 위해 출시된 툴
- 주 기능 및 장점
- 개발 시간 단축
- 입문 장벽 낮춤
- 그래픽/물리처리 대행
Unity 특징
- 직관적인 GUI
- Unity Hub; 엔진 버전 설치 및 관리
- Build; 다양한 플랫폼에 대한 빌드 지원
- 쉬운 자료 획보; Domain 이 넓음
- Asset Store
- 낮은 진입 장벽
- 낮은 요구 사항
- 낮은 라이선스 비용
프로젝트 생성하기
화면
- Scene 뷰 ; 오브젝트를 시각적으로 보고 제어할 수 있는 화면
- Game 뷰 ; 실제 유저가 보게될 게임 화면
- 계층 구조 ; 오브젝트의 계층 구조
- 인스팩터 ; 오브젝트의 속성에 대한 정보
- 컴포넌트 ; 오브젝트의 속성. 추가/삭제 가능
- 프로젝트 ; 본 프로젝트에서 사용하는 모든 파일
- 콘솔 ; 로그등 확인 가능
라이프 사이클
- 유니티 이벤트 함수 == 라이프 사이클
- Awake ; 오브젝트 생성시 최초 1회만 실행
- OnEnable ; 오브젝트 활성화시 1회
- Start ; 오브젝트 '생성 및 활성화'시
첫 프레임 시작때 1회 실행.
- Update ; 매 프레임마다 1회 호출. 오브젝트 생존 및 활성화시에만 동작
- Coroutine; 실행/정지를 자유롭게 제어 가능한 서브 루틴
- OnDisable ; 비활성화시 1회. Update 이후 호출.
- OnDestory ; 오브젝트가 파괴 때 1회 실행.
추가 알면 좋은 이벤트
- Reset ; 오브젝트에 처음 연결하거나 Reset 커맨드를 사용할 때 스크립트의 프로퍼티를 초기화하기 위해 Reset을 호출
- FixedUpdate ; 물리동작 시작시 발생.
Update보다 더 자주 호출될 수도 있음. 프레임 속도에 따라 호출 가능성이 달라짐. FixedUpdate 의 움직임 계산을 적용할 때 Time.deltaTime 만큼 값의 곱은 불필요
- LateUpdate ; LateUpdate 는 Update 가 끝난 후 프레임당 한 번 호출. 캐릭터를 움직이고 Update 로 방향을 바꾸게 하는 경우 LateUpdate 에서 모든 카메라 움직임과 로테이션 계산을 수행할 수 있음
- OnDrawGizmos ;
Gizmo는 작고 신기한 장치를 뜻하는 속어. 시각화 목적으로 씬 뷰에 기즈모를 그릴 때 사용
Awake vs Start
Awake 자체적인 초기화 작업이 필요할때,
그리고 Start 는 다른 Object 와의 연결된 데이터가 있을 경우 해당 데이터에 의한 초기화가 필요할 떄 사용되는 경우가 많다.
참고
- Console 출력;
Debug.Log(text)