Skip to content

explain Vector3 & Rigidbody2D.AddForce

Yoo Hyeokjin edited this page Jul 5, 2023 · 1 revision

Vector3 & Rigidbody2D.AddForce

설명

Unity가 제공하는 물리엔진이라고 볼 수 있는 Rigidbody2D를 활용하는 것으로
코드를 사용하여 힘을 가하는 것입니다.

다음과 같은 형태로 코드를 작성합니다.

컴포넌트이름.AddForce(Vector3, ForceMode2D)

컴포넌트이름.AddForce(Vector3 * speed, ForceMode2D)

컴포넌트이름.AddForce(Vector3 * speed * Time.deltaTime, ForceMode2D)

Vector3

  • 방향을 설명하는 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

  • 힘의 종류이다.
코드 설명
ForceMode2D.Force 해당 rigidbody의 질량을 사용해서, 연속적인 힘(force)을 가하는 경우에 사용합니다.
ForceMode2D.Acceleration 질량을 무시하고, rigidbody에 연속적인 가속력(Acceleration)을 가합니다.
ForceMode2D.Impulse rigidbody의 질량을 사용해서, 짧은 순간의 힘을 가하는 경우에 사용합니다.
ForceMode2D.VelocityChance 질량을 무시하고, rigidbody에 속도 변화를 짧은 순간에 적용할 경우에 사용합니다.
Clone this wiki locally