1.首先,瞭解Material(材質)
材質(Materials)是unity的一個重要組成部分,主要是用來把網格(Mesh)或粒子渲染器(Particle Renderers)貼到遊戲對象上。他們在定義對象怎麼被顯示發揮重要組成部分。材質包括用於呈現網狀或顆粒著色器的參考,所以這些組件不能在沒有材質的情況下顯示。
關於Material的具體詳情可參考:http://www.ceeger.com/Components/class-Material.html
因為要使用到背景的滾動,因此,我們採用著色器是Texture(紋理)。Texture的位置可以改變,通過改變位移(Offset)和平鋪(Tiling)屬性。而且只需要一張圖,當然也可以使用多張圖。因為重複使用一張或者多張重複使用,使得Texture效能上也有優勢。 2.建立Texture
在此我們只需要一張圖片,當然也可以使用多個圖片來構建內容豐富的情境。我們需要對文理進行以下設定:
Texture Type 選擇類型為Texture
Wrap Mode 選擇Repeat (重複)
注意的是:Warp Mode一定要為Repeat才可以重複滾動 3.建立Material
Shader選擇Unlit/Texture 4.建立滾動背景Object
添加Mesh Renderer網格組件,設定Materials size為1(單個材質)選擇建立的Material 添加Mesh Filter 組件選擇Mesh為 Quad(矩形) 由於我的圖片大小是480*800,因此,進行適配,設定Transform x軸縮放4.8,Y軸縮放8 5.添加指令碼
using UnityEngine;
using System.Collections;
public class BackgroundController2 : MonoBehaviour {
public float speed = 0.1F;public Renderer rend;// Use this for initializationvoid Start () { rend = GetComponent<Renderer> ();}// Update is called once per framevoid Update () { float y = Mathf.Repeat (Time.time*speed,1); rend.material.mainTextureOffset = new Vector2 (0,y);}
}