نظرة عامة على البرنامج التعليمي للخريطة المصغرة للوحدة

تأتي مستويات اللعبة بأشكال وأشكال عديدة، بدءًا من المستويات البسيطة ثنائية الأبعاد وحتى المستويات ثلاثية الأبعاد الأكثر تعقيدًا، بمساحات وممرات واسعة.

Minimap عبارة عن خريطة مصغرة يتم وضعها عادةً في زاوية الشاشة وغالبًا ما تُستخدم في ألعاب الفيديو لمساعدة اللاعبين على التنقل في مستوى اللعبة.

سأوضح في هذا البرنامج التعليمي كيفية إنشاء خريطة مصغرة دائرية في Unity، باستخدام UI Canvas.

خطوات

بالنسبة لوحدة تحكم المشغل، سأستخدم وحدة تحكم FPS.

لإنشاء خريطة مصغرة، اتبع الخطوات التالية:

  • افتح المشهد بمستوى لعبتك
  • أنشئ لوحة واجهة مستخدم جديدة، إذا لم يكن لديك أي منها (GameObject -> UI -> Canvas)
  • قم بإنشاء صورة جديدة، بالنقر بزر الماوس الأيمن على Canvas -> UI -> Image
  • قم بتعيين الكائن أدناه للصورة (انقر بزر الماوس الأيمن لتنزيل الصورة)

تصميم حدود الخريطة المصغرة الدائرية

  • قم بتغيير محاذاة الصورة إلى أعلى اليسار والمحور إلى (0، 1)

  • قم بإنشاء صورة أولية جديدة، من خلال النقر على Canvas -> UI -> صورة أولية (تأكد من وضع الصورة الأولية قبل صورة الرادار في التسلسل الهرمي، بحيث يتم عرضها خلفها).

  • قم بإنشاء كاميرا جديدة، وقم بتسميتها "Minimap_Camera"، وضعها فوق المشغل الخاص بك ثم قم بتوجيهها للأسفل
  • إزالة مستمع الصوت من "Minimap_Camera"
  • قم بإنشاء نسيج تجسيد جديد (في عرض المشروع، إنشاء -> تجسيد النسيج) وقم بتسميته "MinimapTexture"
  • قم بتعيين مادة العرض التي تم إنشاؤها حديثًا إلى "Minimap_Camera" Target Texture

  • قم بتعيين "MinimapTexture" إلى نسيج الصورة الخام

نحن الآن بحاجة إلى إضافة قناع الكائنات، بحيث يتم اقتصاص الصورة بشكل جيد:

  • تكرار صورة الرادار
  • قم بتغيير نسيج الصورة المكررة إلى الكائن أدناه (انقر بزر الماوس الأيمن لتنزيل الصورة):

دائرة رمادية شفافة

  • أضف مكون القناع إلى صورة القناع

  • انقل الصورة الأولية باستخدام Render Texture داخل صورة القناع

يجب أن يتم اقتصاص الصورة النهائية الآن:

كما ترون، تعرض كاميرا الخريطة المصغرة الخريطة كما هي، بما في ذلك اللاعب وأي كائنات ديناميكية، ولكن هذا ليس ما نريده، نحن ما نريده هو إظهار الخريطة فقط دون أي كائنات ديناميكية.

  • التقط لقطة شاشة للعرض العلوي للخريطة (قبل القيام بذلك، قم بإلغاء تنشيط أي كائنات ديناميكية مثل اللاعبين والأعداء وما إلى ذلك)

  • قم بإنشاء رباعي جديد (GameObject -> كائن ثلاثي الأبعاد -> Quad) وضعه أسفل الخريطة، مثل هذا:

  • قم بتعيين لقطة الشاشة إلى Quad وقم بتغيير تظليل المادة إلى "Unlit/Texture"
  • تأكد من أن موضع لقطة الشاشة على Quad يتطابق مع الخريطة:

  • قم بتغيير الطبقة الرباعية للخريطة المصغرة إلى "UI"
  • في "Minimap_Camera" قم بتغيير قناع الإعدام إلى "UI"
  • قم بإنشاء رباعي آخر وحركه داخل الكائن "Minimap_Camera"، وقم بتعيين الصورة أدناه له:

  • قم بتغيير التظليل الموجود على السهم رباعي إلى "Unlit/Transparent"

  • قم بتغيير طبقة السهم الرباعية إلى "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".
  • قم بتعيين اللاعب الخاص بك إلى المتغير الهدف في SC_MinimapCamera.

الخريطة المصغرة جاهزة الآن، لاستخدامها فقط قم بالتجول حول المستوى ولاحظ تغير الموقع.

Sharp Coder مشغل فديوهات

المقالات المقترحة
كائن توهج تأثير البرنامج التعليمي للوحدة
القائمة الرئيسية للبرنامج التعليمي للوحدة
إنشاء تظليل العشب بسيط في الوحدة
إنشاء واجهة مستخدم لشاشة الفائز في Unity
إنشاء قائمة الإيقاف المؤقت في الوحدة
قوة العناصر النائبة للنماذج الأولية في الوحدة
كيفية الرسم باستخدام نظام الجسيمات في الوحدة