מעצבי אתרים מכירים את הרעיון של עיצוב רספונסיבי, כלומר בניית אתר שיפעל במכשירים שונים, כמו טלפונים ניידים, טאבלטים ומחשבים, וכן רזולוציות מסך שונות ויחסי פיקסלים שונים. WebVR חושף אתגרים חדשים ברעיון של עיצוב רספונסיבי.
אפשר לסווג את חוויית WebVR לפי שני מדדים – רמת ההתנסות ורמת הקלט. הרמות האלה מובחנות באמצעות "דרגות חופש" (DOF). 6 DOF מתייחס למעקב אחר מיקום וכיוון, 3DOF הוא רק כיוון מעקב ו-0 מסלולי DOF לא עבור מיקום או כיוון.
רמת טבילה
- ללא VR – צג או מסך במכשיר נייד.
- מציאות מדומה (VR) סטטית – מכשיר עם מעקב של 3 DOF.
- מציאות מדומה (VR) ישיבה – מעקב של 6 DOF אך באזור מוגבל ובטווח זוויות מוגבל.
- מציאות מדומה לקנה מידה של חדר – מעקב של 6 DOF עם סביבה בגודל חדר.
רמת קלט
- 0 DOF – הקלט היחיד שזמין הוא קליק או הקשה. שיטת הקלט הזו קשורה לכיוון שאליו המשתמש פונה. לפעמים אנחנו מתייחסים לכך כבקר מבט.
- 3 DOF – בקר שעוקב אחרי הכיוון שלו יכול לשמש כמו מצביע לייזר כדי לציין כיוון או מיקום. מיקום הבקר מוערך בהתאם לנקודת המבט של המשתמש. כולל שלט רחוק של Daydream.
- 6 DOF – בקר שעוקב אחר המיקום והכיוון שלו. אפשר להשתמש בו כדי לדמות יד ביד ב-VR.
כך אפשר לראות שאפליקציה אחת עשויה לתמוך בכל דבר, החל ממסך לנייד ללא VR. בלחיצה אחת, אפשר להזין את כל הפעולות עד לחוויית החדר המלאה, עם שני שלטים רחוקים למעקב רציף.
תכונת WebVR
במעבדת PlayCanvas WebVR יישמנו כמה מהאינטראקציות העיקריות שעשויות להיות להן באפליקציה, והתאמנו אותן ברמות שונות של חוויית שימוש.
איך פועלות האינטראקציות
המכניקה הבסיסית של אופן הפעולה של אינטראקציות ב-WebVR היא צומתי קרניים. הרצפה, החדר וחפצים אחרים שאפשר ליצור איתם אינטראקציה מוגדרים באחת משלושה סוגים של פרימיטיבים:
- תיבה תוחמת את הציר (או AABB) - תיבה שלא מסובבת.
- תיבה תוחמת בכיוון מסוים – תיבה שאפשר לסובב אותה.
- כדור הארץ - רדיוס סביב נקודה במרחב.
כדי לראות אם פעולה מסוימת מתאפשרת, אנחנו מפעילים קרן לעולם ובודקים אם היא מצטלבת עם צורת העצמים בעולם. ניתן לבצע סוגים שונים של אינטראקציות, בהתאם למקור הקרן (המצלמה או השלט הרחוק) ולאורך הקרן (מניפולציות תקריב או הצבעה למרחק).
פעולות פשוטות
קודם כול נגדיר כמה פעולות פשוטות ואת אופן השימוש בהן בעזרת בקרים שונים.
הדגשה
אפשר להדגיש מיקום או אובייקט כשמביטים בהם (עם שלט רחוק) או מפנים אליו (באמצעות שלט רחוק). זה יכול להיות בלי ללחוץ על לחצן, או רק כשלוחצים על לחצן.
קליק
כדי ללחוץ על מיקום או אובייקט, קודם כל צריך להדגיש אותו וללחוץ על הלחצן או לשחרר אותו. עם שלט רחוק מסוג gaze, אפשר ללחוץ על ידי מבט אל אובייקט ולחיצה על הלחצן או על המסך. השיטה עם שלט רחוק היא לכוון את המצלמה לאובייקט וללחוץ על לחצן.
אינטראקציות מרכזיות
בעזרת הדגשה ולחיצה הטמענו כמה אינטראקציות בסיסיות ב-WebVR Labs.
טלפורט
כשבונים סביבה וירטואלית למשתמשים כדי לחקור אותה, סביר להניח שהסביבה תהיה גדולה יותר מהאזור הקטן שהמשתמשים יכולים לראות בלי לזוז. לדוגמה, לבדיקת ה-WebVR יש שלושה קטעים. חדר ראשי, קומה בקומת ביניים וחדר צדדי לנגן מוזיקת היי-פי.
העברת אזור התצוגה של המשתמש ברחבי העולם תגרום לעיתים קרובות לאי-נוחות. ב-WebVR Labs אנחנו מאפשרים למשתמש להדגיש מיקום מסוים וללחוץ עליו כדי לבצע טלפורטציה באופן מיידי. נקודת המבט של המשתמש אף פעם לא זזה. לכן, למרות התחושה הלא טבעית של תנועה מיידית, המשתמש יכול לנוע במרחב גדול ללא אי נוחות.
במקרה של שלט רחוק לידיים, המשתמש צריך ללחוץ לחיצה ארוכה על לחצן כדי להפעיל את מטרת הטלפורט. כך, הראייה של המשתמש תישאר מסודרת בזמן שהוא מביט סביב.
הזזת נקודת המבט של המשתמש
לפעמים יש צורך בשינוי נקודת המבט. לדוגמה, כשמשתמשים ב-Statary (מציאות מדומה) או ב-Seated, אפשר להגיע לקיר בלי יכולת לפנות בעולם הפיזי. לכן אנחנו מאפשרים למשתמש לסובב את המצלמה באמצעות השלט רחוק. ב-WebVR Lab, משתמשים בלחצן השמאלי או הימני בבקר כדי לסובב את המצלמה.
כדי למנוע אי-נוחות בזמן שאנחנו מזיזים את המצלמה, מצמצמים את היקף הראייה ההיקפית על ידי החלה של נקודת מבט מוגבלת על כל המצלמה. השיפור הזה מבוסס על עבודה של Ubisoft וגילינו שמיקוד התצוגה רק במרכז המסך מפחית את אי הנוחות.
הפעלה
הפעלה היא שוות-ערך ב-VR ללחיצה על לחצן בדף אינטרנט. ב-WebVR לקחנו את זה באופן מילולי וסיפקנו לחצן פשוט שאפשר להפעיל.
לגבי אפס בקרים מסוג DOF ו-3 DOF, ההפעלה היא הדגשה ולחיצה. עבור שלט רחוק מסוג 6DOF, נוכל לשדרג את החוויה כדי לאפשר לכם "לדחוף" לחצן על ידי בדיקה ישירה כדי לראות אם השלט הרחוק נמצא בתוך הלחצן.
Grab
תכונת ה-Labs WebVR מכילה מספר פריטים ש "ניתנים לשליפה". בהתנהגות כזו, כשהאובייקט מופעל, אפשר להרים אותו ולהזיז אותו. יש שתי התנהגויות ברורות ושונות, בהתאם לרמת הקלט שבה אתם רוצים לתמוך.
עבור שישה בקרי DOF שמחזיקים את לחצן הקלט, יחברו את הפריט הניתן לשליפה לשלט. לאחר מכן ניתן להזיז ולמקם אותו באמצעות שליטה מדוקדקת. שחרור הלחצן יפעיל פעולה של שילוב או שחרור עם הפריט.
לבקרים שניתנים לתמרון פחות, לוחצים על הפריט ואז יחבר אותו לאזור התצוגה של המשתמש. בדרך כלל יש להשאיר קטע מהפריט גלוי ב "שליש התחתון" של המסך. קליק שני ישחרר או ישלב את הפריט.
שילוב
שילוב הוא פעולה שמתרחשת כשמשתמשים "משתמשים" בפריט עם פריט אחר. זה מכסה מגוון עצום של תרחישים לדוגמה. ב-WebVR Lab אנחנו משתמשים בו כדי להשמיע תקליטים. כשאוחזים פריט, אפשר לשלב את הפריט שנלקח עם פריט אחר. כל סוגי הבקר מדגישים את פריט היעד, תוך כדי לחיצה על פריט אחר ואז שחרור תפיסת האחיזה, ישלב את שני הפריטים.
שחרור / שחזור
כשלוחצים על פריט שנלקח, משחררים פריט נוסף כשלוחצים עליו.
לא השתמשנו בסימולציה של פיזיקה בכל פריט ב-WebVR Labs, כדי לשמור על דרישות ביצועים נמוכות. המשמעות היא שבמקום להפיל פריט על הקרקע, אנחנו מאפשרים לו לצוף במצב שבו הוא נפל. אם הפריט לא הופעל תוך פרק זמן מסוים, הוא "ישוחזר" למיקום המקורי שלו. פונקציונליות השחזור מאפשרת למשתמשים עם רמת קלט נמוכה (0 DOF או 3DOF) לפעול בפריטים רבים ולתחזק אזור עבודה שניתן להשתמש בו. פריטים ישנים יותר ינוקו מעצמם באופן אוטומטי.
עם קלט 6 DOF קל יותר להזיז פריטים הצידה. אם יש עיכוב בפעולת השחזור, משתמש של 6 DOF יכול לשקוע בהזזת הפריטים, ועדיין לבצע ניקוי עצמי של האזור.
סיכום
WebVR Lab הוא פרויקט פעיל של צוות PlayCanvas. כלומר, אנחנו כל הזמן בפיתוח, והחוויות מתווספות ומתעדכנות בהתאם למחקר שלנו בנושא הבנייה של אפליקציות WebVR.
הוא משתנה מחוויית שימוש בנייד בסגנון "חלון קסם" למגרש משחקים אינטראקטיבי במחשב. התחלנו להגדיר קבוצה של אינטראקציות ליבה שבהן משתמשים יוכלו להשתמש בפרויקטים שלהם. אנחנו מקווים ש-WebVR Lab יספק חוויית למידה טובה לכל מי שרוצה לבנות עולמות בתלת-ממד באמצעות WebVR.
אם יש לכם חשבון PlayCanvas, תוכלו להיכנס ישירות אל פרויקט WebVR Lab כדי לקבל מידע נוסף.