The one thing

[유니티 무료 버전으로 놀아보자 (12)]

- 2D 애니메이션의 적용 3 -


  자전거 객체에 들어간 Character_move 스크립트 전문을 살펴보죠. 지금까지 계속해서 만들어 오던 스크립트이므로 별도의 코멘트가 없는 내용은 앞 포스트의 내용을 참조하면 되겠습니다.

using UnityEngine;
using System.Collections;


public class Character_move : MonoBehaviour {


 float move_speed = 0.05f;


 // Use this for initialization
 void Start () {

   
 }
 
 // Update is called once per frame
 void Update () {
 
  GetComponent<Animator>().SetFloat("speed", 0.0f);

 /* 평상시 애니메이터의 speed 변수를 0.0으로 유지합니다. */


  if (Input.GetKey (KeyCode.RightArrow)) {
   transform.Translate(move_speed, 0, 0);
   GetComponent<Animator>().SetFloat("speed", 0.2f);
  }

 /* 오른쪽 화살표를 누르고 있을 때 캐릭터를 오른쪽으로 이동시키고 애니메이터의 speed 변수를 0.2로 만들어 줍니다. */


  if (Input.GetKey (KeyCode.LeftArrow)) {
   transform.Translate(-move_speed, 0, 0);
   GetComponent<Animator>().SetFloat("speed", 0.2f);
  }

 /* 왼쪽 화살표를 누르고 있을 때 캐릭터를 왼쪽으로 이동시키고 애니메이터의 speed 변수를 0.2로 만들어 줍니다. */


  if (Input.GetKeyDown (KeyCode.Space)) {

   if (transform.position.y < 1){
  
   GetComponent<Rigidbody2D>().AddForce (transform.up * 5, ForceMode2D.Impulse);
   }

/* 이전에 만들었던 점프 구현 코드 */


  }
 }


}


  최대한 간단하게 만들어 보았습니다. 복잡하면 저도 이해가 안 가기 때문이죠. ^_^; 내용을 보면 애니메이터의 변수를 상황에 따라 변경해 줘서 애니메이션을 구현하는 것입니다.


  이제 빌드를 하고 실행을 시켜 보면,

  계획한 데로 작동이 잘 되고 있는 것을 확인할 수 있습니다.


  그림판을 이용해서 직접 그린 그림이라 허접한 감이 없지 않아 있지만 유니티에서 2D 애니메이션 적용의 기초를 이해하는 데는 적당하지 않을까 합니다.


  이상으로 유니티에서 애니메이션을 적용하는 내용에 대해서 알아보았는데요, 이를 고민하여 응용해 본다면 좀 더 그럴싸할 장면이 나올듯싶네요.


공유하기

facebook twitter kakaoTalk kakaostory naver band
loading