05
05

Rigidbody 클래스의 AddTorque함수

Declaration
public void AddTorque(Vector3 torque, ForceMode mode = ForceMode.Force);
정의된 축을 기준으로 게임오브젝트를 회전시키는 데 힘이 작용한다.
첫 번째 매개변수는 토크가 적용되는 축과 적용되는 토크의 강도를 나타낸다.
(예) rigidbody.AddTorque(transform.up * h);
유니티 엔진은 왼 나사 법칙이 적용되어있으므로
토크는 엄지척을 했을 때 왼손의 손가락이 접혀있는 방향대로 추가된다.
Rigidbody 컴포넌트의 Angular Drag 값을 늘리면 저항값이 늘어나므로 움직임이 느려진다.
두 번째 매개변수는 적용할 힘의 유형을 주기 위해 사용하는 선택적 매개변수이다. 생략하면 기본 값이 Force이다.

- Force: 질량의 영향을 받아 값이 계속 달라지도록 한다
- Acceleration: 질량의 영향을 받지 않고 계속 변화한다.
- Impulse: 질량 때문에 순간적으로 변화한다.
- Velocity Change: 갑자기 달라지지만 질량과는 상관없다.

Physic Material

오브젝트가 물리엔진에 반응하는 방식에 영향을 준다.
(예) 농구공과 볼링공의 탄성의 차이를 생각하면 된다.
       둘은 질량의 차이가 크지만, 표면이 매우 달라 표면에 다르게 반응한다.
프로젝트 뷰에서 생성가능하다.
인스펙터 뷰에서 표면이 다른 표면에 어떻게 반응할지를 제어할 수 있다.

- Dynamic Friction: 오브젝트가 움직이면서 마찰하는 정도
- Static Friction: 고정위치에서 오브젝트가 이동하기 위해 가해야 하는 힘의 크기
- Bounciness: 오브젝트가 튀는 방식을 제어하는 값
- Friction Combine: 특정 재질로 다른 오브젝트에 반응하는 방식
- Friction Direction2: 특정 축에서의 마찰을 제어할 수 있게 한다.
  Dynamic Friction2와 Static Friction2와 함께 조절한다.
  예를 들어 비스듬하게 떨어지는 오브젝트에 부딪치는 오브젝트의
  x축에 마찰값을 주려면 Friction Direction2 x값을 올리고, Dynamic Friction2 값도 같이 올리면 된다.
적용하기 위해서는 Collider 컴포넌트의 Material에 적용시키면 된다.
(예) 여기서 Bounciness 값을 올리면 물체가 떨어졌을 때 통통 튀는 것을 볼 수 있다.

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

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

Raycast 살펴보기  (0) 2023.05.23
Joints  (0) 2023.05.06
AddForce 함수, OnMouse 함수  (1) 2023.05.02
Rigidbody 살펴보기  (0) 2023.04.30
충돌 관련 내용(Collider, Kinematic)  (0) 2023.04.28
COMMENT