오늘의 키워드
"유니티 입문"
✏️오늘 배운 내용
● 쉽게 이미지를 붙이기
V 를 누른 상태로 모서리를 선택해 이미지를 쉽게 옆이나 아래에 붙일 수가 있다.
● Unity라이프사이클(Lifecycle) : 게임 오브젝트와 스크립트가 실행되는 순서
+---------------------+
| Awake | // 오브젝트 생성 시 가장 먼저 실행 (초기화)
+---------------------+
↓
+---------------------+
| OnEnable | // 오브젝트 활성화 시 호출 (비활성 → 활성)
+---------------------+
↓
+---------------------+
| Start | // 첫 번째 프레임 전에 한 번 실행
+---------------------+
↓
+----------------------+ +----------------------+
| Update | -----> | LateUpdate | // Update 이후 실행 (카메라 추적)
+----------------------+ +----------------------+
↓
+----------------------+
| FixedUpdate | // 물리 연산용 (고정된 시간 간격 실행)
+----------------------+
↓
+----------------------+
| OnTriggerX, | // 트리거 이벤트 (충돌, 마우스 클릭 등)
| OnCollisionX |
+----------------------+
↓
+----------------------+
| OnDisable | // 오브젝트 비활성화 시 호출
+----------------------+
↓
+----------------------+
| OnDestroy | // 오브젝트가 삭제될 때 호출 (정리 작업)
+----------------------+
● Input.GetMouseButton(int button)
매개변수 int값은 마우스의 몇번째 버튼을 누르는지를 구분한다.
스마트폰의 터치 기능도 포함되어있다.
- 0 : 왼쪽클릭
- 1: 오른쪽 클릭
- 2 : 휠
- 3 : 뒤로가기
- 4 : 앞으로가기
● Quaternion.Euler(float x,float y,float z) : 오일러 각도를 Quaternion(쿼터니언) 값으로 변환하는함수
transform.Rotate(x, y, z)을 사용해 회전을 하게 되면 짐벌락 문제 때문에 4차원으로 표현되는 쿼터니언을 이용
짐벌락(Gimbal Lock) 문제란?
두 개의 회전 축이 정렬되어 하나의 축이 없어지는 현상
● 로컬 좌표(Local Position)
- 부모 오브젝트를 기준으로 한 오브젝트의 위치.
- 부모 오브젝트의 위치나 회전이 변경되면, 로컬 좌표가 반영되어 상대적인 위치를 유지
● 월드 좌표(World Position)
- 게임의 전체 월드에서의 위치
- 부모 오브젝트와 관계없이 전역좌표계(0,0,0)를 기준으로 계산
● Position 변경
transform.position 의 x,y,z 는 직접 값을 바꾸는게 불가능하다.
아래와 같이 transform.position.x 의 값을 변수에 저장하는건 가능하지만
직접적으로 값을 넣을때 오류가 난다.
때문에 position의 값을 바꾸고 싶을때에는 변수에 한번 저장했다가 값을 변경해주고 넣는 작업을 해야한다.
Vector pos = transform.position;
pos.x = target.position.x + offest;
transform.position = pos;
● 충돌 처리 메서드 매개변수의 형변환
void OnTriggerEnter2D(Collider2D collision)
예를 들어 위와 같은 충돌 메서드의 매개변수 collision을
(BoxCollider2D)collsion
위와 같은 방식으로 Collider2D와 관련된 콜라이더로 형 변환을 할 수가 있다.
● Lerp(float a, float b, float t) : 두 개의 값 사이를 일정한 비율로 보간하는 함수
a는 시작값,b는 목표값, t는 보간비율(0~1 사이)
위치,회전,색상 등을 부드럽게 변화시킬 때 사용
● Mathf.PingPong(float t, float length) : 주어진 범위 내에서 계속 왕복하도록 만드는 함수
t는 현재시간 또는 증가하는 값,length는 최대범위
💭오늘의 회고
새로 시작하는 개인 과제 열심히 해야할것같다.
'TIL' 카테고리의 다른 글
🔥내일배움캠프 19일차 TIL (0) | 2025.02.18 |
---|---|
🔥내일배움캠프 18일차 TIL (0) | 2025.02.17 |
🔥내일배움캠프 16일차 TIL (0) | 2025.02.13 |
🔥내일배움캠프 15일차 TIL (0) | 2025.02.12 |
🔥내일배움캠프 14일차 TIL (0) | 2025.02.11 |