유니티 기본적인 개발 정보 정리

2 분 소요

💡 꼭 알아야 하는 개발 정보를 적는 공간

Unity 기본적인 개발 정보

1. 함수/변수/상수

  • [SerializeField] : private처럼 다른 스크립트에서 참조 못하게 하는것, private에 이걸 넣으면 inspector 뷰에서 컨트롤 할 수 있게 해줌
  • Camera.main : main camera의 경우 편하게 접근가능 (Tag가 MainCamera로 되어있음)
Camera camera = Camera.main;

image-20220813170706558


2. 물리시스템

  • rigidbody : 물리시스템을 적용 받기 위해 필요한것 2d의 경우 gravity를 비활성화 해야한다
  • colliders : rigidbody로 물리 시스템을 적용했다면 어떤 부분이 solid한 부분인지 알려줘야한다. 그것이 바로 collider이다. 게임 오브첵트의 외형을 가늠하여 충돌 연산을 할 수 있게 해주는것 적절한 크기 설정 필요
  • Colliders with trigger : 특정 부분 충돌을 체크해서 체력등을 변경할때 물리적으로 충돌하면 안되는 경우가
  • 있다. 이때 collider의 셋팅에 trigger 체크박스를 활성화 한다.
  • freeze rotation : 특정 축을 회전하는것을 막는것
  • 충돌 떨림 현상 : rigidbody가 아닌 transform 포지션을 움직이면 복사본을 이동하고 물리시스템 계산되고 해서 발생한다고 하는데 이건 해보면서 읽혀야할듯, 필자는 rigidbody 를 움직이는 식으로 변경해야한다고 한다.

3. Transform

여기 보고 공부함

이동

Translate 와 Position 차이 

  • Transform.translate() : 현재 위치에서 vector만큼 이동
  • Transform.position : 해당 좌표값으로 이동

회전

회전은 Vector가 아닌 Quaternion으로 처리  vector를 사용하면 세 축의 회전중 하나가 동작하지 않는 짐벌락 때문에 내부적으로 quaternion으로 사용한다함 궁금하면 짐벌락을 찾아보자

  • Transform.rotation : 방향직접 설정
  • Transform.Rotate : 현재 방향에 회전을 더함
Vector 3 rotation = new Vector(0~360f, 0~360f, 0~360f);
transform.rotation = Quaternion.Euler(rotation);
transform.Rotate(rotation)

방향

  • Transform.LookAt() : 바라보는 물체가 기준으로 위치를 옴기면 바라보는 방향이 바
  • Transform.forward : 자기 자신이 기준이므로 위치를 옴겨도 방향이 바뀌지 않음
transform.LookAt(pos)
transform.forward = pos;

크기

local을 기준으로 크기를 바꾸는 이유 월드를 기준으로 하면 회전이 되어있는 경우 이상하게 찌그러지게 된다. 그래서 자기자신의 크기를 바꾸기 위함

transform.localScale = newScale;

태그:

카테고리:

업데이트: