Quadを使用して背景を移動させる方法
画像の取り込み
- png画像をドラッグアンドドロップでScriptsフォルダなどにUnityに取り込む
- importした画像を選択、Inspector内のTexture TypeをDefaultに変更する
- InspectorでWrap ModeをRepeatにする
Stageに背景画像を設定する
- HierarchyのCreate → 3D Object → QuadでQuadを作成する
- 作成したQuadにImportした画像をアタッチする
- Quadを選択、Inspectorでアタッチした画像のShaderをUnlit → TextureでUnlit/Textureに変更する
- 透過する部分がある場合、ShaderをUnlit → TransparentでUnlit/Transparentに変更する
背景移動Scriptのアタッチ
Unity公式ページを参考に、C# Script、Background.csを作成する
public class Background : MonoBehaviour
{
// スクロールするスピード
public float speed = 0.1f;
void Update()
{
// 時間によってYの値が0から1に変化していく。1になったら0に戻り、繰り返す。
float y = Mathf.Repeat(Time.time * speed, 1);
// Yの値がずれていくオフセットを作成
Vector2 offset = new Vector2(0, y);
// マテリアルにオフセットを設定する
GetComponent<Renderer>().sharedMaterial.SetTextureOffset("_MainTex", offset);
}
}
作成したScriptを背景Quadにアタッチする
