Skip to content

תצורת מפה מותאמת אישית ​

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

ניתן להגדיר הגדרות אלו בעורך החזותי על ידי בחירת מפה מרשימת המפות, או על ידי שימוש בתכונה map_config בקובץ התצורה YAML.

הגדרת מפההגדרת מפההגדרת מפה

אפשרויות תצורת מפה ​

ההגדרות בתוך map_config מוחלות עבור כל אינדקס מפה באמצעות מפתחות כמו map_1, map_2, וכו'. כל אחד מהאפשרויות הבאות ניתן להגדיר תחת מפה ספציפית:

אזהרה

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

  • rotation: מחליף את הסיבוב שהוגדר בנתוני המפה כדי לצייר את המפה בסיבוב מותאם אישית עבור כרטיס זה, ומקבל ערכים של 0, 90, 180 או 270.
  • scale: מחליף את חישוב הקנה מידה האוטומטי בהתבסס על ההבדל בין הגודל המקורי של המפה לגודל הכרטיס, ומקבל ערכים בין 0.1 ל-20.
  • object_scale: מחליף את הגודל המחושב אוטומטית של עצמים במפה, כגון סמלי חדרים ומכשולים, ומאפשר להם להופיע גדולים או קטנים יותר.
  • opacity: שקיפות גלובלית של המפה המצולמת. הערך ההתחלתי הוא 1 ומקבל ערכים עד 0.
  • object_opacity: שקיפות של עצמים המצולמים על המפה, כגון סמלי חדרים או מכשולים. הערך ההתחלתי הוא 1 ומקבל ערכים עד 0.
  • font_size: גודל הגופן עבור בועות הטקסט המוצגות מעל עצמים מופעלים. מקבל ערכים בין 0 ל-12.
  • hidden_objects: מחליף את עצמי המפה המוסתרים שהוגדרו ב-תצורה מתקדמת גלובלי עבור מפה ספציפית זו.

מיצוב באמצע וקנה מידה ​

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

אזהרה

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

  • left: עוקף את מרכז האופקי של המפה המחושב אוטומטית. לדוגמה, הגדרת ערך זה ל-0 מציבה את קואורדינטת ה-0 של המפה בציר ה-X בדיוק במרכז האופקי של הכרטיס. נקודה זו ממוקמת בדרך כלל ממש מול המזח.
  • top: עוקף את המרכז האנכי של המפה המחושב אוטומטית. לדוגמה, הגדרת ערך זה ל-0 מציבה את קואורדינטת ה-0 של המפה בציר ה-Y בדיוק במרכז האנכי של הכרטיס. נקודה זו ממוקמת בדרך כלל ממש מול המזח.
  • width: מחליף את הרוחב בפועל של המפה המשמש לחישוב ההתאמה. מכיוון שהכרטיס מתאם את המפה לפי הממד הגדול ביותר שמתאים, הזנת ערך גדול יותר מהרוחב בפועל של המפה תקטין את המפה בתוך הכרטיס, בעוד שערך קטן יותר יגדיל אותה.
  • height: מחליף את הגובה בפועל של המפה המשמש לחישוב ההתאמה. בדומה למאפיין width, הזנת ערך גדול יותר מהגובה בפועל של המפה תקטין את המפה בתוך הכרטיס, בעוד שערך קטן יותר יגדיל אותה.

דוגמה ב-YAML ​

yaml
type: custom:dreame-vacuum-card
entity: vacuum.l10s_gen2
map_config:
  map_1:
    rotation: 90
    scale: 1.2
    object_scale: 1.5
    left: 10
    top: -20
    hidden_objects:
      - name
      - virtual_wall
  map_2:
    rotation: 180
    opacity: 0.8

תמונות רקע ושכבה עליונה ​

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

תמונת רקע של תצורת המפהתמונת רקע של תצורת המפה

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

תמונת רקע ביתתמונת רקע בית
תמונת רקע מפותתמונת רקע מפות
תמונת רקע מפה שמורהתמונת רקע מפה שמורה

עיצוב תכנית קומה בתלת-ממד

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

התמונות לדוגמה למטה, המוצגות על רקע בד-שחמט כדי להמחיש את האזורים השקופים שלהן, נוצרו באמצעות יישום עיצוב פנים חינמי Sweet Home 3D ועובדו לאחר מכן בתוכנת עריכת תמונות סטנדרטית כדי להסיר את אזורי הרצפה וליצור את החלקים השקופים הנדרשים.

תמונת רקעתמונת רקע
תמונת רקע
תמונת שכבת עליונה (Overlay)תמונת שכבת עליונה (Overlay)
תמונת שכבת עליונה (Overlay)

ה-background_image וה-overlay_image תומכים בתכונות הבאות ליישור תוכנית הרצפה:

  • url: נתיב התמונה, כגון /local/first_floor_bg.
  • opacity: שקיפות התמונה. הערך ההתחלתי הוא 1 והוא מקבל ערכים עד 0.

יישור וקנה מידה של תמונות ​

התכונות left, top, width ו-height עבור תמונות פועלות באמצעות אותה לוגיקת קואורדינטות יחסית כמו תצורת מיצוב באמצע וקנה מידה של המפה עצמה. תכונות אלו הן אופציונליות לחלוטין.

גם אם התמונה המותאמת אישית תואמת באופן מושלם לגודל המפה, מומלץ מאוד לספק לפחות את הערכים top ו-left. זה מבטיח שאם גודל המפה הכולל ישתנה בעתיד, התמונה המותאמת אישית תישאר ממוינת באותו מיקום יחסי.

ערכי ברירת מחדל

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

  • left: מגדיר את המרכז האופקי של התמונה ביחס למרכז המפה. לדוגמה, הגדרת ערך זה ל-0 ממקמת את קואורדינטת 0 של המפה על ציר X בדיוק במרכז האופקי של התמונה. נקודה זו ממוקמת בדרך כלל ממש מול המזח.
  • top: מגדיר את המרכז האנכי של התמונה ביחס למרכז המפה. לדוגמה, הגדרת ערך זה ל-0 ממקמת את קואורדינטת 0 של המפה על ציר Y בדיוק במרכז האנכי של התמונה. נקודה זו ממוקמת בדרך כלל ממש מול המזח.
  • width: מגדיר את רוחב התמונה ביחס למערכת הקואורדינטות המקורית של המפה, לא לפי פיקסלים מסך מוחלטים. לדוגמה, קביעת ערך זה כדי שיתאים לרוחב הגולמי של המפה מבטיחה שהתמונה תוגדל באופן פרופורציונלי כדי לכסות את אותו שטח אופקי בדיוק כמו נתוני המפה.
  • height: מגדיר את גובה התמונה ביחס למערכת הקואורדינטות המקורית של המפה. לדוגמה, קביעת ערך זה כדי שיתאים לגובה הגולמי של המפה מבטיחה שהתמונה תוגדל באופן פרופורציונלי כדי לכסות את אותו שטח אנכי בדיוק כמו נתוני המפה.

סיבוב מקורי

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

יחס פיקסלים של המכשיר (DPR)

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

קביעת גודל תמונה

נתוני המפה כוללים מאפיין grid_size שמציין כמה מילימטרים מייצג פיקסל אחד בעולם האמיתי. ערך זה נמצא בקטע מידע על המפה החיה. לדוגמה, grid_size של 50 אומר שכל פיקסל מתאים ל-50 מ"מ, או 5 ס"מ. על ידי חלוקת הממדים בעולם האמיתי של הבית לפי grid_size זה, ניתן לחשב במדויק את הערכים width ו-height שיש להזין בקונפיגורציה, ובכך להבטיח שדמות תכנית הקומה ביחס 1:1 תתאים במדויק לגודל האמיתי של הבית.

דוגמה ב-YAML ​

yaml
type: custom:dreame-vacuum-card
entity: vacuum.l10s_gen2

map_config:
  map_1:
    object_scale: 7
    width: 250
    height: 183
    opacity: 0.45
    hidden_objects:
      - customized_cleaning
      - floor
      - name
      - name_background
      - no_go
      - no_mop
      - order
      - walls
    background_image:
      url: /local/home.png
      left: 77
      top: 10.3
      width: 250
      height: 183
      opacity: 0.75
    overlay_image:
      url: /local/home_overlay.png
      opacity: 0.9
  map_2:
    left: 41
    top: -12
    width: 269
    height: 171
    background_image:
      url: /local/second_floor_bg.png