Підручник мінікарти оглядового типу для Unity

Ігрові рівні бувають різних форм і форм, від простих 2D-рівнів до складніших 3D-рівнів із величезними просторами та коридорами.

Мінімапа — це мініатюрна карта, яка зазвичай розміщується в кутку екрана та часто використовується у відеоіграх, щоб допомогти гравцям орієнтуватися на рівні гри.

У цьому підручнику я покажу, як створити круглу мінікарту в Unity, використовуючи полотно інтерфейсу користувача.

Кроки

Для контролера програвача я буду використовувати цей FPS Controller.

Щоб створити міні-карту, виконайте наведені нижче дії.

  • Відкрийте Сцену з вашим рівнем гри
  • Створіть новий UI Canvas, якщо у вас його немає (GameObject -> UI -> Canvas)
  • Створіть нове зображення, клацнувши правою кнопкою миші Canvas -> UI -> Image
  • Призначте наведений нижче спрайт до зображення (клацніть правою кнопкою миші, щоб завантажити зображення)

круговий дизайн кордону мінікарти

  • Змініть вирівнювання зображення вгорі ліворуч і поворот на (0, 1)

  • Створіть нове необроблене зображення, натиснувши Canvas -> UI -> Raw Image (переконайтеся, що необроблене зображення розміщено перед радарним зображенням в ієрархії, щоб воно відтворювалося позаду).

  • Створіть нову камеру, назвіть її "Minimap_Camera", розташуйте її над плеєром і направте вниз
  • Видалити аудіослухач із "Minimap_Camera"
  • Створіть нову текстуру візуалізації (у режимі перегляду проекту «Створити» -> «Текстура візуалізації») і назвіть її "MinimapTexture"
  • Призначте новостворену текстуру візуалізації до "Minimap_Camera" цільової текстури

  • Призначте "MinimapTexture" текстурі необробленого зображення

Тепер нам потрібно додати маску спрайту, щоб зображення було гарно обрізаним:

  • Дублюйте зображення радара
  • Змініть текстуру копійованого зображення на спрайт нижче (клацніть правою кнопкою миші, щоб завантажити зображення):

сіре коло прозоре

  • Додайте компонент Mask до зображення маски

  • Перемістіть необроблене зображення з текстурою візуалізації всередину зображення маски

Тепер остаточне зображення має бути обрізане:

Як бачите, міні-карта Camera показує карту такою, як вона є, включаючи гравця та будь-які динамічні об’єкти, але це не те, чого ми хочемо, ми хочемо показати лише карту без жодних динамічних об’єктів.

  • Зробіть скріншот верхнього вигляду карти (перед цим деактивуйте будь-які динамічні об’єкти, такі як гравці, вороги тощо)

  • Створіть новий Quad (GameObject -> 3D Object -> Quad) і розмістіть його під картою, як це:

  • Призначте скріншот Quad і змініть матеріал Shader "Unlit/Texture"
  • Переконайтеся, що позиція знімка екрана на квадроциклі відповідає карті:

  • Змінити шар Quad мінікарти на "UI"
  • У "Minimap_Camera" змініть Culling Mask на "UI"
  • Створіть інший Quad і перемістіть його всередину об’єкта "Minimap_Camera", призначте йому зображення нижче:

  • Змініть шейдер на стрілці Quad на "Unlit/Transparent"

  • Змініть шар Quad зі стрілкою на "UI"

Ось кінцевий результат:

  • Створіть новий сценарій, назвіть його "SC_MinimapCamera" і вставте в нього наведений нижче код:

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);
    }
}
  • Приєднайте сценарій SC_MinimapCamera до об’єкта "Minimap_Camera".
  • Призначте свого гравця змінній Target у SC_MinimapCamera.

Тепер міні-карта готова, щоб використовувати її, просто пройдіться рівнем і спостерігайте за зміною позиції.

Sharp Coder Відеоплеєр

Рекомендовані статті
Підручник головного меню для Unity
Створіть ефект піни для мийки високого тиску в Unity
Підручник з ефекту світіння об’єктів для Unity
Підручник з постобробки ефекту нічного бачення для Unity
Створення простого шейдера трави в Unity
Створення меню паузи в Unity
Вибір правильних моделей мечів для вашого проекту Unity