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에서 물리 계산을 안정적으로 처리하여 게임 내 물리적 반응을 구현할 수 있다.