Unity/기초 예제

유니티 AddForce 간단한 예제 유니티 기초

최애뎡 2021. 5. 5. 18:23
728x90
반응형

이번 예제는 간단하게 3D Object인 Plane과 Cube를 사용하였으며
Cube에 Ex_06_1스크립트를 추가하였습니다.
AddForce란
물리 오브젝트를 이동하거나, 이동속도 또는 방향을 변경할 때 사용합니다.
AddForce 함수에는 필수 매개변수와 선택 매개변수가 있습니다.
필수 매개변수는 적용되는 힘의 방향과 정도를 나타내는 벡터 값이 들어가고
선택 매개변수는 가해지는 힘에 대한 모드의 정보가 들어갑니다.
------------------------------------------------------------------
Rigidbody.AddForce(필수 매개변수, 선택 매개변수); 
------------------------------------------------------------------
선택 매개변수의 종류
ForceMode.Force - 기본값 (선택 매개변수를 입력하지 않았을 경우)
-> 오브젝트의 질량을 이용하여 계속적인 힘을 더한다.

ForceMode.Acceleration
-> 계속적인 가속을 더하고 오브젝트의 질량은 무시한다.

ForceMode.Impulse
-> 오브젝트의 질량을 이용하여 충격력 인스턴트를 더한다.

ForceMode.VelocityChange
-> 속도 인스턴트를 더하며, 오브젝트의 질량은 무시한다.
------------------------------------------------------------------
ForceMode를 각각 사용해보시면 감을 잡으시는데 도움이 됩니다!
가장 중요한 건 질량을 무시하냐 안 무시하냐 정도로 알아두셔도 될 것 같습니다.
일단 실행 화면을 보도록 하겠습니다.

마우스로 Cube를 클릭하였을 때 Cube가 날아가는 모습을 보실 수 있습니다.
이 내용을 코드로 보시면

OnMouseDown 함수를 이용하여 Cube를 클릭했을 때 AddForce를 이용하여 큐브에 힘을 가합니다.
여기서 필수 매개변수는 transform.forward를
 이용하여 Cube가 로컬 공간에서 z 축으로 이동하게 합니다.
여기서 선택 매개변수 부분은 기본값으로 안 적어도 되지만 빠른 이해를 위해 코딩되어있습니다.
이 부분은 오브젝트가 어떠한 폭발이나 힘에 의해 받는 영향을 표현하는데 도움이 될 것 같습니다.

반응형