유니티 배경 만들기 - yuniti baegyeong mandeulgi

배경 이미지 설정

UI 빌더에는 전용 “이미지” 요소가 없습니다. UI 빌더에서 이미지를 생성하려면 일반 VisualElement를 만들고 Background > Image를 원하는 이미지로 설정하십시오. 아래 이미지는 인스펙터의 배경 스타일 프로퍼티 미리보기를 나타냅니다.

유니티 배경 만들기 - yuniti baegyeong mandeulgi
BackgroundStyleProperties
참고
Slice 배경 스타일 프로퍼티는 사용하지 마십시오. Slice를 사용하여 이미지에서 9슬라이싱을 설정할 수 있으나, 이는 이미지가 아닌 요소에 해당합니다. 2D 스프라이트 에디터 및 2D 스프라이트 에셋의 기존 9슬라이싱 지원을 사용하십시오. 아래의 (2)를 참조하십시오.

기본적으로 모든 일반 텍스처 이미지가 UI 빌더에서 작동합니다. 일부 선택 패키지를 설치하면 더 많은 에셋 타입을 지원할 수 있습니다.

  1. com.unity.vectorgraphics 패키지를 설치하면 VectorImage를 요소의 배경 스타일로 할당할 수 있는 기능이 UI 빌더에 표시됩니다.
  2. com.unity.2d.sprite 패키지를 설치하면 2D 스프라이트 에셋(또는 서브 에셋)을 요소의 배경 스타일로 할당할 수 있는 기능이 UI 빌더에 표시됩니다. 또한 2D Sprite 패키지를 설치하면 인스펙터에서 2D 스프라이트 에디터를 바로 열 수 있습니다.


백그라운드 스크롤링 유니티에서 무한적으로 반복되는 배경을 만들기 위해 사용되는 기술이다. 달리기 게임에서 많이 사용한다.

1

2

3

4

5

6

7

8

9

10

11

12

13

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class BackgroundScrolling : MonoBehaviour

{

public float speed;

public Transform[] backgrounds;

float leftPosX = 0f;

float rightPosX = 0f;

float xScreenHalfSize;

float yScreenHalfSize;

백그라운드 스크롤링을 위한 변수들이다.

  • speed 배경들이 움직일 속도를 정의한 변수이다.
  • backgrounds 배경들을 담아줄 변수이다.
  • leftPosX 배경의 끝 x좌표를 담아줄 변수이다.
  • rightPosX 배경의 시작 x좌표를 담아줄 변수이다.
  • xScreenHalfSize 게임 화면의 x좌표 절반을 담아줄 변수이다.
  • yScreenHalfSize 게임 화면의 y좌표 절반을 담아줄 변수이다.

void Start()

{

yScreenHalfSize = Camera.main.orthographicSize;

xScreenHalfSize = yScreenHalfSize * Camera.main.aspect;

leftPosX = -(xScreenHalfSize * 2);

rightPosX = xScreenHalfSize * 2 * backgrounds.Length;

}

start() 함수 코드이다. 백그라운드 스크 룰링에 사용되는 화면 좌표들의 값을 초기화해준다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

void Update()

{

for(int i = 0; i < backgrounds.Length; i++)

{

backgrounds[i].position += new Vector3(-speed, 00* Time.deltaTime;

if(backgrounds[i].position.x < leftPosX)

{

Vector3 nextPos = backgrounds[i].position;

nextPos = new Vector3(nextPos.x + rightPosX, nextPos.y, nextPos.z);

backgrounds[i].position = nextPos;

}

}

}

}

실질적으로 백그라운드 스크롤링을 구현하는 코드이다. Update를 사용하여 배경들의 좌표를 speed만큼 계속 이동시켜준다. 이동 중에 배경의 x좌표가 leftPosX보다 작아졌다면 배경이 화면에서 사라졌다는 것을 의미하므로 배경의 x좌표에 rightPosX만큼을 이동시켜주어 다시 화면의 시작쪽에 위치하게 해주는 해주는 것이 위의 코드 내용이다.

코드를 작성했다면 다음 사진처럼 inspector창을 지정해준다.

유니티 배경 만들기 - yuniti baegyeong mandeulgi
기본설정에 관한 사진

insepector설정까지 마쳤다면 다음과 같은 결과 화면을 구현할 수 있다.

유니티 배경 만들기 - yuniti baegyeong mandeulgi
결과 화면

결과 화면에서 볼 수 있듯이 배경들이 화면을 이탈하게 되면 다시 화면의 처음으로 돌아가는 과정을 반복하여 무한 배경 백그라운드 스크롤링을 구현할 수 있다.

'Unity' Related Articles