티스토리 뷰
Unity에서 2D로 게임을 개발하다 보면 계속해서 스크롤 되는 배경이 필요할 때가 있다.
구현 방식에는 여러 가지가 있지만 이 글에서는 카메라는 고정하고 이미지 자체를 스크롤 하는 방식을 사용한다.
먼저 Canvas 오브젝트를 생성하고 Render Mode를 Screen Space - Camera로 설정한 다음, Render Camera를 현재 사용하는 카메라로 설정해 준다.
그리고 Canvas 오브젝트의 자식 오브젝트로 Image 오브젝트를 생성해 준다.
Source Image는 스크롤 할 배경 이미지로 설정해 주고,
Material은 새로 생성해서 설정해준 뒤 Shader를 Unlit/Transparent로 설정해 준다.
배경 이미지는 반복해서 스크롤 되어야 하므로 Warp Mode를 Repeat으로 설정해 준다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class BackgroundScroll : MonoBehaviour
{
public Image background;
public float backgroundSpeed = 0.1f;
Vector2 backgroundScrollOffset = Vector2.zero;
private void Start()
{
background = transform.Find("Building").GetComponent<Image>();
}
private void Update()
{
ScrollBackgroundImage();
}
private void ScrollBackgroundImage()
{
backgroundScrollOffset.x += (backgroundSpeed * Time.deltaTime);
background.material.mainTextureOffset = backgroundScrollOffset;
}
}
마지막으로 Canvas 오브젝트에 위와 같은 내용의 C# 스크립트 파일을 작성해서 추가해 준다.
위 코드는 Canvas 오브젝트의 자식 오브젝트 중 배경 이미지를 찾아서 material의 offset 값을 매 프레임마다 변환하여 이미지를 스크롤 시키는 기능을 가지고 있다.
실행하면 위와 같이 이미지가 계속해서 스크롤 된다.
이미지를 여러 개 사용하고 스크롤 속도를 다르게 설정해 주면 위처럼 표현할 수도 있다.
'Programming > Unity' 카테고리의 다른 글
[Unity] Error : Couldn't open include file 'TMPro_Properties.cginc' (0) | 2024.03.28 |
---|---|
[Unity] 픽셀 아트가 너무 작거나 흐릿하게 보이는 문제 (101) | 2022.12.18 |
[Unity] Pixels Per Unit (3) | 2020.12.06 |
[Unity] Coroutine (코루틴) (0) | 2020.10.28 |
[Unity] Object Pooling (오브젝트 풀링) (114) | 2020.09.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 안드로이드 멘토링
- Level 03
- Level 02
- Basic RCE
- Level 06
- ftz
- Advance RCE
- pwnable
- 17th HackingCamp CTF
- C#
- 안드로이드
- c++
- HackingCamp
- wargame
- 풀이
- reversing.kr
- xcz.kr
- hackerschool
- Programming
- Level 04
- Reversing
- unity2d
- Unity
- Android
- Write-up
- 멘토링
- CodeEngn
- Level 01
- 유니티
- Level 05
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함