[Unity] 유니티 게임개발

[Unity: 유니티 게임 개발] Player - 플레이어 움직이기

ddgoori 2022. 12. 13. 15:55

Player - 플레이어 움직이기

 

Project창의 Asset에서 Scripts 폴더를 만들고 C# 스크립트를 생성한다. *이때 주의할 점은 C# 스크립트 파일명에 any space가 있으면 안된다는 것이다. 

 

그리고 만든 스크립트를 Inspector로 끌어와서 컴포넌트를 만들어준다. 인스펙터의 Script 파일을 누르면 VSC가 열린다. VSC에서 코드를 작성하고 저장하면 유니티에서 자동으로 컴파일된다.

 

현재 플레이어는 Rigid Body의 중력을 받고 있고 다른 forces 또한 받고있다. 내가 작성한 The RB가 생겼고. RigidBody가 나오면 기존에 추가해둔 Rigidbody 2D 컴포넌트를  끌어와 TheRB에 추가해준다. 이제 TheRB를 통해 스크립트로 플레이어를 움직일 수 있게 되었다.

 

이제 VSC 스트립트로 돌아와 스피드를 조절하는 변수를 만들어준다.  아래처럼 속도를 조절하고 점프력을 조절하는 변수를 만들고 저장해준다. 다시 유니티로 돌아오면 Inspector에 방금 내가 만든 변수들이 생긴다. 수치는 유니티에서 조절해준다.

theRB.velocity = new Vector2(Input.GetAxisRaw("Horizontal"), theRB.velocity.y);
*GetAxisRaw와 GetAxis 둘 다 사용할 수 있는데, GetAxisRaw를 사용하면 딜레이없이 캐릭터가 움직이는 것을 볼 수 있다.
Vector2는 X, Y의 컴포넌트다. Input은 유니티의 Project Setting의 Input Manager에 가면 default Input들을 확인할 수 있다.
left, right은 키보드 방향키고 알파벳들도 키보드 키이다.

 

다시 유니티로 돌아와서 컴파일 된 후 재생을 누르고 방향키를 왔다갔다 해보면 내가 짜놓은 코드대로 움직이는 걸 확인할 수 있다!