בניית ממשקי משחק VR לאינטראקציה מרחבית

ממשקים ב-VR וב-AR אינם מסכים שטוחים אלא אובייקטים במרחב שמשתמשים פועלים איתם באמצעות תנועות טבעיות. אנחנו מפתחים ממשקים כאלה מאפס, תוך התחשבות בעומק, בזוויות צפייה ובפיזיקת אינטראקציה. הצוות שלנו מספק את הפרויקט במפתח מלא—מאב-טיפוס ועד פריסה ותמיכה שוטפת—ומבטיח נוחות ואינטואיטיביות לכל משתמש.

היכולות שלנו

שירותי סטודיו אחרים

יישומי VR/AR/MR מותאמים אישית

טבלו לקוחות וצוותים בחוויות דיגיטליות חדשות

פיתוח משחקי Unity

מקונספט לשחרור — משחקים שאנשים זוכרים

מידול ואנימציה בתלת-ממד

החיו את המוצר שלכם בגרפיקת תלת-ממד ואנימציה

סימולטורי ציוד VR תעשייתיים

אמנו מפעילים על ציוד בבטחה, ללא השבתה

הוראות AR לייצור

הנחיות שלב-אחר-שלב ישירות על הציוד — ללא נייר

סימולטורי VR לבטיחות

תרגול תגובה לשעת חירום ללא צורך בהגעה לשטח

תוכניות הכשרה ב-VR/AR

הכשרת עובדים בשירות, קליטה ומיומנויות רכות ב-VR

חידוני הכשרה לעובדים

בדיקת ידע באמצעות משחקים — בקלות וללא לחץ

הוראות וידאו ארגוניות

סרטונים ברורים להכשרת העובדים והלקוחות שלכם

גיימיפיקציה עסקית

הניעו צוותים עם מכניקת משחק ב-KPI ובמשאבי אנוש

יישומי קיוסק אינטראקטיביים

מסכים אינטראקטיביים לקמעונאות, תערוכות ומשרדים

מתקני VR/AR

אפקט וואו למותגים בתערוכות, אירועים וחדרי תצוגה

תערוכות ומוזיאונים וירטואליים

התערוכות שלכם מגיעות לכל פינה בעולם, 24/7

מסעות אירועים ומשחקי מותג

משחקים בלתי נשכחים לכנסים ולאירועי לקוחות

שאלות נפוצות

העבודות האחרונות

  • פיתוח משחקים עבור Mortal Motors
    פיתוח משחקים עבור Mortal Motors
    1638
  • משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    1123
  • פיתוח משחק עבור חברת Second term
    פיתוח משחק עבור חברת Second term
    751
  • אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    830

UI ב-VR אינו מסך שהמשתמש רואה מולו. מדובר באובייקטים במרחב שהמשתמש מקיים איתם אינטראקציה באמצעות ידיים או קרניים. המהנדסים שלנו עם ניסיון של 8+ שנים בפיתוח משחקים מטפלים בזה במתכונת turnkey: מאב-טיפוס ועד פריסה סופית. ה-Canvas המוכר ב-Screen Space לא יעבוד. World Space Canvas הוא נקודת ההתחלה, אבל שם מתחילים האתגרים.

טעות נפוצה: לוקחים UI של משחק דו-ממדי, מחליפים את ה-Canvas ל-World Space, ממקמים אותו מול השחקן — ומקבלים פאנל שהוא או קרוב מדי (לא נוח לקריאה ב-VR במרחק 30 ס"מ), או רחוק מדי, או לא מגיב לבקרים. אנחנו נבחן את הפרויקט שלכם — צרו קשר לייעוץ.

למה Canvas רגיל ב-Screen Space לא עובד ב-VR

Screen Space Canvas קשור למסך. ב-VR, הוא לא מתחשב בעומק — טקסט וכפתורים מונחים על הסצנה, מה שגורם לקונפליקט בין accommodation ל-convergence. זה מוביל לעייפות מהירה וסחרחורת. World Space Canvas ממקם את ה-UI בקואורדינטות עולם אמיתיות: אפשר להתקרב, להתרחק או להסתכל סביב הפאנל.

מרחק וגודל זוויתי של אלמנטים

ב-VR, הכל נמדד במעלות זוויתיות, לא בפיקסלים או מטרים. אזור הקריאה הנוח הוא 1.5–2 מטר מעיני המשתמש. במרחק הזה, הגופן צריך לתפוס לפחות 0.5° משדה הראייה לקריאה בטוחה — זה בערך 1.5 ס"מ גובה תו במרחק 2 מ'.

כפתורים דורשים גדלים גדולים עוד יותר ללחיצת קרן אמינה: לפחות 3×3 ס"מ פיזית במרחק 2 מטר — זה 0.86°. אלמנטים קטנים של UI שעובדים מצוין על מסך הופכים לבלתי שמישים ב-VR.

יש למקם את הממשק ב"אזור הנוחות" — אופקית בתוך ±35° מכיוון המבט, אנכית בתוך ±15°. פאנל שמוצב בצד או מתחת דורש סיבוב ראש מתמיד וגורם לעייפות.

איך להגדיר נכון את XR Interaction Toolkit עבור UI

XR Interaction Toolkit (XRI) הוא התקן לאינטראקציות VR ב-Unity. עבור UI, הוא מספק TrackedDeviceGraphicRaycaster (תחליף ל-GraphicRaycaster עבור World Space Canvas) ו-XR Ray Interactor על הבקר. בפרויקטים שלנו, אנו משתמשים ב-XRI גרסה 2.5+ לתמיכה בגדלים זוויתיים קבועים.

הגדרה בסיסית: Canvas → הוסיפו TrackedDeviceGraphicRaycaster, הסירו את GraphicRaycaster ברירת המחדל. על הבקר — XR Ray Interactor עם LineType = StraightLine או ProjectileLine למראה אורגני יותר. UI Press Threshold — רגישות ה"לחיצה" עם הקרן, בדרך כלל 0.1–0.2 לאינטראקציה מבוססת Trigger.

בעיה עם EventSystem ב-XRI: StandaloneInputModule ברירת המחדל מתנגש עם XRUIInputModule. הסצנה צריכה להכיל רק EventSystem אחד עם XRUIInputModule. בעת ייבוא חבילת XRI, זה לפעמים מוגדר אוטומטית, אבל בעבודה עם מספר canvases, עלולים להיווצר קונפליקטים — במיוחד אם חלק מה-UI נוצר לפני שהוספו XRI. אנו מבטיחים הגדרה נכונה של כל מודולי הקלט.

World Space Canvas ורזולוציית טקסטורה

World Space Canvas מעובד בקואורדינטות עולם דרך CanvasScaler עם Scale Factor. רזולוציית טקסטורת ה-Canvas תלויה בגודל הפיזי של Canvas × Reference Pixels Per Unit. כברירת מחדל, Reference Pixels Per Unit = 100 — עבור Canvas בגודל 1×0.5 מ', זה 100×50 יחידות לוגיות. בעיבוד ב-VR, זה ייראה מטושטש.

הגדרה נכונה: CanvasScaler → Scale With Screen Size לא ישים עבור World Space. השתמשו ב-Constant Physical Size עם Physical Unit = Centimeters — זה נותן גדלי אלמנטים צפויים שאינם תלויים במידות ה-Canvas. עבדו עם טקסט באמצעות TextMeshPro — עיבוד ה-distance field שלו טוב משמעותית מ-Unity Text הרגיל כשמשנים קנה מידה במרחב.

בנוסף: עבור World Space Canvas ב-VR, הקפידו להגדיר Pixel Perfect = false (הוא שובר עיבוד מרחבי) ובדקו Dynamic Pixels Per Unit ב-CanvasScaler — עבור VR, ערך של 2–4 נדרש בדרך כלל לטקסט חד.

ממשק אמה: דפוס "שעון חכם"

אחד הדפוסים המאומצים ביותר ב-VR UI הוא ממשק המחובר לאמה של היד הלא-דומיננטית. השחקן מרים את יד שמאל, מסובב את כף היד כלפי עצמו — פאנל מופיע עם מלאי, מפה או הגדרות.

יישום: Canvas כאובייקט ילד של LeftHandController עם offset וסיבוב מקומיים. הפעלה דרך זיהוי Palm Up: השתמשו ב-Vector3.Dot(leftHand.up, Camera.main.transform.forward) — כשהערך חוצה סף (~0.7), היד פונה לפנים, הציגו את ה-UI.

חשוב: ה-UI צריך להופיע בצורה חלקה (Lerp של alpha + scale במשך 0.15–0.2 שניות); הופעה מיידית של פאנל ממש מול העיניים היא מטלטלת. וזה לא צריך להיות מופעל בטעות במהלך תנועות קרב — יש צורך בסף מינימלי של זמן החזקת תנוחה (0.3–0.5 שניות).

משוב הפטי ואישור חזותי

ב-VR, אין צליל לחיצת עכבר ואין לחיצה פיזית על כפתור. ללא משוב, השחקן לא יודע אם כיוון את הקרן לכפתור ולחץ עליו.

סט מינימלי: מצב hover חזותי (הכפתור משנה צבע כשהקרן פוגעת בו), מצב לחיצה חזותי (הכפתור "נלחץ" — קנה מידה בציר Z ב-0.05–0.1 יחידות), פולס הפטי בלחיצה דרך XRBaseController.SendHapticImpulse(0.3f, 0.05f). שלוש מאיות השנייה של רטט קל מספיקות לאישור. ללא הפטיקה, כפתורים ב-VR מרגישים "מתים".

מה כלול בעבודה

שלב תוצאה
ניתוח סצנה ודרישות מסמך עם המלצות למיקום UI
אב-טיפוס אינטראקציה אב-טיפוס עובד עם אינטראקציה בסיסית
שילוב XRI והגדרת EventSystem קרניים וכפתורים שעובדים נכון
הגדרת משוב הפטי ואנימציה כפתורים עם משוב חזותי ומישושי
אופטימיזציה של Draw call ו-batching UI בתוך תקציב FPS למכשירי היעד
בדיקות על משקפי יעד דוח ותיקוני באגים
תיעוד סופי הוראות שילוב ותמיכה

לוח זמנים משוער

סוג ממשק לוח זמנים
פאנל World Space בסיסי (Ray Interactor) 3–5 ימים
סט רכיבי UI (תפריט, מלאי, HUD) 1–3 שבועות
ממשק מורכב (אמה, מחוות, אזורים) 3–6 שבועות

העלות מחושבת באופן אישי לאחר בחינת עיצובי הפריסה ותרחישי האינטראקציה. קבלו ייעוץ — צרו קשר, נבחן את הפרויקט שלכם תוך 2 ימי עסקים.