오브젝트에 붙어있는 컴포넌트 가져오기.
가져오고자 하는 컴포넌트 이름을 "<>" 사이에 넣어줌.
Rigidbody rigidbody;
// Start is called before the first frame update
void Start()
{
rigidbody = GetComponent<Rigidbody>();
}
public void AddForce (Vector3, ForceMode);
- Vector3: 인자로 받은 벡터의 값과 방향 만큼 힘을 더한다.
- ForceMode: 적용할 힘의 유형.
Vector3 vector3 = new Vector3(
Input.GetAxis("Horizontal"),
0,
Input.GetAxis("Vertical"));
rigidbody.AddForce(vector3, ForceMode.Impulse);
public void AddTorque (Vector3, ForceMode);
벡터의 방향이 회전 축이된다.
시계 방향으로 회전한다.
Vector3 torqueVector = new Vector3(1, 0, 0);
rigidbody.AddTorque(torqueVector);
x축을 기준으로 시계 방향 회전을 한다.
구체가 정지 상태일 때 Vector3.up으로 힘을 한 번 주면 힘이 더해지지 않는다.
속력이 0이면 초기 속도를 세팅해주면 되긴하는데 좀 더 좋은 방법 없을까..
참고
유튜브 채널 [골드메탈] : https://youtu.be/h_MA36TGFsc?si=WnufHFm0XKfU1PnU
유니티 문서 : https://docs.unity3d.com/kr/2021.3/ScriptReference/Rigidbody.AddTorque.html