Hướng dẫn về bản đồ nhỏ kiểu tổng quan cho Unity

Các cấp độ trò chơi có nhiều hình dạng và hình thức, từ cấp độ 2D đơn giản đến cấp độ 3D phức tạp hơn, với không gian và hành lang rộng lớn.

Minimap là một bản đồ thu nhỏ thường được đặt ở góc màn hình và thường được sử dụng trong các trò chơi điện tử để giúp người chơi điều hướng theo cấp độ trò chơi.

Trong hướng dẫn này, tôi sẽ hướng dẫn cách tạo một bản đồ nhỏ hình tròn trong Unity, sử dụng UI canvas.

bước

Đối với bộ điều khiển trình phát, tôi sẽ sử dụng Bộ điều khiển FPS này.

Để tạo một bản đồ nhỏ, hãy làm theo các bước dưới đây:

  • Mở Cảnh với cấp độ trò chơi của bạn
  • Tạo Canvas UI mới, nếu bạn chưa có (GameObject -> UI -> Canvas)
  • Tạo Hình ảnh mới bằng cách nhấp chuột phải vào Canvas -> UI -> Hình ảnh
  • Gán sprite bên dưới cho ảnh (Click chuột phải để tải ảnh)

thiết kế đường viền bản đồ nhỏ hình tròn

  • Thay đổi Căn chỉnh hình ảnh ở trên cùng bên trái và trục xoay thành (0, 1)

  • Tạo Hình ảnh thô mới bằng cách nhấp vào Canvas -> UI -> Hình ảnh thô (Đảm bảo Hình ảnh thô được đặt trước Hình ảnh Radar trong Hệ thống phân cấp để nó được hiển thị phía sau).

  • Tạo một Camera mới, đặt tên là "Minimap_Camera", đặt nó phía trên trình phát của bạn rồi trỏ nó xuống
  • Xóa Trình nghe âm thanh khỏi "Minimap_Camera"
  • Tạo một Kết cấu kết xuất mới (Trong chế độ xem Dự án Tạo -> Kết xuất kết cấu) và đặt tên cho nó "MinimapTexture"
  • Gán Kết cấu kết xuất mới được tạo cho "Minimap_Camera" Kết cấu mục tiêu

  • Gán "MinimapTexture" cho Kết cấu hình ảnh thô

Bây giờ chúng ta cần thêm mặt nạ sprite để hình ảnh được cắt đẹp mắt:

  • Nhân đôi hình ảnh radar
  • Thay đổi kết cấu của hình ảnh nhân đôi thành sprite bên dưới (Click chuột phải để tải hình ảnh):

vòng tròn màu xám trong suốt

  • Thêm thành phần Mask vào hình ảnh mặt nạ

  • Di chuyển hình ảnh thô với kết cấu kết xuất bên trong hình ảnh mặt nạ

Hình ảnh cuối cùng sẽ được cắt ngay bây giờ:

Như bạn có thể thấy, Camera bản đồ nhỏ hiển thị bản đồ như hiện tại, bao gồm người chơi và mọi đối tượng động, nhưng đó không phải là điều chúng tôi muốn, chúng tôi chỉ hiển thị bản đồ mà không có bất kỳ đối tượng động nào.

  • Chụp ảnh màn hình ở chế độ xem trên cùng của bản đồ (Trước khi thực hiện, hãy tắt mọi đối tượng động như người chơi, kẻ thù, v.v.)

  • Tạo một Quad mới (GameObject -> 3D Object -> Quad) và đặt nó dưới bản đồ, như thế này:

  • Gán ảnh chụp màn hình cho Quad và thay đổi Shader vật liệu thành "Unlit/Texture"
  • Đảm bảo vị trí ảnh chụp màn hình trên Quad khớp với bản đồ:

  • Thay đổi lớp Quad của bản đồ nhỏ thành "UI"
  • Trong "Minimap_Camera" thay đổi Culling Mask thành "UI"
  • Tạo một Quad khác và di chuyển nó vào bên trong đối tượng "Minimap_Camera", gán hình ảnh bên dưới cho nó:

  • Thay đổi Shader trên mũi tên Quad thành "Unlit/Transparent"

  • Thay đổi mũi tên Lớp Quad thành "UI"

Đây là kết quả cuối cùng:

  • Tạo một tập lệnh mới, đặt tên là "SC_MinimapCamera" và dán đoạn mã bên dưới vào bên trong nó:

SC_MinimapCamera.cs

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

public class SC_MinimapCamera : MonoBehaviour
{
    public Transform target;

    float defaultPosY;

    // Start is called before the first frame update
    void Start()
    {
        defaultPosY = transform.position.y;
    }

    // Update is called once per frame
    void Update()
    {
        // Apply position
        transform.position = new Vector3(target.position.x, defaultPosY, target.position.z);
        // Apply rotation
        transform.rotation = Quaternion.Euler(90, target.eulerAngles.y, 0);
    }
}
  • Đính kèm tập lệnh SC_MinimapCamera vào đối tượng "Minimap_Camera".
  • Gán trình phát của bạn cho biến Target trong SC_MinimapCamera.

Bản đồ nhỏ hiện đã sẵn sàng, để sử dụng nó, bạn chỉ cần đi vòng quanh cấp độ và quan sát sự thay đổi vị trí.

Sharp Coder Trình phát video

Bài viết được đề xuất
Hướng dẫn menu chính cho Unity
Chọn mẫu kiếm phù hợp cho dự án Unity của bạn
Cách thêm Zombie vào trò chơi Unity
Đánh giá về Gói lưu trữ tài sản Unity - Planet Shader và Shadowing System
Hướng dẫn tạo hiệu ứng phát sáng đối tượng cho Unity
Hướng dẫn nhiều người chơi trên cùng một PC chia màn hình cho Unity
Hướng dẫn xử lý hậu kỳ hiệu ứng hình ảnh tầm nhìn ban đêm cho Unity