유니티

유니티 빗물 받는 르탄이 만들기 #2 캐릭터 움직이기

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

빗물 받는 르탄이 만들기 과정

 

목차

1.유니티 씬 설정하기

2.캐릭터 움직이기

3.비 내리기 (오브젝트 관리)

4.충돌 구현

5.UI 구성

6.게임오버 구현

 

1.Hieracrchy 패널에서 바닥 생성

1-1 하이라키 패널에서 마우스 오른쪽 클릭 > 2D object > Sprites > Square 선택

1-2 생성 후 오브젝트의 이름을 ground로 변경

1-3 오른쪽 Inspector 탭의 Transform의 오른쪽 ...을 눌러 Reset 해주기

1-4 Position X : 0 Y : -4.3  Z : 0   

ㄴ Position - 오브젝트의 위치를 설정해주는 기능

1-5 Scale    X : 6 Y : 1.5    Z : 1

ㄴ Scale - 오브젝트의 비율을 설정하는 기능

1-6 Sprite Renderer의 Color를 RGB 50, 50, 50, 255 로 설정합니다. (검정 계열)

ㄴ 색상의 경우 원하는 다른 색으로 설정해도 무관함  

 

2.Hieracrchy 패널에서 플레이어 생성

2-1 하이라키 패널에서 마우스 오른쪽 클릭 > 2D object > Sprites > Square 선택

2-2 생성 후 오브젝트의 이름을 rtan로 변경

2-3 오른쪽 Inspector 탭의 Transform의 오른쪽 ...을 눌러 Reset 해주기

2-4 Position X : 0 Y : -2.9  Z : 0   

2-5 Scale    X : 1  Y : 1     Z : 1

2-6 Sprite Renderer의 Sprite에 르탄이1 이미지를 넣기 

ㄴ 르탄이의 이미지는 첨부파일을 참고

 

3.Project패널에서 첨부파일 이미지 추가 하기

3-1 Assets폴더에 img폴더 만들기

3-2 첨부파일의 압축을 풀어 나온 이미지들을 img폴더에 넣기 

 

4.Project패널에서 르탄이 애니메이션 생성하기

4-1 Assets폴더에 animation 폴더 생성

4-2 폴더 내부에서 오른쪽클릭 > Create > Animation 선택

4-3 애니메이션 생성 후 이름을 rtan_run으로 변경

4-4 rtan_run 애니메이션 선택 후 inspector창에서 Loop Time을 선택

4-5 Hierarchy탭에 있는 rtan 캐릭터에 rtan_run 애니메이션 드래그 드랍하기

ㄴ Inspector 창에 Animator 메뉴가 추가로 생김

4-6 rtan_run 애니메이션을 더블 클릭 하여 Animation 탭을 열기

4-7 Animation에 rtan 캐릭터 클릭후 르탄이1,2 파일을 적당한 시간간격을 두고 배치하기

 

 

5.Project패널에서 rtan.cs 스크립트 생성하기

5-1 Assets폴더에 script 폴더 생성

5-2 폴더 내부에서 오른쪽클릭 > Create > C# Script선택

5-3 캐릭터를 이동하는데 필요한 사전지식 

transform.position (오브젝트의 위치를 변경하는 역할)

transform.localScale (오브젝트의 비율을 변경하는 역할)

new Vector3(-1, 1, 1); (X,Y,Z의 좌표를 가지고 있는 역할)    

Input.GetMouseButtonDown(0) (마우스 클릭을 감지하는 역할) 0 = 왼쪽클릭

 

6.rtan.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class rtanMove : MonoBehaviour

{

    //르탄이 속도

    public float direction = 0.05f;

    

    //화면 전환 구분 bool

    public bool is_left = true;


    // Start is called before the first frame update

    void Start()

    {


    }

    // Update is called once per frame

    void Update()

    {

        if (Input.GetMouseButtonDown(0)){

            if (is_left){

                is_left = false;

                direction = -0.03f;

                transform.localScale = new Vector3(-1, 1, 1);

            }

            else{

                is_left = true;

                direction = 0.03f;

                transform.localScale = new Vector3(1, 1, 1);

            }

        }

        if (transform.position.x > 2.32f){

            is_left = false;

            direction = -0.03f;

            transform.localScale = new Vector3(-1, 1, 1);

        }

        if (transform.position.x < -2.29f){

            is_left = true;

            direction = 0.03f;

            transform.localScale = new Vector3(1, 1, 1);

        }

        transform.position += new Vector3(direction, 0, 0);

    }

}

6-1 풀이

//르탄이의 이동속도 public을 선언하여 유니티에서도 제어하게끔 설정

public float direction = 0.05f; 

//르탄이의 진행방향 구분하는 bool

public bool is_left = true

 

//마우스 클릭시에 따라 화면과 르탄이의 진행방향을 바꿔주는 코드

 if (Input.GetMouseButtonDown(0)){

     if (is_left){

         is_left = false;

         direction = -0.03f;

         transform.localScale = new Vector3(-1, 1, 1);

     }

     else{

         is_left = true;

         direction = 0.03f;

         transform.localScale = new Vector3(1, 1, 1);

     }

 

 }

 

//르탄이가 화면에 닫으면 방향 바꾸게 하는 코드

if (transform.position.x > 2.32f){

    is_left = false;

    direction = -0.03f;

    transform.localScale = new Vector3(-1, 1, 1);

}

if (transform.position.x < -2.29f){

    is_left = true;

    direction = 0.03f;

    transform.localScale = new Vector3(1, 1, 1);

}

 // 르탄이가 매초 마다 자동으로 이동하게 설정 direction이라는 변수를 통해 이동값을 제어함

 transform.position += new Vector3(direction, 0, 0);

 

7.rtan.cs를 르탄이에게 추가하기

7-1 생성한 rtan.cs를 Hierarchy탭에 있는 rtan이에게 넣기 

7-2 유니티 상단에 있는 Play버튼을 눌러서 르탄이가 잘 움직이는 지 확인


 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0