목차
유니티 입문 (2D)
내일배움캠프 지급된 강의 듣고 정리
기존에 확실히 알고 있던 개념은 제외하고, 애매하게 알고 있었거나 몰랐던 내용만 정리하느라 누락된 부분 있을 수 있음
Orthographic 카메라
원근(Perspective)이 없는 평면적인 뷰를 제공
2D 게임에 필수적
카메라 사이즈란?
Orthographic 카메라에서 화면에 표시되는 세로 범위 (중심을 기준으로 위나 아래로 보이는 월드 유닛의 길이)를 결정하는 값.
스프라이트 슬라이싱 (스프라이트 시트)
Sprite Editor 열고, Inspector에서 Sprite Mode를 Multiple로 설정 후 Apply
원하는 이미지 영역을 드래그 하여 슬라이싱.
이름과 센터 위치 또한 설정 할 수 있다.

애니메이터(Animator)
애니메이션 상태를 관리하고 전환하는 도구.
캐릭터/오브젝트의 동작을 자연스럽게 구현할 때 사용된다.
애니메이션 상태 관리
Idle, Walk, Run 등 다양한 상태를 정의하고, 각 상태에 적합한 애니메이션을 연결한다.
조건에 따라 전환
속도, 입력 값, Trigger 등 특정 조건에 따라 애니메이션 상태를 변경할 수 있다.
부드러운 연결
상태 전환 간 자연스러운 애니메이션 블렌딩을 통해 부드러운 애니메이션을 구현할 수 있다.
이미지 소팅 오더 (Image sorting order)
스프라이트의 렌더링 순서를 결정하는 값
값이 높을수록 다른 스프라이트보다 앞에 렌더링된다.
같은 Sorting Layer에 있는 스프라이트들은 Sorting Order 값을 기준으로 렌더링 순서를 결정한다.
Sorting Layer와의 관계
스프라이트는 먼저 Sorting Layer를 기준으로 그룹화된 뒤, 해당 그룹 내에서 Sorting Order 값으로 순서를 조절한다.
Rigidbody
오브젝트에 물리 엔진의 영향을 적용하기 위해 사용되는 컴포넌트
- 중력 적용: 물리 엔진에 의해 중력의 영향을 받는다.
- 힘과 속도: 외부에서 힘을 가하거나 속도를 설정하여 오브젝트를 움직일 수 있다.
- 충돌 처리: Collider와 함께 사용하면 오브젝트 간의 충돌을 물리적으로 계산한다.
주요 속성
- Mass: 오브젝트의 무게를 설정한다.
- Drag: 공기 저항을 시뮬레이션해 속도를 줄인다.
- Constraints: 특정 축의 움직임이나 회전을 제한한다.
Unity 라이프사이클
게임 오브젝트와 스크립트가 실행되는 순서를 정의한다.
- Awake: 스크립트가 활성화될 때 호출. 자기 자신(스크립트나 컴포넌트)의 초기화 작업에 사용.
- Start: 오브젝트가 활성화되고 첫 프레임 전에 한 번 호출. 다른 오브젝트와의 상호 작용이 필요한 초기화에 적합.
- Update: 매 프레임마다 호출. 주로 입력 처리와 게임 로직에 사용.
- FixedUpdate: 물리 연산이 필요할 때 일정한 간격으로 호출.
- LateUpdate: Update가 완료된 후 호출. 카메라 추적 등에 사용.
스크립트 자체 초기화의 경우 Awake를 주로 사용하고, 다른 오브젝트들과 연결되어 초기화가 진행되어야 하는 경우 Start를 사용한다.
GetComponent
게임 오브젝트에 추가된 컴포넌트를 가져오는 메서드
animator = GetComponentInChildren<Animator>(); //하위 오브젝트들까지 검색
_rigidbody = GetComponent<Rigidbody2D>();
Input 클래스
사용자 입력(키보드, 마우스, 터치 등)을 처리하는 데 사용
- 키보드 입력 처리: Input.GetKey, Input.GetKeyDown
- 마우스 입력 처리: Input.GetMouseButton
- 축 입력 처리: Input.GetAxis로 부드러운 이동 구현
Time.deltaTime
이전 프레임과 현재 프레임 사이의 시간 반환
예를 들어 프레임마다 실행되는 코드를 구현했을 시 30fps에서는 30번, 15fps에서는 15번 호출된다.
충돌 처리 함수
Unity에서 충돌 처리는 Collider와 Rigidbody를 통해 구현된다.
- OnCollisionEnter: 충돌 시작 시 호출
- OnCollisionStay: 충돌 유지되는 동안 호출
- OnCollisionExit: 충돌이 끝났을 때 호출
- OnTriggerEnter/Stay/Exit: Trigger Collider와의 상호작용 처리
로컬 좌표와 월드 좌표
로컬 좌표 (Local Position)
부모 오브젝트를 기준으로 한 오브젝트의 위치.
오브젝트가 부모 오브젝트 내에서 얼마나 떨어져 있는지를 나타낸다.
부모 오브젝트의 위치나 회전이 변경되면, 로컬 좌표가 반영되어 상대적인 위치를 유지한다.
우주를 떠도는 태양을 따라 다니는 지구 느낌인 것 같다.
월드 좌표 (World Position)
게임의 전체 월드(전역 공간)에서의 위치
부모 오브젝트와 관계 없이, Unity 전역 좌표계(0,0,0)를 기준으로 계산된다.
싱글턴 패턴
클래스의 인스턴스를 하나만 생성하도록 보장하는 디자인 패턴이다.
프로그램 전역에서 단 하나만 존재하도록 제한되므로 유일한 인스턴스가 된다.
따라서 게임 매니저, 오디오 매니저 등에 주로 구현된다.
데이터와 객체를 일관되게 공유하고 메모리 낭비를 방지하여 관리가 용이하다는 장점이 있지만
전역 상태로 인해 코드 테스트와 유지보수가 어렵고, 의존성이 강해지면 코드 확장성이 떨어질 수 있다는 단점이 있다.
'개인 프로젝트 > 개인학습' 카테고리의 다른 글
| 유니티 입문 (2D) - TopDown (0) | 2025.07.23 |
|---|---|
| 유니티 입문 (3D) - The Stack (0) | 2025.07.22 |
| 알고리즘 (0) | 2025.07.08 |
| C# 객체 지향 프로그래밍 (0) | 2025.07.06 |
| C# 프로그래밍 기초 (0) | 2025.07.01 |