[UNITY][Interface]RigidBody

유니티 2015. 1. 12. 20:06

[Interface]RigidBody

[RigidBody?]

RigidBody컴포넌트는 이 컴포넌트를 가지고 있는 게임오브젝를 물리적으로 조작할 수 있게 해준다.

게임오브젝트에 질량, 저항 등 여러가지 물리적인 요소들을 도입하여 해당 게임 오브젝트가 물리엔진에 의해

여러가지 다양한 물리작용을 적용 시켜준다.

오브젝트에 물리 엔진을 적용시키려면 꼭 필요한 컴포넌트.

 

[옵션]

 

Mass    오브젝트의 질량. "유니티 메뉴얼에서 이 값은 다른 오브젝트보다 100배이상(작거나 크거나) 차이 나지 않도록 해야한다"라고함.

Drag    오브젝트에 가해지는 공기저항. 0이면 공기저항이 없고, infinity라고 입력하면 즉시 오브젝트 움직임이 멈춘다.

이 값을 입력하면 오브젝트는 공기저항을 받기 때문에, 시간에 따라 점차 속력이 감소한다.

Angular Drag    오브젝트의 회전력에 대한 공기 저항. 0이면 역시 공기저항이 없다는 것. 하지만 infinity경우 유니티 메뉴얼에서 이 값에 단지 infinity를 입력한다고 해서 오브젝트의 회전이 멈추지는 않는다고 한다.(기타 다른 요소에 의한 회전이 존재하나보다...)

 

Use Gravity    말 그대로 중력을 사용할 것인지. 이 체크박스가 체크되어 있다면 오브젝트는 중력의 영향을 받는다.(아래로 떨어진다.)

Is Kinematic    잘 모르겠지만.. 메뉴얼에 따르면 이 기능이 활성화되어 있다면 물리 엔진에 영향받지 않고 오직 Transform에 의해서만 조작 될 수있다고 한다. 뭐 플랫폼을 움직이거나 관절이 붙어있는 Rigidbody를 에니메이트 하는데 유용하다는데 아직 어떤 의미인지 확실히 모르겠다.

 

Interpolate   움직임 보간. 메뉴얼에서는 RigidBody의 움직임에 경련같은 요상한 움직임이 보이면 이 옵션을 선택하라고 한다.

  • None    아무런 보간도 취하지 않는다.
  • Interpolate    이전 프레임의 Transform를 기반으로 현재 프래임의 Transform을 부드러게 만든다.
  • Extrapolate    다음 프레임의 Transform을 추측하여 현재 프래임의 Tranform을 부드럽게 만든다.

 

Collision Detection    오브젝트가 너무 빠르게 움직여서 충돌이 검출되지 않을 경우 그런 상황을 막기위해 사용된다고 한다.(그냥 Discrete쓰다가 문제 생기면 그때 다시 정리)

  • Discrete    신중한 충돌. 기본 설정이며 일반적인 충돌처리를 사용 한다.  오브젝트와 충돌하는 다른 Collider도 이Discrete 충돌을 사용하게 된다.
  • Continuous(이해불가)    
  • Continuous Dynamic(나중에)

Constraints    RigidBody의 움직임을 제한한다.

  • Freeze Position    RigidBody가 X, Y, Z에 대해 체크된 각 축방향으로 움직이지 못하도록 막는다.
  • Freeze Rotation    RigidBody가 X, Y, Z에 대해 체크된 각 축으로 회전하지 못하도록 막는다.

 

 

: