05
02

Rigidbody 클래스의 AddForce함수

Declaration(아래 AddRelativeForce 함수도 동일)
public void AddForce(Vector3 force, ForceMode mode = ForceMode.Force);
첫 번째 매개변수(필수 매개변수)는 힘의 방향과 정도를 나타내는 벡터
(예) rigidbody.Addforce(-transform.forward * 500);
두 번째 매개변수(선택 매개변수)는 첫 번째 매개변수가 해석되는 방식을 결정한다.
가해지는 힘에 대한 모드(생략하면 기본값이 ForceMode.Force가 된다.)라고 볼 수 있다.

- Force: 질량의 영향을 받아 값이 계속 달라지도록 한다.(일반적인 미는 힘)
- Acceleration: 질량의 영향을 받지 않고 계속 변화한다.(레이싱 게임에 유용)
- Impulse: 질량 때문에 순간적으로 변화한다.(밀쳐내기 및 반동에 적합)
- Velocity Change: 갑자기 달라지지만 질량과는 상관없다.(레이싱 게임의 니트로 부스트, 스피드 브레이커 등)

- 가해지는 힘은 Rigidbody 컴포넌트의 Drag 프로퍼티 값에 따라 둔화된다.
일반적으로 물리 오브젝트를 이동하거나, 이동속도 또는 방향을 변경할 때 사용한다.

월드 좌표에서 특정 방향을 따라 힘을 추가하는 함수다.

Rigidbody 클래스의 AddRelativeForce함수

로컬 좌표에서 특정 방향을 따라 힘을 추가하는 함수다.

Rigidbody 클래스의 AddForceAtPosition함수

Declaration
public void AddForceAtPosition(Vector3 force, Vector3 position)
지정된 위치에 힘을 가해야 하는 경우에 사용한다.

Rigidbody 클래스의 AddExplosionForce함수

Declaration
public void AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius)
폭발 효과를 생성하여 주어진 위치에서 주어진 반경 내에 있는 객체에 폭발 힘을 추가한다.

OnMouse로 시작하는 함수군

마우스와 GUIElement, Collider 사이의 상호작용에 관련한 함수 집합
게임 오브젝트가 Ignore Raycast 레이어에 속해 있으면 호출되지 않는다.
이 함수들은 co-routine 으로 사용할 수 있다.
이 이벤트는 GUIElement, Collider 컴포넌트가 붙어있는 모든 스크립트에 전달된다.
OnMouseEnter - 마우스가 처음 오브젝트 위로 올라왔을 때 호출.
OnMouseOver - 마우스가 오브젝트 위에 있을 경우 매 프레임마다 호출.
OnMouseExit - 마우스가 처음 오브젝트 밖으로 나갔을 때 호출.
OnMouseDown - 오브젝트 위에서 마우스 버튼을 눌렀을 때 호출.
OnMouseUp - 오브젝트 위에서 마우스 버튼을 땠을 때 호출.
                       눌렀을 때의 오브젝트와 같은 오브젝트일 때만 호출된다.
OnMouseDrag - 오브젝트 위에서 마우스 버튼을 누른 상태로 있을 때 매 프레임마다 호출.

오브젝트 위에 마우스를 올려놓고 누르고 있으면 Over와 Drag 가 매 프레임마다 호출된다.

유니티 공식 튜토리얼 영상을 참고하여 작성하였습니다.

'유니티 개발 기술 > 물리 & 시뮬레이션' 카테고리의 다른 글

Raycast 살펴보기  (0) 2023.05.23
Joints  (0) 2023.05.06
AddTorque 함수, Physic Material  (0) 2023.05.05
Rigidbody 살펴보기  (0) 2023.04.30
충돌 관련 내용(Collider, Kinematic)  (0) 2023.04.28
COMMENT