오늘 배운 내용
- 물리
- 충돌처리
물리
- Rigidbody
- 리짓바디 컴포넌트는 게임 오브젝트에 물리엔진을 적용하는 컴포넌트이다.
- 물체의 질량, 공기저항, 중력에 대한 연산과 기본 지원 함수를 사용해 보다 현실적인 물리처리가 가능하다.
- rigidbody에서 많이 사용되는 함수와 프로퍼티
- AddForce(x,y,z)
- 매개변수로 입력되는 x,y,z축 방향으로 물리적인 힘을 가한다.
- 입력이 반복될수록 적용되는 힘이 누적된다.
- AddTorque()
- 매개변수로 입력되는 축의 물리적인 회전력을 더한다.
- Velocity
- angularVelocity
충돌처리
- 충돌 처리는 Rigidbody와 Collider를 통해 이루어 진다.
- 상황에 따라서 isTrigger 사용 여부를 선택하고 Collision과 Trigger로 사용한다.
- Collision
- Collider 컴포넌트의 'isTriger'가 선택 해제 되어있어야한다.
- 자신과 충돌 대상 모두에 Rigidbody 컴포넌트가 추가되어 있어야 하고, 두 Rigidbody중 하나는 IsKinematic이 체크 해제 되어 있어야한다.
- 활성화 된 오브젝트간 충돌처리에 사용한다.
- Trigger
- Collider 컴포넌트의 'IsTrigger'가 선택되어 있어야 한다.
- IsTrigger 선택시 해당 오브젝트는 물리적인 충돌이 진행되지 않고 통과한다.
- 자신이나 충돌 대상중 하나에 Rigidbody 컴포넌트가 추가되어 있어야 한다.
- 주로 특정 장소 도달 등의 상황에 사용된다.
OnCollisionEnter(Collision other)
OnTriggerEnter(Collider other)
OnCollisionStay(Collision other)
OnTriggerStay(Collider other)
OnCollisionExit(Collision other)
OnTriggerExit(Collider other)
Layer
- Layer는 많은 오브젝트를 그룹으로 묶어 계층 단위로 관리하는 기능이다.
- tag와 사용법은 비슷하지만, 여러 오브젝트를 묶어서 기능적으로 관리할 수 있기 때문에 물리/충돌처리에 유용하다.