TIL

🔥내일배움캠프 17일차 TIL

leejiyoung0511 2025. 2. 14. 20:57

오늘의 키워드
"유니티 입문"

✏️오늘 배운 내용

● 쉽게 이미지를 붙이기

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