본문 바로가기
유니티

B10 - 힘을 이용하여 물체 움직여보기

flyon 2024. 12. 28.

1. RigidBody 컴포넌트 사용

  • RigidBody: 물리 엔진을 통해 물체의 움직임을 제어하는 중요한 컴포넌트.
  • GetComponent(): 물체의 RigidBody 컴포넌트를 가져오는 메서드.
  • 물리적 효과: 질량, 속도, 힘 등을 물체에 적용할 수 있다.

2. 속도 설정과 물체 이동

  • 속도 설정: rigidbody.velocity = new Vector3(x, y, z)로 물체의 이동 방향 설정.
    • Vector3.right: 오른쪽
    • Vector3.left: 왼쪽
    • Vector3.up: 위쪽
    • Vector3.down: 아래쪽
  • 물리 엔진: 물체가 설정된 속도로 자동으로 이동하게 됨.

3. FixedUpdate와 Update

  • Update: 매 프레임마다 호출되며, 물리적 계산과는 맞지 않음.
  • FixedUpdate: 일정한 시간 간격으로 호출, 물리 계산에 적합.
    • 물리 엔진의 안정성을 위해 물리 관련 코드는 FixedUpdate()에서 처리.

4. 힘(Force) 적용하기

  • 힘 적용: rigidbody.AddForce(Vector3 direction, ForceMode mode)
    • Vector3: 힘이 적용될 방향 설정
    • ForceMode.Impulse: 순간적인 힘을 적용 (ex. 점프)
    • ForceMode.Force: 지속적인 힘을 적용 (ex. 계속 밀기)
  • 힘의 방향과 크기: Vector3를 통해 조정 가능.

5. 질량과 힘의 관계

  • 질량이 클수록 같은 힘을 적용해도 물체는 느리게 움직인다.
  • 질량이 작으면 같은 힘으로 더 빠르게 움직인다.
  • 힘과 질량의 비례 관계를 통해 물리적 반응을 제어할 수 있다.

6. 회전력(Torque) 적용하기

  • Torque: 회전하는 힘을 물체에 적용.
  • AddTorque(Vector3 direction): 물체에 회전력을 가하는 메서드.
    • Vector3.up: Y축을 기준으로 회전.
    • Vector3.forward: Z축을 기준으로 회전.
  • 회전력을 통해 물체의 회전 운동을 제어할 수 있다.

결론

  • RigidBody를 사용하여 물체에 물리적 효과를 적용.
  • 힘(Force)과 회전력(Torque)을 이용하여 물체를 움직이거나 회전시킬 수 있음.
  • FixedUpdate에서 물리 계산을 안정적으로 처리하여 게임 내 물리적 반응을 구현할 수 있다.
profile
작심삼일을 무한으로 반복하는 지식세포 키우기
✏️ ⚙️