3. Unity 배경 만들기

Weed·2023년 12월 15일
0

Unity

목록 보기
5/5
post-thumbnail

1. 배경 만들기


Sprites 폴더의 배경화면 Sprite를 화면으로 드레그해서 가져온다. 그리고 Transform 좌표를 0,0,0으로 변경. object이름은 Background로 변경
해당 object가 화면 전체를 채워지기 위해 크기를 조절해야 하는데,

  • shift를 누르고 배경화면 모서리를 드레그하면 일정 비율로 크기가 조절된다.
  • object를 드레그 하다가 shift+opt키를 누르면 sprite 좌표가 0,0,0에 고정된채로 일정한 비율로 크기가 조절된다.
  • 드래그 외의 방법은 Background Sprite의 inspector을 보면 Pixels per unit이 있다. 여기서 Unit은
    게임 제작 화면에서 봤을 때 위 빨간색 네모처럼 한칸을 의미한다. Pixels Per Unit 100은 Unit 한 변당 Pixel이 100개가 쓰인다고 보면 된다. 그러면 50으로 수정하면 Object 크기는 더 크게 보일 것이다.

    <예시>
    Sprite가 100x100 Pixel을 가진다고 했을 때, Pixel Per Unit가 100이면 한칸안에 들어가겠지만, 50으로 수정하면 가로 2칸, 세로 2칸, 총 4칸 안에 들어간다. 네모칸 사이즈는 동일한데 그림이 기존 1칸에서 4칸을 차지하므로 크게 보임

    위 Sprite는 1280x720 Pixel을 가짐. 따라서 가로 길이로 Unit 12.8칸을 차지하고 세로로 7.2칸을 차지한다. Pixels Per Unit를 50으로 수정하면? 가로 25.6칸, 세로 14.4칸을 차지한다.

Object 추가하고 게임 시작 시 로딩이 오래 걸릴 때가 있다. 이를 빠르게 진행시키려면,
edit->Project Settings->edit->Enter Play Mode Options를 선택해주면 된다.

2. 움직이는 배경 만들기

예전 모바일 게임 드레곤 플라이트를 보면 배경이 계속 위에서 아래로 내려오는 것 처럼 보인다.

위 영상처럼 배경이 계속 움직이게 해보자.
원리는 다음과 같다.

두개의 배경 Object가 있다. 초록, 빨강 배경이 같이 아래로 내려오다, 아래 초록 배경이 일정 거리만큼 내려오면 빨간 배경 위로 올라간다. 마찬가지로 빨간 배경도 일정 거리만큼 내려오면 다시 초록 배경 위로 올라간다. 이 단계가 반복되어 배경이 움직이는 것처럼 보이는 것이다.
Script 폴더에 Background 스크립트 파일을 만들자. 이 스크립트 파일을 Background 두 오브젝트 파일에 컴퍼넌트로 추가해두자.

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

public class Background : MonoBehaviour
{
	private float moveSpeed = 3f;
	void Update() // 게임이 진행되는동안 계속 반복 
    {
		transform.position += Vector3.down * moveSpeed * Time.deltaTime; // 성능이 좋은 컴이든(1초에 60번 호출), 안좋은 컴(1초에 30번 호출)이든 동일하게 반복하기 위해 Time.deltaTime 곱한다.
		// Object의 Transform에서 Position이 변경되기 위한 작업.
		if (transform.position.y < -10) {
			transform.position += new Vector3(0, 20f, 0);
		}
    }
}


위 코드를 짜고 저장 후 게임 실행을 하면 배경이 무한적으로 위에서 아래로 내려오는것 처럼 보인다.

profile
개발자로 전직해보자

0개의 댓글