הצג טקסט על מגע אובייקט באחדות
ברוכים הבאים למדריך Unity זה, שבו תלמד כיצד לגרום לטקסט להופיע בעת נגיעה באובייקט במשחק שלך. אינטראקציה פשוטה זו יכולה להוסיף אלמנט סוחף לפרויקט שלך. מדריך זה יעבוד גם בנייד וגם במחשב שולחני.
שלב 1: צור פרויקט Unity
אם עדיין לא עשית זאת, התחל בפתיחת Unity ויצירת פרויקט תלת מימד חדש. ודא שיש לך את הנכסים הדרושים עבור סביבת הפיתוח המועדפת עליך.
שלב 2: ייבוא אובייקט תלת מימדי
ייבא אובייקט 3D לסצנה שלך שמייצג את הפריט ששחקנים יתקשרו איתו. זה יכול להיות קובייה, כדור או כל חפץ אחר שמתאים למשחק שלך.
שלב 3: הוסף Collider
צרף רכיב מתנגש לאובייקט התלת-ממדי שלך. זה יאפשר לו לזהות מתי אובייקטים אחרים מקיימים איתו אינטראקציה. סוגי מתנגשים נפוצים כוללים Box Collider, Sphere Collider או Mesh Collider, בהתאם לצורת האובייקט שלך.
שלב 4: צור קנבס וטקסט
צור UI Canvas על ידי לחיצה ימנית בהיררכיית הסצנות, בחירת ממשק משתמש ולאחר מכן Canvas. בתוך הקנבס, הוסף רכיב טקסט שיציג את ההודעה שלך.
שלב 5: הגדר את Canvas ל-World Space
שנה את מצב העיבוד של רכיב ה-Canvas ל-'World Space'. זה מאפשר לקנבס להתקיים במרחב התלת-ממדי של המשחק שלך.
שלב 6: מיקום קנבס
התאם את המיקום של בד הציור כך שהוא יתיישר עם האובייקט התלת-ממדי שלך. זה מבטיח שהטקסט יופיע ליד האובייקט כאשר הוא מופעל.
שלב 7: כתיבת סקריפט
כתוב script שיזהה מתי השחקן מקיים אינטראקציה עם האובייקט. כאשר מתרחשת אינטראקציה, הפעל את ה-Canvas והגדר את התוכן של רכיב הטקסט. בדוק את הסקריפט לדוגמה למטה:
'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: בדוק את המשחק שלך
הפעל את המשחק שלך ובדוק את האינטראקציה. הטקסט אמור להופיע כאשר אתה לוחץ או נוגע באובייקט המיועד.