본문 바로가기

Project/Hello 3D

[Hello 3D] Unity: 플레이어 스크립트

728x90

플레이어 모습
변수 선언 내용과 Start, Update 함수 코드

speed는 플레이어의 속도를 정해주기 위해 선언한 것

rigid는 플레이어의 물리적 계산을 해주기 위해 선언한 것

Gun은 플레이어가 장착하게 될 총의 정보를 가지고 있는 것

 

Start() 함수에서는 rigid와 gun을 플레이어가 가지고 있는 것으로 가져온다.

Update() 함수는 Move() 함수와 Look() 함수 그리고 Shoot() 함수를 실행시킨다.

 

Move 함수 코드

수평 입력을 xPos에 담고, 수직 입력을 zPos에 담는다.

GetAxis로 선언하여 눌림의 정도에 따라 다르게 움직이는게 가능하게 한다.

 

입력받은 xPos와 zPos 이용하여 newVelocity를 만들어준다.

그리고 만들어지 newVelocity를 플레이어의 속도로 설정해준다.

 

Look 함수 코드

마우스의 위치를 레이로 반환받고, 하늘 방향을 가리키는 크기가 1인 GroupPlane을 만든다.

그리고 레이가 GroupPlane과 교차했는지 여부를 체크해준다.

rayDistance에 위치값을 반환받고 그 반환 값을 이용하여 LookPoint를 만들어준다.

마지막으로 플레이어가 LookPoint를 바라볼 수 있게 해 준다.

 

위의 Look() 함수의 자세한 설명을 위해서는 Sebastian Lague라는 유튜버의 탑 다운 슈팅 플레이어 컨트롤러편을 참고하기를 바란다.

 

Shoot 함수 코드

만약 마우스의 왼쪽 버튼이 눌리게 된다면 gun이라는 객체에 있는 Shoot() 함수를 호출해준다.

 

728x90