반응형

- 이번에는 각 배경 이미지들을 게임이 실행되는 동안 무한히 오른쪽에서 왼쪽으로 스크롤 되는 기능을 만들기 위해 스크립트를 작성하겠습니다.
- 프로젝트의 Assets - Scripts 폴더를 생성하였습니다.
- BackgroundScroll 이름의 스크립트를 생성합니다.
using UnityEngine;
public class BackgroundScroll : MonoBehaviour
{
[Header("Settings")]
[Tooltip("텍스쳐의 스크롤 속도가 얼마나 빨라야 하는가?")]
public float scrollSpeed;
[Header("References")]
public MeshRenderer meshRenderer;
void Start()
{
}
void Update()
{
meshRenderer.material.mainTextureOffset += new Vector2(scrollSpeed * Time.deltaTime, 0);
}
}
- 배경 스크롤을 위한 코드 입니다.
- 스크립트는 각 배경 이미지에 적용이 되고 배경의 머터리얼의 Offset 의 X좌표를 배경 스크롤 스피드를 통해 제어합니다.
- Offset의 X 좌표를 움직이면 생성한 이미지 범위 안에서 반복적으로 이미지가 움직이는 것을 확인할 수 있습니다.
[Header("Settings")]
[Tooltip("텍스쳐의 스크롤 속도가 얼마나 빨라야 하는가?")]
public float scrollSpeed;
- 이 부분에서 scrollSpeed는 얼만큼의 속도로 배경을 움직일건지 결정합니다.
void Update()
{
meshRenderer.material.mainTextureOffset += new Vector2(scrollSpeed * Time.deltaTime, 0);
}
- 그리고, 매 프레임마다 Offset을 스피드 만큼 적용합니다.
- 여기서 Time.deltaTime을 스피드에 곱해주면서 각 컴퓨터의 성능에 맞춰서 일정하게 속도를 유지할 수 있습니다.
- 컴퓨터는 각자 성능이 다르기 때문에 좋은 성능이라면 스피드가 빠르게 적용되고, 성능이 떨어질 수록 스피드가 느리게 적용될 것 입니다.
- 이런 차이를 일정하게 맞춰주도록 하는 방법이 Time.deltaTime 의 역할 입니다.

- 이렇게 스크립트를 적용하면 각자 다른 속도로 일정하게 움직이는 배경을 확인할 수 있습니다.
반응형
'Unity Project > Unity6 Challenge (김치-런)' 카테고리의 다른 글
| [Unity 6 Challenge] 장애물 만들기(1) (2) | 2024.12.19 |
|---|---|
| [Unity 6 Challenge] 캐릭터 플레이어 애니메이션 (0) | 2024.12.18 |
| [Unity 6 Challenge] 캐릭터 플레이어(Player) Jump. (2) | 2024.12.18 |
| [Unity 6 Challenge] 프로젝트 세팅 및 배경 이미지 적용하기. (2) | 2024.12.17 |
| [Unity 6 Challenge] Unity 6 설치하기. (1) | 2024.12.17 |