יישום טכני של ניסוי משקפיים מדויק באפליקציה למובייל
לקוח פונה עם משימה: ליישם ניסוי משקפיים באפליקציה למובייל כך שמשתמשים יוכלו לראות איך דגם מתאים לפנים שלהם. הניסיון הראשון עם WebAR באמצעות three.js גורם לרעידות ומיקום לא מדויק — הדגם 'צף' 2–3 מ"מ כשהראש מסתובב. ARKit ו-ARCore פותרים זאת: רשת פנים של 1220 נקודות מספקת יציבות עד 0.1 מ"מ. ניסוי וירטואלי לאביזרים, כולל משקפיים ואוזניות, הופך לסטנדרט קמעונאי. בפרויקט אחד לרשת אופטיקה, שילבנו 40 דגמי משקפיים בשתי הפלטפורמות — ההמרה לרכישה עלתה ב-23%. משקפיים הם מועמד אידיאלי ל-AR: צורה קבועה, חיבור לגשר האף ולאוזניים, ללא צורך בדפורמציה של רשת. אבל משקפיים 'מתאימים היטב' דורשים נקודת ציר נכונה, קנה מידה מתאים ל-IPD, ואנימציה יציבה במהלך תנועת ראש. הניסיון המצטבר שלנו כולל 6+ פרויקטים של ניסוי AR לקמעונאות. לקוח אחד ציין: "לאחר יישום ניסוי AR, שיעור ההחזרות ירד ב-30%".
איך להשיג מיקום מדויק של משקפיים על הפנים
ARFaceTrackingConfiguration דורש iPhone X או חדש יותר עם מצלמת TrueDepth. הוא מחזיר ARFaceAnchor עם:
-
transform— מיקום וכיוון של הפנים בקואורדינטות עולם -
geometry— רשת פנים של 1220 נקודות -
blendShapes— 52 מקדמים להבעות (קריצה, חיוך, הרמת גבות)
למשקפיים, אנו משתמשים בנקודות רשת פנים ספציפיות: גשר האף (~קודקוד 9 ברשת ARKit), רקות. נקודת הציר של דגם המשקפיים היא אך ורק על גשר האף. עם ציר נכון, המסגרת יושבת על הפנים ללא תיקוני מיקום נוספים.
// Привязываем модель очков к face anchor
let faceAnchorEntity = AnchorEntity(.face)
let glassesEntity = try! ModelEntity.load(named: "glasses.usdz")
glassesEntity.position = SIMD3(0, 0.005, 0.065) // тонкая корректировка Y, Z
faceAnchorEntity.addChild(glassesEntity)
arView.scene.addAnchor(faceAnchorEntity) איך לכוונן את המודל לגודל פנים אמיתי
דגם משקפיים סטנדרטי ב-USDZ מיועד לפנים 'ממוצעות'. פנים אמיתיות משתנות. שתי גישות:
- אוטומטי. מדידת רוחב פנים דרך מרחק בין אוזניים שמאל וימין ב-
// Привязываем модель очков к face anchor let faceAnchorEntity = AnchorEntity(.face) let glassesEntity = try! ModelEntity.load(named: "glasses.usdz") glassesEntity.position = SIMD3(0, 0.005, 0.065) // тонкая корректировка Y, Z faceAnchorEntity.addChild(glassesEntity) arView.scene.addAnchor(faceAnchorEntity). ARKit מספק נקודות אלה במטרים — השווה לרוחב הייחוס של המסגרת, חשב מקדם קנה מידה. החל עלARFaceAnchor.geometry. - ידני. סליידר בממשק המשתמש. פשוט יותר ליישום, UX גרוע יותר.
מרחק בין אישונים (IPD) דרך מעקב עיניים זמין ב-iPad Pro (ARKit, ModelEntity.scale, ARFaceAnchor.leftEyeTransform). ב-iPhone, מעקב פנים אינו מודד IPD ישירות, אך ניתן להעריך אותו דרך גיאומטריית הפנים.
נקודות עיגון לאביזרים שונים
אותם עקרונות, נקודות עיגון שונות:
- אוזניות/עגילים →
rightEyeTransform,leftEarTransformמ-rightEarTransform. ARKit מספק טרנספורמציות אלה ישירות. - כובעים →
ARFaceAnchor(מרכז ראש) + היסט Y כלפי מעלה. דורש התחשבות בהטיית ראש — אחרת הכובע 'מחליק' בעת הטיה. - משקפי שמש עם עדשות. עדשות כהות/גרדיאנט משתמשות ב-PBR עם העברת אור וצבע גוון. ב-RealityKit —
ARFaceAnchor.transformעם.PhysicallyBasedMaterialומיזוג. עדשות מראות משתמשות בהשתקפות מפת סביבה.
ARKit לעומת ARCore לעומת MediaPipe
| טכנולוגיה | דיוק רשת | זמינות | ביצועים |
|---|---|---|---|
| ARKit (TrueDepth) | 1220 נקודות (גבוה) | iPhone X+ | מצוינים, GPU |
| ARCore (עומק) | 468 נקודות (בינוני) | Pixel 3+, Galaxy S10+ | טובים |
| MediaPipe ML Kit | ~468 נקודות (נמוך בתנועה) | כל Android | ממוצעים (CPU) |
ARKit מדויק פי 2–3 מ-ARCore במספר נקודות הרשת. למשקפיים, דיוק MediaPipe מספיק למסגרות סטטיות, אך רועד בתנועה. אנו משתמשים ב-MediaPipe רק כגיבוי למכשירים ללא חיישני עומק.
ביצועים וזיכרון
ב-iPhone ישנים יותר מ-XR, מעקב פנים בו-זמני + מודל פולי-גבוה + טקסטורת סביבה מעמיסים על ה-GPU. מסגרות מתכת עם השתקפות דורשות בדיקות סביבה — קריאות ציור נוספות.
אופטימיזציה: LOD (רמת פירוט) למשקפיים — מודל מלא במסגרת סטטית, מפושט בתנועה. טקסטורות 512×512 לפרטי מסגרת קטנים מספיקות למסכי מובייל. אנו מבטיחים 30 FPS יציבים אפילו במכשירים עם A12 Bionic.
תהליך יישום שלב אחר שלב
- אנליטיקה והכנת מודל תלת-ממדי: רטופולוגיה, הגדרת ציר, אופטימיזציה ל-USDZ (iOS) ו-GLB (Android).
- שילוב מעקב פנים: ARKit ARFaceTrackingConfiguration / ARCore AugmentedFaces / MediaPipe עם כיול לדגם הספציפי.
- פיתוח UI/UX לניסוי: בחירת מסגרת, סליידר גודל, כפתור 'נסה', שיתוף תמונות.
- בדיקות על 10+ מכשירים אמיתיים על פני דורות.
- תיעוד והדרכה: העברת קוד מקור, מדריך להוספת דגמים חדשים.
פרטי יישום טכניים
אנו משתמשים בחומרי PBR עם השתקפויות סביבה למסגרות מתכת. לעדשות מראות, אנו מיישמים מיפוי טקסטורה המבוסס על cubemaps. LOD מחושב אוטומטית — במרחקים גדולים מ-0.5 מ', המודל מוחלף בגרסה פולי-נמוכה עם 300 פוליגונים.השוואת גישות קנה מידה
| גישה | דיוק | UX | מורכבות יישום |
|---|---|---|---|
| אוטומטי | גבוה (מבוסס על מרחק אוזניים) | מצוין | בינוני |
| ידני | בינוני (תלוי במשתמש) | טוב | נמוך |
הגישה האוטומטית משפרת את דיוק המיקום בכמעט 50% בהשוואה לידנית. התקציב נקבע לאחר הערכה אישית.
לוחות זמנים משוערים
מעקב פנים + ניסוי AR בסיסי לדגם משקפיים אחד — 5–7 ימים. גלריית מסגרות, קנה מידה לפנים, שיתוף — 2–3 שבועות. תמיכה ב-Android דרך ARCore AugmentedFaces — בתוספת שבוע. צור קשר להדגמת אב-טיפוס על המכשיר שלך. קבל ייעוץ ממהנדס על שילוב AR במוצר שלך.
בחירת מסגרת דרך AR מאפשרת ללקוחות לנסות עד 40 דגמים בדקה. ניסוי משקפיים וירטואלי ל-iOS ו-Android הוא המומחיות שלנו. פנה אלינו לפרטים.







