Unity 背景を移動させる

Quadを使用して背景を移動させる方法

画像の取り込み

  1. png画像をドラッグアンドドロップでScriptsフォルダなどにUnityに取り込む
  2. importした画像を選択、Inspector内のTexture TypeをDefaultに変更する
  3. InspectorでWrap ModeをRepeatにする

Stageに背景画像を設定する

  1. HierarchyのCreate → 3D Object → QuadでQuadを作成する
  2. 作成したQuadにImportした画像をアタッチする
  3. Quadを選択、Inspectorでアタッチした画像のShaderをUnlit → TextureでUnlit/Textureに変更する
  4. 透過する部分がある場合、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にアタッチする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください