זיהוי מישורים ב-AR באפליקציות מובייל: יישום ואופטימיזציה

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

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

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

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

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

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

שאלות נפוצות

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

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

יישום זיהוי מישורים ב-AR באפליקציה למובייל

לעתים קרובות אנו נתקלים בתרחיש הבא: לקוח רוצה למקם ספה וירטואלית בחדר, אבל האפליקציה מציגה אובייקט "מרחף" ללא יישור ברור לרצפה. המשתמש מאוכזב, והמפתח נתקל במגבלות של ערכות הפיתוח של הפלטפורמות. זיהוי מישורים יציב הוא המפתח ל-AR משכנע. בלעדיו, כל אובייקט AR מרגיש זר. למדנו להביא את זיהוי המישורים למצב של "נראה כאילו הוא שייך" תוך 5-8 ימים.

ממשקי API של הפלטפורמות והמגבלות האמיתיות שלהם

ARKit (iOS). ARWorldTrackingConfiguration עם planeDetection: [.horizontal, .vertical]. ARKit מחזיר ARPlaneAnchor עם ARPlaneGeometry—רשת מישור שמתעדכנת ככל שהסריקה מתקדמת. הבעיה: בשניות הראשונות, ARKit מחזיר מלבן קטן שמשנה גודל וכיוון באגרסיביות. אם תמקם אובייקט מיד, הוא "יקפוץ" בעדכון הבא.

הפתרון הוא סף ביטחון מינימלי ו-debounce על עדכונים. ARPlaneAnchor אין בו שדה ביטחון מפורש, אבל גודל המישור (extent) משמש כאינדיקטור עקיף לבשלות: אל תציג את ממשק המיקום עד ש-extent.x < 0.3 ו-extent.z < 0.3 מטרים.

ARCore (Android). Plane עם TrackingState.TRACKING ו-PlaneType.HORIZONTAL_UPWARD_FACING / VERTICAL. ARCore מספק בנוסף Plane.getSubsumedBy()—כששני מישורים מתמזגים לאחד. זה שובר את הלוגיקה אם עוגנים היו מחוברים למישורים המקוריים; צריך להעביר את Anchor למישור הקולט.

מישורים אנכיים. ARKit מזהה באופן אמין מישורים אנכיים על משטחים עם טקסטורה (טפט עם דוגמה עובד היטב, קירות לבנים מונוטוניים לא). ARCore עם זיהוי אנכי אפילו פחות בטוח. למוצרים שבהם התקנה על קיר היא קריטית (תמונות, מדפים), עדיף לשלב זיהוי מישורים עם LiDAR (iPhone 12 Pro+) כדי למלא גיאומטריה חסרה.

איך LiDAR משנה את המשחק?

במכשירים עם LiDAR (iPhone 12 Pro, 13 Pro, 14 Pro, 15 Pro, iPad Pro), ARKit בונה רשת צפופה של הסביבה דרך ARMeshAnchor. זיהוי מישורים עם LiDAR עובד בצורה שונה מהותית: מישורים נגזרים מהרשת, לא מ-SLAM חזותי. זה מספק:

  • זיהוי מישורים תוך 1-2 שניות במקום 5-10
  • גבולות יציבים אפילו על משטחים אחידים
  • זיהוי נכון של מדרגות, רמפות ומישורים משופעים

ליישומים שבהם מכשירי LiDAR הם קהל היעד העיקרי (צילום מקצועי, שיפוצים, בנייה), מעבר בין ARWorldTrackingConfiguration לתצורה עם sceneReconstruction: .mesh מספק קפיצת איכות משמעותית.

למה המישור "קופץ" ואיך לתקן את זה?

הסיבה העיקרית היא מיקום האובייקט לפני שהמישור מתייצב. סף ביטחון ו-debounce פותרים 80% מהבעיה. הגישה המוכחת שלנו:

  1. אל תציג את כפתור המיקום עד שגודל המישור עולה על 0.3 מטר בכל ציר.
  2. כשהמישור מתעדכן, הזז את העוגן בצורה חלקה עם אנימציה (לדוגמה, SCNAction ב-SceneKit או UIView.animate ב-RealityKit).
  3. השתמש ב-ARWorldTrackingConfiguration.isAutoFocusEnabled כדי לשפר את איכות הפריימים.
רשימת בדיקה מפורטת למיקום יציב - בדוק `ARPlaneAnchor.extent.x > 0.3` ו-`extent.z > 0.3` - התעלם מעדכוני מישור למשך 0.5 שניות לאחר הזיהוי הראשון - במכשירי LiDAR, השתמש ב-`ARMeshAnchor` לגיאומטריה מדויקת יותר - תמיד טפל ב-`ARCamera.TrackingState` וחסום את ממשק המשתמש כש-`LIMITED`

המחשת התקדמות הסריקה

המשתמש לא יודע שהוא צריך "לסרוק" עם המצלמה—נדרשת הדרכה ברורה. דפוסים אופייניים:

  • קרן סריקה מונפשת מתחתית המסך
  • קו מתאר של המישור ש"גדל" ככל שהזיהוי מתקדם
  • הוראות טקסט שנעלמות אוטומטית לאחר הזיהוי המוצלח הראשון

לציור גבולות מישור ב-RealityKit—ModelEntity עם חומר wireframe המחובר ל-PlaneAnchor. ב-SceneKit—SCNNode עם SCNGeometry מ-ARPlaneGeometry.boundaryVertices. ב-ARCore עם SceneKit/Filament—רשת מותאמת אישית מ-Plane.getPolygon().

בעיות ייצור אופייניות

המישור "נשבר" עם תנועת מצלמה מוגזמת—מצב המעקב עובר ל-LIMITED(.excessiveMotion). חסום מיקום אובייקט והצג אזהרה, אל תקרס.

על משטחים כהים (למינציה כהה, שטיח שחור), ARKit ו-ARCore מאבדים תכונות ל-SLAM חזותי. אזהרה דרך ARCamera.TrackingState.Reason.insufficientFeatures—יש לטפל בה ולתקשר אותה למשתמש.

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

  • בדיקות על מכשירי יעד עם הערכת יציבות
  • אופטימיזציית LiDAR (אם נתמך)
  • בחירת מישורים מרובים (יכולת לבחור מישור על ידי הקשה)
  • שמירת ARWorldMap לשימוש חוזר בסצנה
  • תיעוד אינטגרציה ותצורה
  • הבטחה לפעולה יציבה: 30 ימי תמיכה חינם לאחר המסירה
פלטפורמה API תכונות
iOS (ARKit) ARPlaneAnchor, ARWorldTrackingConfiguration התחלה מהירה, אבל נדרש debounce
Android (ARCore) Plane, getSubsumedBy() מיזוג מישורים, העברת עוגנים
מכשירי LiDAR ARMeshAnchor זיהוי תוך 1-2 שניות, יציבות

השוואת שיטות ויזואליזציה

כלי ויזואליזציית גבולות ביצועים גמישות
RealityKit ModelEntity עם wireframe גבוהים בינונית
SceneKit SCNNode מ-boundaryVertices בינוניים גבוהה
ARCore + Filament רשת מ-getPolygon() בינוניים גבוהה

תיעוד Apple ARKit: זיהוי מישורים ב-ARKit תיעוד Google ARCore: זיהוי מישורים

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

זיהוי מישורים בסיסי עם רמזים חזותיים ומיקום אובייקט—5 עד 8 ימים. הוספת תמיכת LiDAR, בחירת מישורים מרובים ושמירת ARWorldMap—עוד 5-7 ימים. המחיר מחושב באופן אישי, בהתאם למורכבות. קבלו ייעוץ—צרו קשר להערכת הפרויקט שלכם.

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