힘을 이용해 물체 움직여보기

phoenixKim·2021년 3월 3일
0

골드메탈_입문

목록 보기
5/8

//출처는 골드메탈님 강의입니다!

RigidBody 컴포넌트

  • 물리적인 힘을 가하기 위해서 필요하다.

  • Start 함수에서 rigidbody의 velocity에 값을 지정하면 오브젝트의 position 변화율이 적용된다.
    충돌되는 물체가 없다면 해당 변화율 계속 유지함.

RigidBody 관련코드는 FixedUpdate에서 사용하자.

Rigidbody rigid;

    void Start()
    {        
        rigid = GetComponent<Rigidbody>();
        rigid.velocity = Vector3.left;
    }

Rigidbody 변화값은 Update가 아닌 FixedUpdate에서 작성하자.

힘을 가해보자.

1) AddForce

Rigidbody rigid;

    void Start()
    {        
        rigid = GetComponent<Rigidbody>();
        
        //AddForce(vec) : vec의 방향과 크기로 힘을 줌.
        //RigidBody의 Mass 값에 영향을 받는다.
        //Impulse는 고정되어 있는 물체에 적용해야 한다. 
        rigid.AddForce(Vector3.up * 5, ForceMode.Impulse);

    }

2) 회전으로 힘을 가하자.
AddTorque(vec) : vec방향을 축으로 회전력이 생김.

void FixedUpdate()
    {       
        //회전력 가하기 
        //AddTorque(vec) : vec방향을 축으로 회전력이 생김.
        rigid.AddTorque(Vector3.back);
		=> 뒷방향으로 회전이 되면서 뒤로 회전하면서 이동하게 된다. 
    }
profile
🔥🔥🔥

0개의 댓글

관련 채용 정보