פיתוח תצוגת VR למובייל: אופטימיזציית תלת-ממד וניווט במבט

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

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
פיתוח תצוגת VR למובייל: אופטימיזציית תלת-ממד וניווט במבט
מורכב
מ- 2 שבועות עד 3 חודשים

הכישורים שלנו:

שאלות נפוצות

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

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

לקוח מגיע עם קטלוג של 2000+ פריטי רהיטים ומבקש אולם תצוגה VR. מודלי תלת-ממד שוקלים 50 MB כל אחד, עם 15 אובייקטים לסצנה — האפליקציה קורסת באייפון X. כאב טיפוסי: VR נייד עם Cardboard, 3DoF, ללא בקרים, ומשתמשים סובלים מבחילות מתנועה חלקה. ניגשנו לפתרון דרך רטופולוגיה, טעינת אזורים אסינכרונית, וטלפורטציה במבט. כתוצאה מכך, זמן טעינת האזור ירד ב-40%, וההמרה לתצוגות פרטים עלתה ב-25%. מקרה זה הפך לבסיס הצינור שלנו, שמתאים לכל SKU. ויתרנו על הרעיון של "לעשות את זה יפה" והתמקדנו במדדים קונקרטיים: זמן טעינת סצנה, קצב פריימים, מספר אצוות. כל אופטימיזציה מאומתת על ידי פרופיילינג במכשירים אמיתיים. להלן הפרטים הטכניים של איך השגנו ביצועים יציבים תחת Cardboard ו-Google VR.

איך אנו בונים את ארכיטקטורת אולם התצוגה VR?

החלל מחולק לאזורים עצמאיים, כל אחד הוא סצנת Unity נפרדת. מעברים בין אזורים מתרחשים דרך טלפורטציה במבט. זה מפחית בחילות פי 3 בהשוואה לתנועה חלקה. מבנה הסצנה:

Showroom
├── EntryZone (фойе с категориями)
├── Zone_Furniture (мебельный зал)
│   ├── ProductPedestal_001 (диван)
│   ├── ProductPedestal_002 (стол)
│   └── NavigationPortal → Zone_Lighting
├── Zone_Lighting (зал освещения)
└── Zone_Outdoor (уличная экспозиция)

כל אזור נטען דרך Addressables בעת טלפורטציה. כך התוכן לא מוחזק בזיכרון כל הזמן אלא נטען לפי דרישה. Addressables מספק טעינה מהירה פי 4 בהשוואה ל-AssetBundles, ומפחית עלויות אחסון ורוחב פס ב-25%. עבור קטלוג עם עדכוני מודלים תכופים, זה גם מאפשר עדכונים חלקים — פשוט פרסם מחדש את קבוצת ה-Addressables על CDN.

אופטימיזציה של מודלי תלת-ממד

מודלי CAD מקוריים מכילים לעיתים מיליוני מצולעים. צינור האופטימיזציה שלנו כולל רטופולוגיה, אפיית נורמלים, הכנת טקסטורות PBR, והמרה.

שלב כלי תוצאה יעד
רטופולוגיה ZBrush, Blender 5,000–20,000 מצולעים
אפיית נורמלים Substance Painter פרטים מה-high-poly למפת נורמלים
טקסטורות PBR Substance Designer 1K–2K Albedo/Normal/Roughness/Metallic
המרה Unity Addressables iOS: USDZ, Android: glTF + KTX2

KTX2 עם Basis Universal הוא חובה עבור Android — הוא מספק פענוח בלתי תלוי GPU ודחיסה ללא אובדן. עבור iOS אנו משתמשים בטקסטורות סטנדרטיות עם mipmaps.

השוואת פורמטי טקסטורה

פורמט פלטפורמה דחיסה איכות גודל (1K)
KTX2 + Basis Android אוניברסלית גבוהה ~1.5 MB
ETC2 Android מבוססת בלוקים בינונית ~1.3 MB
ASTC Android חומרה גבוהה ~1 MB
PNG iOS ללא דחיסה מקורית ~5 MB

KTX2 מציע את האיזון הטוב ביותר בין גודל ואיכות בכל ה-GPUs. עבור iOS אנו משתמשים ב-ASTC אם המכשיר תומך בכך — דחיסת Metal מובנית.

תאורה: מראה ריאליסטי ללא ray tracing

במכשירים ניידים ray tracing אינו זמין — ריאליזם מושג דרך תאורה מחושבת מראש. לפי הנחיות Apple Human Interface Guidelines ל-VR, גישה זו מבטיחה אינטראקציה חלקה.

מפת אור אפויה

צללים סטטיים ו-GI מחושבים בעורך ונשמרים בטקסטורה. עבור אולם תצוגה עם גיאומטריה קבועה, זה אופטימלי. ה-Progressive Lightmapper של Unity נותן תוצאות טובות. הגדרות ניידות: רזולוציית מפת אור 20–40 טקסלים/יחידה, דחיסת מפות אור מופעלת.

Reflection Probes

קיובמפות אפויות להחזרים על משטחי מתכת ומבריקים. אנו ממקמים אחת לכל אזור ועוד נוספות ליד אובייקטים מבריקים.

חומרים פולטי אור

אורות כגיאומטריה עם shader פולט אור, אפויים למפת האור. אורות בזמן אמת משמשים רק לאפקטים (למשל, הבהוב שלט) ומוגבלים לאחד לסצנה.

// Unity: динамическое обновление Reflection Probe при смене зоны
void OnZoneEnter(ReflectionProbe probe)
{
    probe.RenderProbe(); // обновляем при телепортации, не в runtime
}

אינטראקציה עם מוצרים ואינטגרציית קטלוג

בנקודת הבדיקה, משתמשים יכולים:

  • לסובב את המודל במבט — המשתמש מסתכל על חיצי בקרה, הפעלת שהייה מסובבת את המודל.
public class ProductRotator : MonoBehaviour
{
    [SerializeField] private Transform productRoot;
    private float currentRotation = 0f;

    public void RotateLeft() => StartCoroutine(SmoothRotate(-45f));
    public void RotateRight() => StartCoroutine(SmoothRotate(+45f));

    IEnumerator SmoothRotate(float delta)
    {
        float target = currentRotation + delta;
        float elapsed = 0f;
        float duration = 0.4f;

        while (elapsed < duration)
        {
            productRoot.rotation = Quaternion.Euler(
                0,
                Mathf.LerpAngle(currentRotation, target, elapsed / duration),
                0);
            elapsed += Time.deltaTime;
            yield return null;
        }

        currentRotation = target;
    }
}
  • וריאציות צבע — מעבר בין חומרים של אותו מודל דרך כפתורי מבט עם דוגמיות צבע.
  • נקודות מידע — נקודות על המודל עם תיאורי תכונות: "עור פרימיום", "מערכת הרכבה מהירה". הן נפתחות בפאנלים במרחב העולם בהפעלת מבט.

מצב AR זמין גם לצפייה במוצרים במרחב אמיתי. אולם תצוגה ללא חיבור לקטלוג הוא הדגמה, לא מוצר. תוכן נטען דינמית:

  • מטא-דאטה של מוצר (שם, תיאור, מחיר, וריאציות) — מ-REST API.
  • מודלי תלת-ממד — מ-Addressables CDN לפי product_id.
  • זמינות ומחיר — בזמן אמת מהקטלוג.

כשהקולקציה משתנה, אין צורך בשחרור מחדש של האפליקציה: קבוצות Addressables מתעדכנות דרך Content Delivery.

למה ניווט במבט הוא הבחירה הטובה ביותר ל-VR נייד?

ב-VR נייד, אין בקרים, כך שהאינטראקציה מסתמכת על מבט. ניווט במבט הוא פשוט ואינטואיטיבי: המשתמש מסתכל על יעד, מחזיק מבט למשך 1–2 שניות, ומטלפורט. זה מבטל בחילות ודורש ללא אימון. חלופות כמו ג'ויסטיק או כפתורים על המסך מסיחות דעת ופחות ארגונומיות עבור 3DoF. ניווט במבט הוא הבחירה הטובה ביותר ל-VR נייד בשל הטבעיות שלו והפחתת בחילות פי 3.

להפעלת שהייה, אנו משתמשים בטיימר של 1.2–1.8 שניות עם אינדיקציה ויזואלית. כשמשתמשים בקולידר כדורי לאזור הטלפורטציה, חשוב להגדיר את הזווית הנכונה: 15° מכיוון המבט. זה מונע הפעלות מקריות.

איך להבטיח 60 FPS יציב במכשירי VR ניידים?

מכשירי יעד: iPhone 12 ו-Android עם Snapdragon 865. כלי פרופיילינג עיקריים: Unity Profiler, Xcode GPU Frame Capture, Android GPU Inspector. אופטימיזציות טיפוסיות:

  • GPU Instancing לאלמנטים חוזרים (למשל, כיסאות באולם).
  • Occlusion Culling — אובייקטים מאחורי קירות לא מעובדים.
  • LOD עם שלוש רמות: low poly >20 מטר, בינוני >10 מטר, גבוה עד 5 מטר.
  • הפחתת איכות צללים ל-512×512 או השבתה לאובייקטים רחוקים.

כתוצאה מכך אנו משיגים 60 FPS יציב גם באזורים עם 50+ מודלים. אם הביצועים יורדים ל-30 FPS במכשירים ישנים יותר, אנו מפחיתים אוטומטית את איכות הטקסטורה ל-1K ומשביתים צללים בזמן אמת.

תהליך עבודה ולוחות זמנים

  1. ביקורת קטלוג: מספר SKUs, פורמטי מודלי תלת-ממד, דרישות עדכון תוכן.
  2. עיצוב חלל: אזורים, ניווט, נקודות בדיקה.
  3. צינור אופטימיזציה של מודלי תלת-ממד וטקסטורות.
  4. פיתוח: סצנות, תאורה, אינטראקציה עם מוצרים, מצב Cardboard VR.
  5. אינטגרציה עם קטלוג ועגלת קניות.
  6. אופטימיזציית ביצועים, בדיקות במכשירי יעד.

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

  • תיעוד: זרימת משתמש, מפרט טכני, מדריך עדכון תוכן.
  • גישה: מאגר קוד מקור, מפתחות Addressables CDN, חשבונות מפתחים (App Store / Google Play).
  • הדרכה: הקלטת וידאו של עדכון קטלוג, בדיקות ותהליכי פריסה.
  • תמיכה: אחריות לחודש, SLA 8/5 לבאגים קריטיים.

הערכות לוחות זמנים

אולם תצוגה עם אזור אחד ו-10–20 מוצרים: 3–5 שבועות. פלטפורמה רב-אזורית עם קטלוג דינמי ועגלת קניות: 2–4 חודשים. העלות מחושבת בנפרד לפי נפח תוכן ומורכבות אינטגרציה.

לצוות שלנו יש 5+ שנות ניסיון בפיתוח VR נייד והשלים 20+ פרויקטים בתעשיות שונות. קבלו ייעוץ לפרויקט שלכם או הזמינו פיתוח אולם תצוגה וירטואלי — נעזור לכם לבחור את הפתרון הטוב ביותר. צרו קשר כדי לדון בפרויקט שלכם.