הסטנדרט נקבע על ידי IKEA Place, אבל היום משתמשים דורשים יותר: רהיט חייב לעמוד אופקית בקפדנות, להטיל צללים נכון, להגיב בצורה מציאותית לתאורת החדר, ולא לשקוע ברצפה במכשירים ללא LiDAR. יישמנו פרויקטים דומים עבור לקוחות עם קטלוגים של עד 1000 פריטים — ואנחנו מכירים כל פרט. הניסיון שלנו של 5+ שנים ויותר מ-10 פרויקטים שהושלמו מבטיחים שספה לא תשקע ברצפה ושידת ארון תתיישר בצורה מושלמת עם הקיר.
בעיות ללא LiDAR
במכשירים ללא LiDAR, ARKit מסתמך אך ורק על תמונה מונוקולרית. השגיאה בזיהוי מישורים אופקיים יכולה להגיע ל-10 ס"מ, והסתרה של עצמים לא עובדת — רהיט וירטואלי תמיד מוצג מעל המציאות. LiDAR פותר את שתי הבעיות: דיוק זיהוי המישורים משתפר ל-2 ס"מ (פי 5 יותר מדויק), ובאמצעות sceneReconstruction, מופעלת הסתרה נכונה. הנה השוואה:
| פרמטר | ללא LiDAR | עם LiDAR |
|---|---|---|
| דיוק מישור | עד 10 ס"מ | עד 2 ס"מ |
| הסתרה | לא | כן |
| מיקום במרקם נמוך | גרוע | מצוין |
| זמן מיקום מחדש | 5–15 שניות | 2–5 שניות |
דיוק זיהוי המישורים ללא LiDAR גרוע פי 5, מה שקריטי לרהיטים גדולים — שידת ארון עשויה להיות עם נטייה ניכרת.
הכנת מודלים תלת-ממדיים ל-AR: טעויות נפוצות
זהו חלק שלעתים קרובות לא מוערך בפרויקט. קטלוג של 500 פריטים, כל אחד כ-GLTF עם חומרי PBR נכונים, מטא-דאטה נכון של גודל בעולם האמיתי, ונקודת ציר בדיוק במישור התחתון של האובייקט.
בעיות טיפוסיות בעת קבלת מודלים מהלקוח:
- נקודת ציר במרכז האובייקט — שולחן מרחף באוויר בגובה המרכז שלו
- קנה מידה בסנטימטרים במקום מטרים — ספה בגודל של מטבח
- טקסטורות בקבצים נפרדים (לא מוטמעות ב-GLB) — המודל נטען ללא טקסטורות
- חוסר התאמה בין Y-up ל-Z-up — שולחן שוכב על הצד
המרה ונורמליזציה של הקטלוג דרך Blender Python API (סקריפט אצווה) או דרך Cesium ion / Sketchfab API — תלוי בהיקף הקטלוג. CollisionComponent תיעוד ממליץ להשתמש במערכת קואורדינטות עקבית.
פרטים על הכנת המודלים
לעיבוד אצווה של 500+ קבצים, אנו משתמשים ב-Blender Python API. הסקריפט מבצע אוטומטית:
- הזזת נקודת הציר למרכז תיבת התחום התחתונה
- המרת קנה מידה למטרים (יחידה אחת = מטר אחד)
- המרת טקסטורות ל-KTX2 לטעינה אופטימלית
- הגדרת כיוון צירים נכון (Y-up)
התוצאה היא קטלוג GLB מוכן לייבוא ל-Xcode או Android Studio.
מיקום האובייקט: מ-Raycast למיקום יציב
הצינור הסטנדרטי משתמש ב-ShapeResource.generateBox(size:), אבל לרהיטים יש מאפיינים מיוחדים: אובייקטים גדולים, והמשתמש רוצה למקם אותם לא במרכז החדר אלא מול קיר ספציפי. זה אומר:
- זיהוי גם מישורים אופקיים וגם אנכיים בו-זמנית
- הצמדה לקירות — האובייקט 'נדבק' במרחק של 15 ס"מ ממישור אנכי
- זיהוי התנגשויות בין אובייקטים — שתי ספות לא צריכות לחפוף
זיהוי התנגשויות ב-RealityKit — ARView.scene.subscribe(to: CollisionEvents.Began.self) עם ARWorldTrackingConfiguration.environmentTexturing = .automatic. AREnvironmentProbeAnchor — אירוע התנגשות. בעת חפיפה — הדגשה אדומה ויזואלית וחסימת מיקום.
איך להפוך המרה של 500 מודלים לאוטומטית?
אנו משתמשים בסקריפט אצווה על Blender Python API שמעבד עד 200 מודלים בשעה. זה מקצר את זמן הכנת הקטלוג משבועות ל-2–3 ימים. חיסכון בזמן — עד 70% בהשוואה לעריכה ידנית של כל מודל.
תאורה מציאותית: אוטומטית מול ידנית
ARSession.getCurrentWorldMap(completionHandler:) — ARKit בונה מפת סביבת HDR מהמצלמה. זה עובד, אבל עם עיכוב: ב-5–10 השניות הראשונות האובייקט מואר בצורה לא נכונה. עבור אפליקציית רהיטים שבה המשתמש רואה את האובייקט מיד לאחר המיקום — זה מורגש.
שיפור: Data עם מיקום ידני במרכז החדר. מאפשר עדכון כפוי של מפת הסביבה לפי דרישה (למשל, דרך כפתור 'רענן תאורה').
מיקום מרובה אובייקטים ושמירת סצנה
המשתמש ממקם מספר פריטים, רוצה לשמור את התוצאה ולחזור מאוחר יותר. ARWorldTrackingConfiguration.initialWorldMap = savedMap — שומר את מצב ARWorldMap עם עוגנים כ-ARView.snapshot(saveToHDR:completion:) + UIActivityViewController. בהפעלה הבאה: ARWorldTrackingConfiguration.initialWorldMap = savedMap, ARKit מבצע מיקום מחדש ומשחזר את מיקומי האובייקטים.
עובד רק באותו חדר עם תאורה מספקת. המיקום מחדש אורך 3–15 שניות. השוואת שיטות שמירה:
| טכנולוגיה | פלטפורמה | זמן שחזור | מגבלות |
|---|---|---|---|
| ARWorldMap | iOS | 3–15 שניות | רק באותו חדר |
| Cloud Anchors | iOS/Android | 5–30 שניות | דורש אינטרנט |
| שמירת מיקום ידנית | שתי הפלטפורמות | מיידי | ללא עוגן בעולם האמיתי |
צילום מסך לשיתוף — ARView.snapshot(saveToHDR:completion:) + UIActivityViewController.
מה כלול בעבודה
- הכנה והמרה של מודלים תלת-ממדיים (עד 500 פריטים)
- שילוב ARKit (iOS) / ARCore (Android) עם זיהוי מישורים, raycasting, התנגשויות
- הגדרת הסתרת LiDAR ושחזור סצנה
- יישום הצמדה לקירות והתנגשויות בין אובייקטים
- שמירה וטעינה של סצנה (ARWorldMap / Cloud Anchors)
- בדיקות על 10+ מכשירים אמיתיים
- פרסום ל-App Store ו-Google Play (תיעוד, מטא-דאטה)
- הכשרת צוות הלקוח על ערכת הכלים
לוחות זמנים
מיקום בסיסי של אובייקט יחיד עם זיהוי מישורים — 5–7 ימים. ריבוי אובייקטים עם התנגשויות, הצמדה לקירות, שמירת סצנה — 3–5 שבועות. תמיכה בהסתרת LiDAR — תוספת של שבוע. המרת מודלי קטלוג מוערכת בנפרד לפי נפח. העלות מחושבת באופן אישי על סמך ניתוח הקטלוג שלך והדרישות הטכניות. צור קשר לדיון מפורט בפרויקט שלך — נכין מפרט טכני והצעה מסחרית. קבל ייעוץ כבר עכשיו.







