Input 클래스 : 키보드 입력
Input.anyKeyDown // 아무입력을 최초로 받을 때 true
Input.anyKey // 아무입력을 받으면 true
Input.GetKeyDown // 키를 눌렀을때
Input.GetKey // 키를 누르고 있을때
Input.GetKeyUp // 키를 땠을 때
Input.GetMouseButtonUp(0) // 마우스 버튼 누름
Input.GetMouseButton(1) // 마우스 버튼 꾹 누름
Input.GetMouseButtonDown() // 마우스 버튼 땜
Input.GetButton("Jump") // input manager 상의 버튼을 사용가능
Input.GetAxis() // 수평, 수직 버튼 입력을 받으면 float, 꾹 누르면 가중치
Input.GetAxisRaw() // 1, -1 만 표시 좌, 우를 알 수 있음
// 0 : 왼쪽, 1 : 오른쪽
//Program Settings => Input manager 에서 버튼 세팅 가능
transform : 오브젝트는 변수 transform 을 항상 가지고 있음
transform.Translate(Vector 3) // 벡터 값을 현재 위치에 더하는 함수
Vector 3 = new Vector 3(0,0,0) // 벡터 선언
Vector3 : 3차원 벡터
Vector3.MoveTowards(현재위치, 목표위치, 속도 ) // 등속이동
Vector3.SmoothDamp(현재위치, 목표위치, ref, 속도) //부드러운 감속이동 속도에 반비례하여 이동
Vector3.Lerp() //SmoothDamp 보다 감속시간이 김 속도에 비례하여 이동
Vectro3.Slerp() //구면 선형보간, 호를 그리며 이동
Time.deltaTime
Translate : 벡터에 곱하기
translate.Translate(Vec * Time.deltaTime);
Vector : 시간 매개변수에 곱하기
Vector3.Lerp(Vec1, Vec2, T * Time.deltaTime);
//이전 프레임의 완료까지 걸린 시간
// 프레임이 적으면 크고, 프레임이 많으면 적음
Rigidbody : 중력
- Is Kinematic : 외부 물리 효과를 무시 (움직이는 함정)
- FixedUpdate 에 작성해야한다
Collider : 물리 효과를 받기 위한 컴포넌트
material : 오브젝트 디자인
Physics Material : 탄성과 마찰을 다루는 물리적 재질
- Collider 내부안의 인자
- Bounciness : 탄성력
- Bounciness Combine : 다음 탄성을 계산하는 방식
- Friction : 마찰력
- Dynamic : 동적 마찰력
- Static : 정지 마찰력
GetComponent<T>() //T 타입의 컴포넌트르 가져옴
Rigidbody rigid = new Rigidbody();
Rigid.velocity // 속도를 바꿈
Rigid.AddForce //vec 방향과 크기로 힘을 줌 , 힘이 계속 더해짐
Rigid.AddTorque(Vec) // vec 방향을 축으로 회전력생김
ForceMode : 힘을 주는 방식
ForceMode.Impulse // 무게에 따라 달라짐
물리적 충돌(Collision), 콜라이더(Collider) 충돌
//실제 물리적 충돌
OnCollisionEnter(collision) // 물리적 충돌이 시작할 때 호출
OnCollisionExit(collision) //물리적 충돌이 끝났을 때 호출
OnCollisionStay(collision) // 충돌이 쭉 이어갈 때
//콜라이더 충돌
OnTriggerEnter(collider),Exit,Stay//물리적 충돌 x