호빵의 IT 개발소

[MMO RPG] Player 간단한 움직임 구현 본문

C#, 유니티/MMO RPG 만들기 기초(클라이언트)

[MMO RPG] Player 간단한 움직임 구현

호빵Stack 2022. 1. 17. 21:53

1. 유니티에서 모델 하나를 불러옵니다.

 

2. PlayerController 스크립트를 생성합니다.

 

3. 유니티 모델을 클릭한 후 생성한 스크립트를 적용시켜 줍니다.

 

4. 스크립트를 열어서 void Update()를 작성해 줍니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    void Start()
    {
        
    }

    void Update()
    {
        if (Input.GetKey(KeyCode.W))
            transform.position += new Vector3(0.0f, 0.0f, 1.0f);
        if (Input.GetKey(KeyCode.S))
            transform.position -= new Vector3(0.0f, 0.0f, 1.0f);
        if (Input.GetKey(KeyCode.A))
            transform.position -= new Vector3(1.0f, 0.0f, 0.0f);
        if (Input.GetKey(KeyCode.D))
            transform.position += new Vector3(1.0f, 0.0f, 0.0f);
    }
}

여기서 if (Input.GetKey(KeyCode.W)) 의미는 //내가 W키를 클릭했을때

            transform.position += new Vector3(0.0f, 0.0f, 1.0f); //포지션을 얼마만큼 움직여준다.

                                                                              //Vector3(x, y, z) 순으로 되어있습니다. 

 

여기서 주의 할 점은 내 모델의 좌표를 보고 Vector를 작성해주셔야 합니다.

 

W 클릭 시 전진(z방향)해야 하기 때문에 z값에서 +가 되야 합니다.

transform.position += new Vector3(0.0f, 0.0f, 1.0f);

 

S클릭 시 뒤로(z방향 반대) 가야하기 떄문에 W와 반대로 z값에서 -가 되어야 합니다.
transform.position -= new Vector3(0.0f, 0.0f, 1.0f);


A클릭 시 왼쪽(x방향 반대)으로 가야 하기 때문에 X값에서 -가 되어야 합니다.
transform.position -= new Vector3(1.0f, 0.0f, 0.0f);


D클릭 시 오른쪽(x 방향)으로 가야하기 때문에 X값에서 +가 되어야 합니다.
transform.position += new Vector3(1.0f, 0.0f, 0.0f);

 

 

12시 플레이어 버튼 클릭한 뒤 w, a, s, d 키로 움직일 수 있습니다. (속도는 빠르지만 다음 챕터에서 천천히 교정 예정입니다.)

 

 

 

---------------------------------------------------------------------------------------------------------------------------

참고 : [인프런] Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티  엔진

'C#, 유니티 > MMO RPG 만들기 기초(클라이언트)' 카테고리의 다른 글

[MMO RPG] Trigger  (0) 2022.01.21
[MMO RPG] Collision  (0) 2022.01.21
[MMO RPG] Collider  (0) 2022.01.21
[MMO RPG] Rotation  (0) 2022.01.19
[MMO RPG] Position  (0) 2022.01.19
Comments