Unity Basic ch. 14] C#Script로 제어하기 Rigidbody 2D_Addforce
AddForce는 많은 버전이 있는데, 제일 많이 사용하는걸로 살펴보자.
1) AddForce
-------------------------------
컴포넌트이름.AddForce (벡터, 포스모드)
=>
rigid.AddForce(new Vector3(1,0,0), ForceMode2D.Impulse)
-------------------------------
==================
public class PlayerMove : MonoBehaviour
{
public Rigidbody2D rigid;
void Start()
{
rigid = GetComponent();
}
void FixedUpdate()
{
rigid.AddForce(new Vector3(1,0,0), ForceMode2D.Impulse);
}
}
==================
2) AddForce 단위벡터
-------------------------------
new Vector3(1,0,0) = transform.right
=>
rigid.AddForce(transform.right, ForceMode2D.Impulse)
-------------------------------
==================
public class PlayerMove : MonoBehaviour
{
public Rigidbody2D rigid;
void Start()
{
rigid = GetComponent();
}
void FixedUpdate()
{
rigid.AddForce(transform.right, ForceMode2D.Impulse);
}
}
==================
3) AddForce 단위벡터 * speed
-------------------------------
public float speed;
=>
rigid.AddForce(transform.right*speed, ForceMode2D.Impulse)
-------------------------------
==================
public class PlayerMove : MonoBehaviour
{
public Rigidbody2D rigid;
void Start()
{
rigid = GetComponent();
}
void FixedUpdate()
{
rigid.AddForce(transform.right*speed, ForceMode2D.Impulse);
}
}
==================
-> script에서 speed 변수에 값을 10 정도 설정하고 실행해보자.
4) ForceMode2D
rigid.AddForce(transform.right*speed, ForceMode2D.Force)
rigid.AddForce(transform.right*speed, ForceMode2D.Impulse)
3d추가
rigid.AddForce(transform.right*speed, ForceMode.VelocityChange)
rigid.AddForce(transform.right*speed, ForceMode.Acceleration)
Force | 해당 리지드바디(rigidbody)의 질량을 사용해서, 연속적인 힘(force)을 가하는 경우에 사용합니다. |
Acceleration | 질량을 무시하고, 리지드바디에(rigidbody)에 연속적인 가속력(Acceleration)을 가합니다. |
Impulse | 리지드바디의 질량을 사용해서, 짧은 순간의 힘을 가하는 경우에 사용합니다. |
VelocityChange | 질량을 무시하고, 리지드바디(rigidbody)에 속도 변화를 짧은 순간에 적용할 경우에 사용합니다. |
https://docs.unity3d.com/kr/530/ScriptReference/ForceMode.html
** 더해보기
포스모드2D를 변경 해서 어떻게 가는지 살펴보자.
참고 :
https://docs.unity3d.com/kr/530/ScriptReference/Rigidbody.AddForce.html