만약 무한하게 이어지는 배경을 만들려면 어떻게 해야 할까?
리소스는 한정돼 있기 때문에 끝도 없이 이어지는 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에 대입한다면 무한하게 이어지며 움직이는 배경을 구현할 수 있다.
'C# > 게임 제작 + TIL' 카테고리의 다른 글
Material Properties - 마테리얼/쉐이더 속성 (0) | 2025.03.05 |
---|---|
트러블 슈팅 - UI 내부에서의 충돌 판정 구현 (0) | 2025.02.20 |
Dotween Pause() (0) | 2025.02.18 |
비동기 프로그래밍 (Unitask, Task) (0) | 2025.02.04 |
C# 컬렉션 (FirstOrDefault(); ) (0) | 2025.02.04 |