유니티 개발 환경 개념

  • Scene : 실제 게임 구성요소 보는 곳
  • Game : 게임이 실제로 보여지는 곳
  • Hierachy : 게임 내 구성요소를 볼 수 있는 곳. Scene에 보여지는 요소들이 포함됨
  • Project : 이 프로젝트에 포함된 파일을 보는 곳
  • Inspector : 클릭한 요소의 속성과 정보를 보는 곳

씬 사이즈 변경법

  • Game > 해상도 클릭 > + 버튼 클릭 > Label과 해상도 변경 후 OK

UI 세팅 시 주의점

  • Order in Layer : 게임 오브젝트의 순서. 수가 클 수록 오브젝트가 앞으로 나옴

애니메이션 입히기

  • 애니메이션 파일 > Loop Time : 반복한다는 뜻
  • Controller : 애니메이션을 컨트롤하는 것. 상태에 따라 어떤 애니메이션을 쓸지 결정
  • 애니메이션은 동작파일

애플리케이션 프레임 정하기

// 60 fps로 정하기
Application.targetFrameRate = 60;

충돌 감지

  • 충돌 감지를 하기 위한 두 가지 조건
  1. 충돌을 감지하려는 두 물체 다 Collider가 있어야 한다.
  2. 둘 중 하나는 RigidBody가 있어야 한다.
  • 충돌을 감지하면 OnCollisionEnter2D 함수가 실행된다.
    • 이 때, 매개변수인 Collision2D collision을 통해 부딪친 물체의 정보를 알 수 있다.
    • 또한, compareTag 함수를 사용해 해당 물체의 태그 여부를 확인할 수 있다.

색 정할 때 주의점

  • 색을 변경할 때에는 255.0f(최대값)으로 나누어줘야 제대로 작동함. 예시 :
GetComponent<SpriteRenderer>().color = new Color(100/255.0f, 100/255.0f, 1f, 1f);

프리팹

  • 프리팹은 복제할 수 있는 형태의 게임오브젝트
  • 반복 생성을 위해서는 다음과 같이 특정 함수를 반복적으로 실행시키는 Invokerepeating을 사용
void Start() {
	// 0초에 시작해서 1초마다 한번씩 MakeRain 함수를 실행하라는 뜻
	InvokeRepeating("MakeRain", 0, 1f);
}
 
void MakeRain() {
	Instantiate(rain);
}

싱글톤

  • 프로젝트 어디서나 부를 수 있는 “하나”로 만들어 주는 것.

소수점 표기

  • float를 소수점 둘째 자리까지만 표현하는 방법
timeText.text = totalTime.ToString("N2");

게임 멈추기

// 게임을 멈춘다 = 이전 프레임과 이후 프레임의 시간 차이를 0으로 한다.
Time.timeScale = 0f;