Unity 강체를 이용한 움직임

강성원·2023년 12월 4일
0

Unity

목록 보기
4/12
post-thumbnail

컴포넌트 가져오기 GetComponent

오브젝트에 붙어있는 컴포넌트 가져오기.
가져오고자 하는 컴포넌트 이름을 "<>" 사이에 넣어줌.

Rigidbody rigidbody;
// Start is called before the first frame update
void Start()
{
    rigidbody = GetComponent<Rigidbody>();
}

강체에 힘 가하기 AddForce

public void AddForce (Vector3, ForceMode);
  • Vector3: 인자로 받은 벡터의 값과 방향 만큼 힘을 더한다.
  • ForceMode: 적용할 힘의 유형.
Vector3 vector3 = new Vector3(
    Input.GetAxis("Horizontal"),
    0,
    Input.GetAxis("Vertical"));

rigidbody.AddForce(vector3, ForceMode.Impulse);


강체에 회전력 가하기 AddTorque

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

profile
개발은삼순이발

0개의 댓글