본문 바로가기

Unity/Unity3D

Unity - 힘을 이용하여 물체 움직이기

1.물체에 속도 설정해서 움직이기

Rigidbody.velocity

 

1.  Rigidbody 컴포넌트를 C#으로 가져와서 변수로 담기

    GetComponent<T>() : T타입의 컴포넌트를 C#으로 가져옴

 

2. Rigidbody의 클래스 안의 velocity라는 변수로 물체에 속력을 줌

 

3.  그 값으로 벡터3를 줘서 방향을 나타냄

 

4. Rigidbody 관련 코드는 void FixedUpdate(){}안에 작성  

 

힘x 속력을 줌
힘x 속력을 줌

 

 

2. 물체에 힘을 주어 움직이기

1. Rigidbody.AddForce(Vector3 위치값 * 힘크기 , 힘주는 방식)

Force 해당 리지드바디(rigidbody)의 질량을 사용해서, 연속적인 힘(force)을 가하는 경우에 사용합니다.
Acceleration 질량을 무시하고, 리지드바디에(rigidbody)에 연속적인 가속력(Acceleration)을 가합니다.
Impulse 리지드바디의 질량을 사용해서, 짧은 순간의 힘을 가하는 경우에 사용합니다. 게임점프를 구상할때 많이 씀
VelocityChange 질량을 무시하고, 리지드바디(rigidbody)에 속도 변화를 짧은 순간에 적용할 경우에 사용합니다.

 

 

2. InPutButton 입력이 있을때 작용하도록 코딩

*AddForce를 계속주면 힘방향으로 계속 속도velocity도 증가한다

3.InPut.GetAxis로 키보드 상하좌우키를 눌러서 물체 이동시키기

 

3. 회전력 주기

1.Rigidbody.AddTorque(vec)

- vec 방향을 축으로 회전력이 생김

- public void AddTorque(Vector3 torque, ForceMode mode = ForceMode.Force);

 

 

 

'Unity > Unity3D' 카테고리의 다른 글

Unity - 물리충돌이벤트  (0) 2020.10.28
Unity -자동완성 오류  (0) 2020.10.28
Unity - 물체 만들기  (0) 2020.10.23
Unity - 델타타임  (0) 2020.10.23
Unity- 목표지점으로 이동  (0) 2020.10.23