Unity C# > 컴포넌트 : Rigidbody 와 프로퍼티/함수 모음

Date:     Updated:

카테고리:

태그:

공부하면서 알게된 것만 정리합니다.😀

👩‍🦰 Rigidbody

오브젝트에 현실적이고 사실적인 물리 기능을 추가해준다.

🚀 에디터

  • Use Gravity 체크 해제하면 중력 영향 안받게 됨
  • 중력 말고도 질량, 마찰력 등등 현실 세계에 존재하는 물리적인 힘들 설정 가능.
    • Is Kinematic가 체크가 되어 있다면!! 중력은 물론이고 모든 물리적인 힘들을 받지 않게 된다.
  • Collider에 물리학을 입힌다.
  • Constraints로 특정 축으로는 이동, 회전 안되게 제한할 수 있다.
  • Mass 질량
    • 질량이 클수록 무거워서 물리적인 힘을 덜 받는다.
  • Drag 저항
    • 0 이면 저항이 없어 무중력 상태와 같고
    • 1 이면 지구와 비슷한 환경의 저항
    • 10 정도면 달과 같은 환경
  • Angular drag 밀리는 정도
    • 크면 클 수록 물리적인 힘에 의해 밀려나는 정도가 덜 하다


🚀 변수/프로퍼티

✈ velocity

  • 현재 속도. Vector3 벡터이다.
    • velocity를 사용해 속도 벡터를 직접 인위적으로 설정해주면 velocity만큼 움직이게 된다.
  • cf) 점프를 구현할 땐 AddForce 함수보단 velocity를 사용하는게 낫다.
    • AddForce 함수로 Vector.up 방향으로 힘을 주어 점프를 하게 한다면 위의 힘을 서서히 받아 지수 그래프 모양으로 움직이기 때문에 점프가 순간적으로 되지 않는다. 서서히 위로 올라가는 그림으로 연출된다.
    • 반면에 velocity값을 수정 해주면 인위적으로 수정한 velocity 벡터 값 만큼 순간적으로 이동하게 되므로 점프 같이 순간적으로 바로 이동해야 하는 것을 구현하기에 딱이다.
      • 순간적으로 velocity 만큼 이동(점프)한 후에는, Rigidbody 답게 중력에 의하여 서서히 떨어지게 된다. velocity 벡터 값도 이제는 중력 같은 물리적인 현상 아래에 있게 되므로 점프를 하고 난 다음에는 velocity 벡터 값이 중력 가속도 등의 영향을 받아 알아서 물리적인 현상에 의해 바뀌게 된다.


✈ useGravity

중력을 쓸지 말지 체크, 체크 해제 할 수 있다. Boolean 타입.


🚀 함수

✈ Addforce

public void AddForce(Vector3 force, ForceMode mode = ForceMode.Force);

  • 오브젝트가 x, y, z 축 방향으로 물리적인 힘을 받도록 한다.
  • 힘의 정도를 매개변수로 받아서 관성, 마찰력, 중력 등등 여러가지를 고려해서 내부적으로 계산한 힘을 처리한다.


✈ AddExplosionForce

public void AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius, float upwardsModifier = 0.0f, ForceMode mode = ForceMode.Force));

  • 매개변수로 넘겨받은 정보를 가지고 폭발에 대한 물리처리를 해준다. 폭발 시키기!
  • 첫번째 매개변수 : 폭발력
  • 두번째 매개변수 : 폭발 지점
  • 세번째 매개변수 : 폭발 반경 반지름


✈ MovePosition

public void MovePosition(Vector3 position);

  • 인수로 들어온 그 위치로 이동한다.


✈ MoveRotation

public void MoveRotation(Quaternion rot);

  • 인수로 들어온 그 회전값이 되게끔 회전한다.


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

UnityDocs 카테고리 내 다른 글 보러가기

댓글 남기기