C#/게임 제작 + TIL
Unity Scrolling Background - 무한 배경
Toa_
2025. 2. 19. 15:00
만약 무한하게 이어지는 배경을 만들려면 어떻게 해야 할까?
리소스는 한정돼 있기 때문에 끝도 없이 이어지는 png 파일을 이어 붙이는 방법은 좋지 못할 것이다.
이때 만약 배경에 큰 변화가 필요 없는 조건이라면 간단하게 사용 가능한 방법이 존재한다.
간단하게 유니티 내에 기본적으로 존재하는 RawImage 컴포넌트 와 wrap mode의 repeat를 사용하면 일정한 패턴의 이미지의 경우 무한히 이어지면서 보이는 효과를 줄 수 있다.
1. 이미지 파일을 가져온 뒤 Wrap Mode를 Repeat로 변경해 준다.
2. 적용할 UI 또는 이미지의 Imgae 컴포넌트를 Raw Image로 변경.
3. 스크립트를 통해 원하는 정도의 움직임을 구현한다.
public class ScrollingBackground : MonoBehaviour
{
[SerializeField] private RawImage _img;
public float x, y;// x, y축으로 얼마나 움직일지 결정.
void Update()
{
_img.uvRect = new Rect(_img.uvRect.position + new Vector2(_x, _y) * Time.deltaTime, _img.uvRect.size);
}
}
이렇게 한 뒤 원하는 만큼의 속도감을 x, y에 대입한다면 무한하게 이어지며 움직이는 배경을 구현할 수 있다.