Unity

Unity(2)- GetAxisRaw를 사용하여 오브젝트 이동시키는 방법

TIM_0529 2020. 9. 1. 19:57
반응형

W,A,S,D 또는 방향키를 이용해 오브젝트를 원하는 방향으로 이동시키는 방법

 

 

부드러운 이동을 구현하는 방법으로 GetAxisRaw를 사용하였다

 

void Start()

{

 myrigid=GetComponent<Rigidbody>();  //Start함수에서 myrigid라는 이름으로 Rigidbody를 상속시켜준다.

}

 

 

void Update()

{

 

 float moveDirx = Input.GetAxisRaw("Horizontal");  //Horizontal값을 moveDirx에 넣어준다.

 float moveDiry = Input.GetAxisRaw("Vertical"); 

 

Vector3 moveHorizontal = transform.right * moveDirx; //moveDirx값이 커지면 transform.right값이 변하므로 그 값이 moveHorizontal값에 들어간다.

 

Vector3 moveVertical = transform.foward * moveDiry;

 

Vector3 velocity =(moveHorizontal+moveVertical).normalized*speed;  //두 값을 더한값에 normalized(정규화)를 시켜줘서 1.0에 방향값을 구할수 있다. 여기에 원하는 speed 값을 넣어줘서 속도를 정할수 있다.

 

myrigd.MovePosition(transform.position+velocity*Time.deltaTime);  //myrigd.MovePosition함수를 사용해서 움직이는 값을 정할수 있다. Time.deltaTime을 이용해서 원하는 값이 초당 몇씩 이동하도록 해준다.

 

 

}

 

반응형