Unity 2D – স্ক্রোলিং ব্যাকগ্রাউন্ড

সিম্পল 2D গেম গুলোতে সাধারণত স্ক্রোলিং ব্যাকগ্রাউন্ড ব্যবহার করা হয়। আমরা দেখব কিভাবে স্ক্রোলিং ব্যকগ্রাউন্ড ব্যবহার করা যায়। এর আগের লেখাতে দেখেছি আমরা কিভাবে শুটিং করা যায় এবং কিভাবে ইফেক্ট ব্যবহার করা যায়। এই উদাহরণে আগের প্রজেক্টটা ব্যবহার করতে পারেন।

 

হিসেবে Space Shooter স্প্রাইট প্যাক ব্যবহার করতে পারেন।

স্ক্রোলিং ব্যাকগ্রাউন্ড এনিমেশন ব্যবহার করেও করা যায়। ফ্লাপি বার্ড গেম টিউটোরিয়াল এ আমরা দেখেছি কিভাবে এনিমেশন ব্যবহার করে একটা ইমেজ স্ক্রোল করা যায়। সেই একই পদ্ধতি ব্যবহার করে আমরা ব্যাকগ্রাউন্ডও ব্যবহার করতে পারি। এবার একটু অন্য ভাবে আমরা স্ক্রোল করব।

প্রথমে একটা প্রজেক্ট তৈরি করে নিব। বা আগের যে কোন প্রজেক্ট ব্যবহার করতে পারি। এরপর মেনু থেকে GameObjcet > 3D > Quad সিলেক্ট করে একটা কোয়াড তৈরি করে নিব। রিসাইজ টুল ব্যবহারর করে ক্যামেরা সাইজের সমান করে নিব।

যে ইমেজটি আমরা ব্যাকগ্রাউন্ড হিসেবে ব্যবহার করব, ইন্সপেক্টর থেকে তার Wrap Mode পরিবর্তন করে Repeat সিলেক্ট করে দিব। এবার এই ইমেজটি কোয়াডের উপর ছেড়ে দিব। অথবা কোয়াড সিলেক্ট করে ইন্সপেক্টর থেকেও সিলেক্ট করতে পারি।

ইমেজ সিলেক্ট করার পর দেখব কেমন ডার্ক দেখায়। এটি পরিবর্তন করার জন্য আমরা লাইট ব্যবহার করতে পারি। তার জন্য GameObject > Light > Spotlight ব্যবহার করতে পারি। অথবা Shader থেকে Unlit > Texture সিলেক্ট করে দিতে পারি। তাহলে ইমেজ যেমন থাকবে, তেমন ব্যাকগ্রাউন্ড দেখাবে।

এবার একটি স্ক্রিপ্ট তৈরি করে নিব। যেমন BackgroundScroller। তার মধ্যে GetComponent().material.mainTextureOffset += new Vector2(0f, speed * Time.deltaTime); লিখে প্লে করলে আমাদের ব্যাকগ্রাউন্ড মুভ করা শুরু করবে।

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BackgroundScroller : MonoBehaviour
{
    public float speed = .2f;
    

    void Update()
    {   

        GetComponent<Renderer>().material.mainTextureOffset += new Vector2(0f, speed * Time.deltaTime);
        
    }
}

হরিজন্টালি স্ক্রোল করতে চাইলে Vector2(speed * Time.deltaTime, 0f) লিখে ব্যাকগ্রাউন্ড হরিজন্টালি স্ক্রোল করবে।

1 thought on “Unity 2D – স্ক্রোলিং ব্যাকগ্রাউন্ড”

Leave a Reply