Unity(유니티)
- 에셋(Asset)
- 게임에 필요한 모든 리소스(이미지, 사운드, 모델, 코드 등).- 프로젝트의 에셋 폴더에 저장된다.
- 씬(Scene)
- 게임의 각 장면 또는 화면.
- 메뉴 씬, 게임 플레이 씬, 엔딩 씬 등 게임의 특정 부분을 담당한다.
- 게임 오브젝트(GameObject)
- 씬에 배치되는 모든 요소.
- 에셋을 이용하여 씬에 생성되며, 게임의 동작과 상호작용을 담당한다.
- 게임 오브젝트는 계층 구조로 구성되어 부모-자식 관계를 가지며, 이를 통해 그룹화하고 조작한다.
- Scene 뷰 : 씬의 3D 또는 2D 뷰. 씬 구성 요소 편집
- Game 뷰 : 게임이 실제로 실행되는 뷰. 플레이어가 게임을 플레이하는 화면을 실시간으로 확인한다.
- Hierarchy 뷰 : 현재 씬의 게임 오브젝트 계층 구조 표시 및 편집
- Inspector 뷰 : 선택된 게임 오브젝트의 속성 및 구성 요소 편집
- Project 뷰 : 프로젝트의 에셋 표시 및 관리
- Console 뷰 : 게임 실행 중의 로그 및 메시지 표시 (* 오류 확인을 위해 켜두는 것이 좋다.)
마우스 조작
- 마우스 왼쪽 클릭 : 게임오브젝트 선택
- 마우스 오른쪽 클릭 : w,s,a,d,q,e 키로 씬 뷰를 1인칭 이동가능, 드래그시 씬 뷰 회전
- 마우스 스크롤 : 줌 인 & 아웃
- 마우스 스크롤 클릭 : 씬 뷰 이동
- alt + 마우스 왼쪽 드래그 : 씬 뷰 화면 중심 회전
- alt + 마우스 오른쪽 드래그 : 줌 인 & 아웃
툴바
- Hand Tool (손 도구, 단축키 : Q) : 씬 뷰를 이동시킴.
- Move Tool (이동 도구, 단축키 : W) : 게임오브젝트 이동
- Rotate Tool (회전 도구, 단축키 : E) : 게임오브젝트 회전
- Scale Tool (스케일 도구, 단축키 : R) : 게임오브젝트 스케일 조절
- Rect Tool (사각형 도구, 단축키 : T) : 게임오브젝트 스케일을 사각형 방향으로 조절함.
- Transform Tool (좌표변형 도구, 단축키 : Y) : MoveTool, RotateTool, ScaleTool 을 동시에 사용함.
유니티 스크립트 작성 방법
오브젝트에 연결하여 사용하려면 기본적으로 MonoBehaviour를 상속 받은 상태로 클래스를 작성한다. 그 외의 용도로 사용하는 경우에는 굳이 상속 받지 않아도 된다. Start(), Update(), FixedUpdate() 등 유니티에서 제공하는 함수들은 오버라이딩 하여 사용한다.
스크립트 라이프 사이클
게임 오브젝트가 살아있는 생명 주기 동안 동작하는 스크립트들
- Awake : 게임 오브젝트가 생성될 때 호출되는 메서드. 주로 초기화 작업을 수행한다.
- Start : 게임 오브젝트가 활성화되어 게임 루프가 시작될 때 호출되는 메서드. 초기 설정 및 시작 작업을 수행한다.
- Update : 매 프레임마다 호출되는 메서드. 게임 로직의 주요 업데이트가 이루어진다. 매 프레임 호출되는 만큼 불필요한 계산을 피하고 최적화하기 위해 사용하지 않으면 지워주는 것이 좋다.
- FixedUpdate : 물리 엔진 업데이트 시 호출되는 메서드. 물리적인 시뮬레이션에 관련된 작업을 처리할 때 사용된다.
- LateUpdate : Update 메서드 호출 이후에 호출되는 메서드. 다른 오브젝트의 업데이트가 완료된 후에 작업을 수행하는 데 유용하다.
- OnEnable : 게임 오브젝트가 활성화될 때 호출되는 메서드.
- OnDisable : 게임 오브젝트가 비활성화될 때 호출되는 메서드.
- OnDestroy : 게임 오브젝트가 파괴될 때 호출되는 메서드. 자원 정리 및 해제 작업을 수행한다.
컴포넌트
게임 오브젝트에 부착하는 기능 모듈. 각각 기능들로 구현을 만드는 것.
- Transform : 게임 오브젝트의 위치, 회전, 크기 등을 조정
- Rigidbody : 물리적인 효과를 게임 오브젝트에 적용
- Collider : 충돌 감지 처리
- SpriteRenderer : 2D 그래픽 표시
- AudioSource : 사운드 재생
사용자가 필요에 따라 컴포넌트를 직접 작성하고 추가할 수도 있다. 우리가 작성한 스크립트 또한 컴포넌트이다. 이를 통해 게임의 특정한 동작이나 기능을 개발자가 원하는 대로 커스터마이즈할 수 있다.
그 외
Collider
- Is Trigger : 물리적인 충돌이 일어났을 때, 실제로 물리충돌을 할 것인지 여부(켜져있으면 충돌을 인지만 하고 통과된다.)
Rigidbody2D
- Gravity Scale : 중력을 가지고 싶지 않으면 0으로 조절해준다.
- Constraints - Freeze : 충격을 받고 날아거나 이동할 때, 회전하거나 등 물리적으로 처리할 것인지 여부
Material
SpriteRenderer - Material : 눈에 보이는 재질
Rigidbody - Material : 물질적인 재질
'부트캠프 > Study' 카테고리의 다른 글
<Unity> 입문 - 2D 게임 개발(3) (1) | 2023.11.28 |
---|---|
<Unity> 입문 - 2D 게임 개발(2) (2) | 2023.11.27 |
<프로젝트> 팀과제 TextRPG 계획(3) (1) | 2023.11.21 |
C# 문법 4강(4) - 고급 자료형 및 기능 (0) | 2023.11.16 |
C# 문법 4강(3) - 델리게이트, 람다 및 LINQ (0) | 2023.11.16 |