C# 파일을 하나 만들자.

     

공포의 코딩 시간이 돌아왔다!

     

     

     

     

using UnityEngine;

using System.Collections;

     

public class CHARMOVE : MonoBehaviour {

     

     

     

Animator anim;

//애니메이터 컴포넌트를 받아오기 위해 선언한다

     

public float spd = 0.5f;

// 캐릭터의 이동속도 이다.

     

public float rotnspd = 15f;

// 캐릭터의 회전속도 이다.

     

Rigidbody rigi;

//리지드바디 컴포넌트를 받아오기 위해 선언한다

     

float h;

float v;

Vector3 moves;

//이동값과 관련된 변수

     

void Start () {

     

rigi = GetComponent<Rigidbody> ();

anim = GetComponent<Animator> ();

     

//각각의 컴포넌트를 받아온다

     

}

     

     

void Update () {

     

rot ();

ani ();

     

h = Input.GetAxisRaw ("Horizontal");

v = Input.GetAxisRaw ("Vertical");

//유니티에서는 wasd , 4방향키에 대한 수치값을 기본으로 지원해주는데 그수를 받는다.

     

Move (h, v);

//move 함수에 h와v값을 넘겨준다.

     

}

     

void Move(float h, float v){

     

moves.Set (h, 0, v);

//위의 입력된수를 받아 벡터값을 변경한다.

     

moves = (moves.normalized * spd * Time.deltaTime);

rigi.MovePosition (transform.position + moves);

//부드럽게 이동을 시켜준다.

}

     

void rot(){

if (h == 0 && v == 0)

return; // 방향키가 눌리지않을경우 리전 , 자동회전을 방지한다.

     

     

Quaternion rotn = Quaternion.LookRotation (moves);

rigi.rotation = Quaternion.Slerp (rigi.rotation, rotn, rotnspd * Time.deltaTime);

// 쿼터니어는 회전값과 관련된 함수이다 , 첫줄은 백터값에따른 방향을 바라보게 해주고

// 두번째줄은 그 방향으로 부드럽게 이동되게 하는 코드이다. (Slerp)

     

}

     

void ani(){

if (h == 0 && v == 0) {

     

anim.SetBool ("mirun", false);

// 애니메이터 컨트롤러는 이름.Set0000()이러한 형식으로 값을 바꾸어준다.

}

else {

anim.SetBool ("mirun", true);

}

     

}

     

}

     

     

     

     

     

     

     

     

코딩이 끝났다면 ,

우리의 모델에 드래그해 집어 넣는다.

     

     

     

그리고 다음 두 컴포넌트를 추가해 준다.

     

     

     

마지막으로 콜라이더 박스의 에디트 콜라이더 버튼을 이용해서

     

     

박스를 모델에 맞춰 이쁘게 맞춰준다 !

     

그리고 실행을 하면..!

   

     

     

     

     

     

     

드디어 캐릭터가 움직이기 시작한다 !

     

     

     

     

     

   

출처: <http://blog.naver.com/lib/smarteditor2/920092e/smart_editor2_inputarea.html>


WRITTEN BY
미냐브
게임,유머,게임제작 4보단 3

,