STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    Tạo Scrolling Background Với Unity

    Scrolling Background là một hiệu ứng đơn giản và dễ hiện thực, tạo cảm giác chuyển động xa vô tận của nhân vật, rất phù hợp với các game thuộc thể loại endless-running.
    02/08/2015 19/08/2020 3 phút đọc
    Tạo Scrolling Background Với Unity

    Tài nguyên sử dụng

    Trong bài viết có sử dụng ảnh không gian vũ trụ, các bạn có thể download tại background.zip.

    Lưu ý: Background được sử dụng trong bài phù hợp với các thiết bị có kích thước màn hình có tỉ lệ 4:3. Do đó cần tuỳ chỉnh lại màn hình game cho phù hợp với thực tế.

    background

    Hiện thực

    Khởi tạo project và setup môi trường làm việc

    Đầu tiên, khởi tạo một project Unity 2D. Sau khi khởi tạo project, tạo một số folder như sau để tiện quản lý game:

    Unity IDE.

    Các tài nguyên của game đặt trong folder Resources.

    Unity IDE
    Unity IDE.
    =

    Tạo background

    Bước 1: Kéo background từ trong folder Resources vào cửa sổ Hierarchy.

    Unity IDE

    Bước 2: Tạo Prefab cho background. Chỉ cần kéo thả ngược background từ cửa sổ Hierarchy vào cửa sổ Project. Để thuận tiện trong việc quản lý, nên lưu trữ Prefab này trong folder tương ứng đã tạo ra ở trên.

    Unity IDE

    Sau khi tạo Prefab, Background trong Hierarchy đã chuyển sang màu xanh. Đây là ưu điểm của Prefab khi tạo được liên kết với các Game Object trong Hierarchy. Bằng cách thêm/xoá/chỉnh sửa các component trong Prefab, các Game Object tương ứng cũng sẽ thay đổi theo.

    Bước 3: Tạo background thứ hai từ Prefabs.

    Unity IDE

    Bước 4: Điều chỉnh background. Sau khi thực hiện xong các thao tác trên, hai background sẽ nằm chồng lên nhau. Có thể tự điều chỉnh cho hai background này nằm liền kề nhau bằng thao tác chuột, hoặc tham khảo các thông số được đề xuất dưới đây:

    Unity IDE

    Bước 5: Điều chỉnh camera. Cần điều chỉnh lại thông số Size của Main Camera cho phù hợp với màn hình game. Vùng nằm phía trong của camera sẽ là những gì mà người dùng nhìn thấy và sẽ hiển thị trong cửa sổ Game. Thông số thiết lập sẵn như sau:

    Unity IDE

    Hai background liên tiếp đã tạo xong, nếu chạy demo lúc này sẽ không có gì xảy ra do chưa có script cập nhật lại toạ độ của background.

    Scrolling background

    Để tạo scrolling background, sử dụng script để tạo điều kiện cho background di chuyển phù hợp sau khi ra khỏi vùng nhìn thấy của camera.

    Tạo một file C# Script (Create → C# Script), đặt trong folder Scripts đã tạo ở trên.

    Double click vào file Script vừa tạo, mặc định sẽ mở ra MonoDevelop – được tích hợp với Unity Engine. Thay thế hàm Update() mặc định bằng đoạn code sau:

    //Initialize variables
    public float speed;
    public int background_count;
    public float background_height;
    	
    // Update is called once per frame
    void Update () {
    	//Move down
    	transform.Translate (Vector3.down *  speed  * Time.deltaTime);
    		
    	Vector3 pos = transform.position;
    	if (pos.y < -background_height) {
    		pos.y += background_height * background_count;
    		transform.position = pos;
    	}
    }

    Sau khi tạo xong đoạn script, kéo đoạn script này vào background trong thư mục Prefabs (kéo thả vào cửa sổ Inspector). Lúc này cả hai background trong cửa sổ Hierarchy đều được tích hợp đoạn script này.

    Unity IDE

    Điều chỉnh các thông số của đoạn script trong Prefabs → Background như sau:

    Unity IDE

    Ngay lập tức, hai background trong Hierarchy sẽ được cập nhật tương ứng.

    Đến đây đã hiện thực xong scrolling background với Unity.

    Unity IDE
    0 Bình luận
    Unity Game

    Unity Game

    STDIO Training - Đào tạo lập trình game.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021