반응형

  • 이번에는 각 배경 이미지들을 게임이 실행되는 동안 무한히 오른쪽에서 왼쪽으로 스크롤 되는 기능을 만들기 위해 스크립트를 작성하겠습니다.
  • 프로젝트의 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 의 역할 입니다.

  • 이렇게 스크립트를 적용하면 각자 다른 속도로 일정하게 움직이는 배경을 확인할 수 있습니다.
반응형

+ Recent posts