Q.Rigidbody컴포넌트가 뭐야?

A. Unity 내에서 제공하는 물리연산 컴포넌트이다. 

 

Q.AddForce() 메서드는 어디다가 써?

A.Rigidbody가 적용된 오브젝트에 AddForce 메서드를 사용하면 외부에서 물리적인 힘을 가하는 물리현상을 나타낼때 사용한다.

 

Q.AddForce()를 어떡해 써?

A.코드는 기본적으로 이런식으로 쓴다.

private Rigidbody _rigidbody;

 private void Awake()
 {
     _rigidbody = GetComponent<Rigidbody>(); //오브젝트에 있는 Rigidbody 컴포넌트 호출 
 }
 
 private void OnJump()
 {
       //rigidbody컴포넌트에서 AddForce() 메서드를 호출하여 사용
 	  _rigidbody.AddForce(Vector2.up * jumpPower, ForceMode.Impulse);
 }

 

AddForce() 인자값으로 ForceMode라는 enum 값이 아래와 같이 들어가게된다.

아래의 코드는 유니티 엔진 내부 코드이다.

ForceMode Type 설명
Force 힘을 지속적으로 적용할때 사용됨
Acceleration 가속도를 적용할떄 사용되며, 전 힘의 누적에 따라서 점진적으로 더 빠르게 움직이게 됨
Impulse 순간적인 힘을 적용하여, 짧은시간에 빠른 움직임이 필요할때 사용
VelocityChange 변화하는 속도를 적용, 오브젝트의 현재 속도를 변경하면서 사용될때 사용

 

+ Recent posts