inspector에서 add componet - rigidbody 2D 선택
Rigidbody 2D란?
Rigidbody 2D는 Unity의 2D 물리 엔진에서 객체에 물리적 동작을 적용하는 컴포넌트
- 물리적 속성 부여
- 객체가 중력에 의해 영향을 받게 하고, 충돌 시 반응하게 함
- Unity의 2D 물리 시스템을 사용하여 자연스러운 움직임을 구현
- 동적인 움직임 제어
- 힘, 토크(회전력), 속도 등을 통해 객체의 동작을 조작할 수 있음
- 물리 기반 움직임을 통해 실제처럼 보이는 상호작용을 만듦
- 충돌 처리
- 충돌 검사와 반응을 자동으로 처리
- 다른 Collider 2D와의 상호작용을 관리
Rigidbody 2D의 주요 속성
Rigidbody 2D에는 여러 가지 속성이 있어, 객체의 물리적 특성을 제어할 수 있습니다. 여기 몇 가지 중요한 속성을 소개합니다:
- Mass (질량)
- 객체의 질량을 정의합니다. 질량이 클수록 가속도가 줄어들고, 힘을 가했을 때 느리게 움직입니다.
- 실제 물리 법칙에 따라 힘의 적용 시 더 많은 질량이 더 큰 저항을 발생시킵니다.
- Gravity Scale (중력 스케일)
- 객체에 적용되는 중력의 크기를 조절합니다. 기본값은 1이며, 이를 변경하여 객체가 더 빨리 또는 더 천천히 떨어지게 할 수 있습니다.
- 0으로 설정하면 중력의 영향을 받지 않습니다.
- Drag (공기 저항)
- 객체의 선형 속도를 감속시키는 저항력입니다. 값이 높을수록 속도가 빨리 줄어듭니다.
- 저항이 크면 객체가 빠르게 멈추고, 작으면 계속 움직이는 경향이 있습니다.
- Angular Drag (회전 저항)
- 객체의 회전 속도를 감속시키는 저항력입니다. 값이 높을수록 회전이 빨리 멈춥니다.
- 회전하는 물체가 느리게 회전하거나 멈추게 하고 싶을 때 사용합니다.
- Constraints (제약)
- 객체의 특정 축의 움직임 또는 회전을 고정할 수 있습니다.
- 예를 들어, X축 방향으로만 이동하게 하거나 회전을 제한할 수 있습니다.
- Move Down으로 컴포넌트의 순서를 조정할 수 있다.
개인의 취향이라고 설명하지만, 유지보수에 도움이 될 수도 있으니 참고하도록 하자.
- 게임을 실행하면 중력으로 인해 게임 오브젝트가 아래로 떨어진다
중력 설정
상단메뉴의 Edit - Project settings - Physics 2D
Script "Mover"로 오브젝트 이동시키기
rb2d.AddForce(new Vector2(1, 0), ForceMode2D.Impulse);
- GetComponent는 게임 오브젝트에 붙어 있는 특정 컴포넌트를 가져오는 Unity의 메서드
- <> 안에 가져오고자 하는 컴포넌트의 타입을 지정합니다. 여기서는 Rigidbody2D 타입
- AddForce는 Rigidbody2D 컴포넌트에 특정 방향으로 힘을 가하는 메서드
- new Vector2(1, 0)는 X축 방향으로 1의 힘, Y축 방향으로 0의 힘을 의미
- ForceMode2D는 힘이 어떻게 적용될지를 결정하는 모드
- ForceMode2D.Force: 힘을 일정 시간 동안 점진적으로 적용합니다.
- ForceMode2D.Impulse: 순간적으로 강한 힘을 가합니다.
'코딩 공부 > Unity C#' 카테고리의 다른 글
충돌 감지 -1- (1) | 2024.06.10 |
---|---|
게임 오브젝트 이동하기 (0) | 2024.06.10 |
테디(게임 오브젝트)크기 조절 (0) | 2024.06.10 |
Unity 스크립트 디버깅 (0) | 2024.06.09 |
컴포넌트로서의 스크립트 (0) | 2024.06.06 |