-
Notifications
You must be signed in to change notification settings - Fork 2
explain Vector3 & Rigidbody2D.AddForce
Yoo Hyeokjin edited this page Jul 5, 2023
·
1 revision
Unity가 제공하는 물리엔진이라고 볼 수 있는 Rigidbody2D를 활용하는 것으로
코드를 사용하여 힘을 가하는 것입니다.
다음과 같은 형태로 코드를 작성합니다.
컴포넌트이름.AddForce(Vector3, ForceMode2D)
컴포넌트이름.AddForce(Vector3 * speed, ForceMode2D)
컴포넌트이름.AddForce(Vector3 * speed * Time.deltaTime, ForceMode2D)
- 방향을 설명하는 Vector3이다.
- 보통 Vector3.foward에 원하는 speed 변수를 만들어 곱해줌으로써 힘의 크기와 방향을 결정한다.
코드 | new 코드 | 설명 |
---|---|---|
Vector3.forward | new Vector3(0,0,1) | z = 1 이다. |
Vector3.back | new Vector3(0,0,-1) | z = -1 이다. |
Vector3.up | new Vector3(0,1,0) | y = 1 이다. |
Vector3.down | new Vector3(0,-1,0) | y = -1 이다. |
Vector3.right | new Vector3(1,0,0) | x = 1 이다. |
Vector3.left | new Vector3(-1,0,0) | x = -1 이다. |
Vector3.one | new Vector3(1,1,1) | x = 1, y = 1, z = 1 이다. |
Vector3.zero | new Vector3(0,0,0) | x = 0, y = 0, z = 0 이다. |
- 힘의 종류이다.
코드 | 설명 |
---|---|
ForceMode2D.Force | 해당 rigidbody의 질량을 사용해서, 연속적인 힘(force)을 가하는 경우에 사용합니다. |
ForceMode2D.Acceleration | 질량을 무시하고, rigidbody에 연속적인 가속력(Acceleration)을 가합니다. |
ForceMode2D.Impulse | rigidbody의 질량을 사용해서, 짧은 순간의 힘을 가하는 경우에 사용합니다. |
ForceMode2D.VelocityChance | 질량을 무시하고, rigidbody에 속도 변화를 짧은 순간에 적용할 경우에 사용합니다. |