عرض النص على كائن اللمس في الوحدة

مرحبًا بك في هذا البرنامج التعليمي Unity، حيث ستتعلم كيفية إظهار النص عند لمس كائن ما في لعبتك. يمكن لهذا التفاعل البسيط أن يضيف عنصرًا غامرًا إلى مشروعك. سيعمل هذا البرنامج التعليمي على كل من الهاتف المحمول وسطح المكتب.

الخطوة 1: إنشاء مشروع Unity

إذا لم تقم بذلك بعد، فابدأ بفتح Unity وإنشاء مشروع ثلاثي الأبعاد جديد. تأكد من تثبيت الأصول اللازمة لبيئة التطوير المفضلة لديك.

الخطوة 2: استيراد كائن ثلاثي الأبعاد

قم باستيراد كائن 3D إلى مشهدك الذي يمثل العنصر الذي سيتفاعل معه اللاعبون. يمكن أن يكون هذا مكعبًا أو كرة أو أي شيء آخر مناسب للعبتك.

الخطوة 3: إضافة المصادم

قم بإرفاق مكون مصادم للكائن ثلاثي الأبعاد الخاص بك. وهذا سيمكنه من اكتشاف متى تتفاعل الكائنات الأخرى معه. تتضمن أنواع المصادمات الشائعة المصادم الصندوقي، أو المصادم الكروي، أو المصادم الشبكي، اعتمادًا على شكل الجسم.

الخطوة 4: إنشاء قماش والنص

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

الخطوة 5: اضبط اللوحة القماشية على الفضاء العالمي

قم بتغيير وضع العرض لمكون Canvas إلى 'World Space'. يتيح ذلك وجود اللوحة القماشية في المساحة ثلاثية الأبعاد للعبتك.

الخطوة 6: وضع القماش

اضبط موضع اللوحة القماشية بحيث تتماشى مع الكائن ثلاثي الأبعاد. وهذا يضمن ظهور النص بالقرب من الكائن عند تشغيله.

الخطوة 7: كتابة السيناريو

اكتب script الذي سيكتشف متى يتفاعل اللاعب مع الكائن. عند حدوث التفاعل، قم بتنشيط اللوحة القماشية وضبط محتوى مكون النص. تحقق من مثال البرنامج النصي أدناه:

'ObjectInteraction.cs'

using UnityEngine;
using UnityEngine.UI;

public class ObjectInteraction : MonoBehaviour
{
    public GameObject canvas;
    public Text displayText;

    private void Start()
    {
        canvas.SetActive(false);
    }

    private void Update()
    {
        // Use inline conditional to determine input position based on platform
        Vector3 inputPosition = (Input.touchCount > 0) ? Input.GetTouch(0).position : (Vector3)Input.mousePosition;

        // Raycast to determine if the touch or click hits the object
        Ray ray = Camera.main.ScreenPointToRay(inputPosition);

        RaycastHit hit;
        if (Physics.Raycast(ray, out hit) && hit.collider.gameObject == gameObject)
        {
            // Activate the canvas and set the text
            canvas.SetActive(true);
            displayText.text = "Your message here!";
        }
    }
}

الخطوة 8: إضافة البرنامج النصي إلى الكائن

أرفق برنامج نصي C# بالكائن ثلاثي الأبعاد الخاص بك، والذي سيتعامل مع منطق التفاعل ويعين كافة المتغيرات الضرورية.

الخطوة 9: اختبر لعبتك

قم بتشغيل لعبتك واختبر التفاعل. يجب أن يظهر النص عند النقر فوق الكائن المحدد أو لمسه.

المقالات المقترحة
إنشاء لعبة على المشهد في الوحدة
إنشاء نظام جرد وصياغة العناصر في الوحدة
إنشاء لعبة مستوحاة من Pac-Man في Unity
كيفية تشغيل ملفات الفيديو في الوحدة
إنشاء تأثير اهتزاز الكاميرا في الوحدة
البرنامج النصي للاستيلاء على الكائنات في الوحدة
منطق إطلاق النار بمسدس التوهج في الوحدة