유니티 튜토리얼은 큰 도움이 됩니다.
Debug.Log
Class
Unity는 클래스 1개당 파일 1개를 만들어줘야합니다.
그리고 다시 원래 기존 C# script로 와서 인스턴스를 생성하고 사용하면 됩니다.
Awake()
Start()
FixedUpdate()
물리 연산을 업데이트 해주는 함수이다.
고정된 실행주기로 CPU를 많이 사용한다.
기본 프레임은 1초에 50회 호출이 된다.
수업시간에 배운 내용에 따르면 프레임은 수정할 수 있다.
Update()
물리 연산에 관련된 로직을 제외한 나머지 주기적으로 변하는 게임 로직을 업데이트 해주는 함수이다.
환경에 따라 실행 주기가 떨어질 수 있다.
기본 프레임은 60프레임이다.
LateUpdate()
모든 Update 함수가 끝이나면 마지막으로 호출되는 함수이다.
캐릭터를 따라가는 카메라나, 로직에 후처리가 필요한 것들을 담당하는 함수이다.
OnDestroy()
OnEnable()
게임 오브젝트가 활성화 되었을 때 사용되는 함수이다.
Awake()와 Start() 함수 가운데 만들어준다.
OnDisable()
게임 오브젝트가 비활성화 되었을 때 사용되는 함수이다.
모든 업데이트가 끝나고, 비활성화 되거나, 삭제되기 전에 사용되는 함수이다.
LateUpdate와 OnDestroy함수 사이에 만들어준다.
입력함수는 총 3가지 행동으로 구분됩니다.
게임 내 입력을 관리하는 클래스
Input.anyKeyDown
Input.anyKey
GetKey
- ESC 대신 Escape를 사용해야한다.
GetMouseButton
마우스 버튼을 입력 받으면 true
매개 변수를 숫자로 받는다.
GetButton
Input 버튼 입력을 받으면 true
매개 변수는 string으로 되어있다.
Input Manger에 있는 명령어 이름을 인수로 주면된다.
GetAxis
수평, 수직 버튼 입력 받으면 float을 반환한다.
중간 값이 있다.
GetAxisRaw
수평, 수직 버튼 입력 받으면 왼쪽 -1, 오른쪽 1, 중간점이 되면 0
중간 값이 없다.
오브젝트는 변수 transform을 항상 가지고 있다.
Transform : 오브젝트 형태에 대한 기본 컴포넌트
MoveTowards
등속 이동
매개 변수는 (현재 위치, 목표 위치, 속도)
마지막 매개 변수에 비례하여 속도가 증가합니다.
SmoothDamp
도달지점에선 부드럽게 도착하는 함수입니다.
매개 변수는 (현재 위치, 목표위치, 참조 속도, 속도)
마지막 매개변수에 반비례하여 속도가 증가합니다.
Lerp
선형 보간, SmoothDamp보다 감속시간이 깁니다.
매개 변수는 (현재 위치, 목표 위치, 속도)
마지막 매개 변수에 비례하여 속도가 증가합니다.(최대값 1)
SLerp
구면 선형 보간, 호를 그리며 이동
매개 변수는 (현재 위치, 목표 위치, 속도)
중요한 공식입니다.
Time.deltaTime값은 프레임이 적으면 크고, 프레임이 크면 작습니다.
이전 프레임의 완료까지 걸린 시간
Dynamic Friction : 동적 마찰력
Static Friction : 정적 마찰력
Friction Combine : 다음 마찰력을 계한하는 방식
Bounciness : 통통 뛰는 것
이동은 RigidBody가 자연스럽다.
forward, back : z축을 중심으로 회전한다.
right, left : x축을 중심으로 회전한다.
up, down : y축을 중심으로 회전한다.
물리 충돌은 OnCollisionEnter, OnCollisionStay, OnCollisionExit
색상
trigger은 OnTriggerEnter, OnTriggerStay, OnTriggerExit
트리거는 물리적인 영향은 받지 않은 채 충돌만 감지한다.
해당 이미지를 클릭하고 타입을 바꿔준다.
계층창에 있는 Image에 Image Type을 Filled로 바꿔준다.
Cirl D롤 눌러 같은 이미지를 복사한다.
단, Canvas기준 아래로 갈 수록 가장 나중에 그려진다.
복사한 이미지를 어둡게 만든다.
두 이미지를 겹친다.
복사한 이미지가 맨 밑에 있으니 가장 나중에 그려지기 때문에 아래와 같은 모습이 된다.
아래 보이는 기능들을 활용해 쿨타임이 돌아가는 것처럼 구현하면 된다.
)
게임을 만들 때 키보드와 마우스에 먼저 손이 가는 것이 아닌, 게임을 어떻게 만들 것인지 기획이 중요하다.