פרסומת
מציאות מדומה היא ממריא בגדול מדוע טכנולוגיית מציאות מדומה תיפוצץ את דעתך בעוד 5 שניםהעתיד של מציאות מדומה כולל מעקב אחר ראש, עין וביטוי, מגע מדומה, ועוד ועוד. הטכנולוגיות המדהימות הללו יהיו זמינות עבורך בעוד 5 שנים או פחות. קרא עוד - שסתומים, HTC, סמסונג ופייסבוק כולם שולחים חומרת מציאות מדומה מתקדמת בעתיד הקרוב. בצד התוכנה, עשרות אולפנים גדולים מתפתחים עבור החומרה החדשה וכולם מודים בחופשיות שאין להם מושג מה הם עושים.
זה כמו הימים הראשונים של DOOM וולפנשטיין שוב. איש אינו יודע כיצד נראה משחק VR טוב, והתחום פתוח לאולפני אינדי להפוך לשחקנים מרכזיים. אם אתה רוצה הכינו משחקי וידאו התחל ליצור משחקים תוך זמן קצר עם Unity3D בחינם קרא עוד , זו אולי ההזדמנות הטובה ביותר שתצטרכו אי פעם לעשות שם לעצמכם.
אז נניח שאתה רוצה להסתבך. הכלים ידידותיים למשתמש מתמיד, והם כמעט כולם בחינם. אבל מאיפה מתחילים? מדריך זה יספק לך את כל הכלים והמידע הדרושים לך בכדי להתחיל בעבודה - לגמרי בחינם.
מוכנים? בואו נגיע לזה.
מה אתה צריך:
כדי להתחיל ליצור משחקי VR, אתה זקוק רק לשלושה דברים:
- ראשית, אתה זקוק לאוזניות VR. האפשרות הטובה ביותר הזמינה כרגע היא Oculus Rift DK2, שתוכלו לקנות פה תמורת 350 דולר.
- שנית, אתה זקוק למחשב גיימינג מסוגל למדי. VR אינטנסיבי בערך פי שלושה ממשחקי מחשב רגילים, כך שתרצו מעבד וכרטיס רב עוצמה. Oculus ממליץ על i5, a GTX 970 או שווה ערך, ושמונה ג'יגה זיכרון RAM.
- גרסה אחרונה של Windows 7, 8 או 10.
מלבד זה, כל השאר שאתה צריך הוא בחינם. מבחינת תוכנה אנו משתמשים ב:
- המהדורה האישית של אחדות 5
- ה GIMP (תוכנית מניפולציה של Gnu)
- ה תוסף אחדות SteamVR
- ה תוסף Unity פרימיטיבי פלוס
- ה Oculus Windows Runtime
הגדרת הכלים שלך
ראשית, נתחיל בהתקנת הכל. הורד והפעל את המתקינים עבור Unity ו- GIMP GIMP: דרך מהירה של עורך התמונות החביב על קוד הפתוח של כולם קרא עוד . זה אמור להיות די מסביר את עצמו. כשאתה פותח את האחדות בפעם הראשונה, הוא יבקש ממך ליצור חשבון: עשה זאת, וודא שאתה זוכר את שם המשתמש והסיסמה שלך.
בתוך האחדות, צור פרוייקט חדש (הקפד ליצור פרויקט "תלת מימד" ולא "2D"). הגדר את ספריית הפרוייקט למסמכים שלי / הפרויקט שלי.
כעת, השתמש בדפדפן שלך כדי לעבור ל - חנות נכסי יוניטי, והיכנס באמצעות אותם אישורים. זה ייתן לך גישה לכלי ומשאבים למפתחים. השתמש בקישורי Primitive Plus ו- SteamVR שלמעלה, אתר את החבילות ולחץ על כפתור 'פתח ביחידות' בפינה השמאלית העליונה. מכיוון שמדובר בנכסים חינמיים, לא תצטרך לשלם עבורם - ייתכן שאחרים לא יהיו חופשיים, אז היזהר. עקוב אחר ההנחיות שעולות, וייבא חבילות אלה ל- Unity. אתה אמור לראות תיקיות חדשות בתפריט המשנה 'פרויקט'. זה עשוי לקחת דקה עד שהורד, אז היו סבלניים ואל תסגרו את האחדות עד שיסיימו.
סקריפטים באחדות
אחדות קלה מאוד לשימוש אם תכנתם בעבר. אם אינך מכיר את C #, הקדש זמן להכיר את התחביר (נסה את זה מצוין הדרכה אינטראקטיבית). אם מעולם לא עשית שום תכנות לפני כן, בצע גם את הצעד הזה ואז הקדש קצת זמן לעבוד בדרך שלך באמצעות הפאזלים פרויקט אוילר. זה יעזור לך להכיר את סוג הבעיות שתתמודד איתה בתכנות, וסוג המיומנויות לפתרון בעיות שאתה זקוק לה.
ברגע שאתה מרגיש בנוח לפתור בעיות עם C #, אני ממליץ להקדיש זמן לחקור את האחדות באמצעות השימוש בהן הדרכות למתחילים מעולות. אתה יכול גם להשתמש משלנו קורס התרסקות לאחדות תכנות משחק עם אחדות: מדריך למתחיליםבנוף המתפתח של פיתוח משחקי האינדי, יוניטי התגלה כמשהו בסטנדרט דה-פקטו: העלות הנמוכה, קלות השימוש והתפאורה הרחבה שלו הופכים אותו לאידיאלי לפיתוח מהיר של המשחק. קרא עוד . אני אספק הסברים קצרים על כל הרכיבים בהם אני משתמש, אך יש שם מידע רב ערך שישרת אותך היטב כשאתה מנסה פרויקטים גדולים יותר.
כדי להשתמש בסקריפט של Unity, תחילה עליך אובייקט שיחבר אליו. בתוך העורך, אתה יכול ליצור אובייקטים תלת-ממדיים באחת משלוש דרכים.
- אתה יכול לייבא אותם כחלק מחבילה.
- אתה יכול לגרור את הקבצים לתיקייה My Project / Assets.
- אתה יכול ליצור אותם בעורך, דרך תפריט GameObject שבראש המסך - זה מאפשר לך ליצור צורות פרימיטיביות פשוטות כמו קוביות וכדורים, כמו גם טקסט וחלקיקים.
אם אתה מייבא אותם, או גורר אותם לתיקיית הנכסים, הם יופיעו בחלון המשנה 'פרויקט'. אתה יכול להכניס אותם למשחק על ידי בחירת הכרטיסייה 'סצנה' וגרירתם אליה. אז אתה צריך לראות אותם מופיעים בעולם. כפתור הבקרה מופנה בפינה השמאלית העליונה יאפשר לכם לשנות את גודל, לסובב ולמקם אותם לפי רצונכם. אובייקטים יכולים להיות 'הורים' זה לזה (לגרום להם להסתובב ולעבור יחד) על ידי גרירת שמם זה לזה בכרטיסייה 'היררכיה'.
ברגע שאובייקט נמצא בסצנה, תוכלו לצרף אליו סקריפט אחד או יותר. תסריטים אלה גורמים לאובייקט להתעורר לחיים. הם גורמים לירי תותחים, כדורים זזים ודמויות הולכות ומדברות.
כדי להוסיף סקריפט, בחר באובייקט שברצונך לשלוט עליו בכרטיסיות 'סצנה' או 'היררכיה'. הכרטיסייה 'מפקח' תשתנה כדי להציג את כל הרכיבים המחוברים לאובייקט המדובר. אובייקט טיפוסי יראה משהו כזה ויכיל כמה אלמנטים:
- מסנן רשת מאפשר למנוע המשחק לדעת מה הצורה של האובייקט.
- נותן מצייר למעשה את האובייקט למסך.
- קשיח מאפשר למנוע הפיזיקה לדעת שהאובייקט קיים ומגדיר את תכונותיו.
- קולידר מגדיר את הגבולות הפיזיים של האובייקט: אתה יכול להפוך את חישובי הפיזיקה לזולים יותר על ידי מתן לאובייקט מורכב קולידר פשוט, כמו קופסה או כדור.
מכרטיסיית הפקח אתה יכול להוסיף סקריפט חדש באמצעות הלחצן 'הוסף רכיב' בתחתית. מכאן אתה יכול להוסיף סקריפט שכבר יצרת, או שאתה יכול ליצור סקריפט חדש. שנה את השפה ל 'C #', הזן את השם הרצוי ולחץ על 'צור'. זה יוסיף סקריפט חדש (ריק) לאובייקט. לחיצה כפולה על שם התסריט בלשונית המפקח תפתח את התסריט ב- MonoDevelop, עורך הקוד של Unity.
בתוך הקובץ החדש שלך תראה פונקציה 'התחל' ו'עדכן '. 'התחל' פועל כאשר האובייקט נוצר לראשונה. בצע כל התקנה שתצטרך שם. 'עדכון' מריץ כל פריים, וכאן אמור ללכת לרוב ההיגיון.
כדי לגשת לרכיבי האובייקט, תוכלו להקליד ‘gameObject. נותן, '' gameObject.rigidbody 'וכו', תלוי באיזה אלמנט אתה רוצה לשלוט. משתנים ציבוריים שהוכרזו לפני פונקציית 'התחל' יהיו גלויים בעורך, ובכך יקלו יותר לצבוט אותם. לקבלת מידע נוסף אודות אינטראקציה עם אלמנטים שונים במערכת, עיין בסעיף מדריך האחדות.
זהו תסריט פשוט שיצרתי הגורם לאובייקט להתרחב ולהתכווץ בקצב, על בסיס גל סינוס. צור קוביה ב- Unity, הוסף סקריפט והעתק את הסקריפט לשיטת 'עדכן'. לאחר שתשמור אותו ולחץ על כפתור 'הפעל' בעורך, אתה אמור לראות את הקוביה מתרחבת ומתכווצת. וודא שהאובייקט 'מצלמה' ממוקם כך שהוא יכול לראות את האובייקט!
הפעלת מצב VR
כעת לאחר שהקמנו סצנת Unity בסיסית, בואו נביא אותה להצגה באוזניות ה- VR שלכם. אנו משתמשים בתוסף SteamVR, שייתן הן ל- Oculus Rift והן ל- HTC Vive בסופו של דבר. זו דרך קלה להתפתח עבור שניהם.
בכרטיסייה 'פרויקט' עבור אל תיקיית SteamVR ופתח את תיקיית המשנה 'טרף'. תראה מספר ישויות מוכנות לשימושך. גרור את המקדיפים 'CameraRig' ו- 'SteamVR' לזירה. אלה כבר מוגדרים עם כל מה שאתה צריך. העבר אותם לסצנה שלך (ממוקם באותה נקודה). העבר אותם כך שיוכלו לראות את הקוביה. כעת, מחק את אובייקטים המצלמה המקוריים (שאינם VR) - שיש יותר ממצלמה פעילה אחת בסצינה תגרום לשגיאה, מכיוון ש- Unity לא תדע באיזו מצלמה אתה רוצה להשתמש.
עכשיו, אם עדיין לא עשית זאת, התקן את ה- Oculus Windows Runtime, וחבר את ה- DK2 שלך.
הפעל מחדש את המחשב שלך. במגש המערכת תראה את לוגו העיניים של Oculus. אם תלחץ עליו, תקבל את האפשרות לפתוח את בורר 'מצב תצוגה' ואת כלי התצורה. הגדר את מצב התצוגה ל'ישיר '. ואז, פתח את כלי התצורה Oculus. ודא שאתה יכול לראות את סצנת ההדגמה. אם אינך יכול, באג זה לפני שתמשיך.
r / Oculus הוא משאב טוב לסוג כזה. סצינת ההדגמה צריכה לרוץ בצורה חלקה, ולעקוב אחר סיבוב ומיקום הראש שלך, ללא קופצניות או תמונות כפולות.
אם זה לא עובד כראוי, בדוק שהמצלמה שלך יכולה לראות אותך ומחוברת כראוי. ודא גם שכרטיס המסך שלך מספיק חזק ושאין לך יישומים אינטנסיביים שברקע.
לאחר שתוודא שאוזניות ה- VR שלך פועלות כראוי, פתח את Unity ולחץ על כפתור ההפעלה. הסצנה הפשוטה שהקמנו אמורה להציג לאוזניות ה- VR שלך! מזל טוב: בדיוק עשית את ההדגמה הראשונה שלך ל- VR!
הכנת משחק ה- VR הראשון שלך
עד כה, כל כך פשוט - אבל זו לא הדגמה מרשימה במיוחד. כדי לתת לך טעימה איך זה לעשות פרויקט מעורב יותר, אני הולך לדבר איתך בתהליך של יצירת משחק ארקייד מלא של VR שכבר השלמתי, שכותרתו AsteroidVR.
זה לא Skyrim, אבל זה משחק מלא שתוכלו לשחק בו, עם גרפיקה עובדת ומערכת מכניקה שלמה. לקח כמה ימים לבצע, והיא עומדת ברמה של הדגמות ההוכחה-של-קונספט שתבצע הרבה בזמן שתתנסה בסגנונות שונים של משחקים.
המשחק די פשוט: תטיסו ספינה שנלכדת בחדר גדול. המלאכה תנוע במהירות קבועה. תוכלו לנווט ולירות, אך לא להפסיק. החדר יתמלא אט אט ב"אסטרואידים "בגודל אקראי, שיקפצו ללא מטרה סביב החדר. התפקיד שלך הוא להימנע מלהיתקל באסטרואידים האלה, או בקירות, כל עוד אתה יכול. תוכל לירות באסטרואידים, אבל התחמושת שלך תיטען לאט אם תיגמר לך.
זה הרעיון הבסיסי. נתחיל. מכיוון שזו רק הדגמה, אנו נבצע את הנכסים שלנו מתוך פרימיטיביות פשוטות כמו קוביות וכדורים (באמצעות הנכס Primitive Plus).
ספינה
הנה הספינה שיצרתי.
אני מודה, זה נראה כמו מלגזה, אבל זה ייעשה עבור ההדגמה הזו.
בעת בניית תא הטייס, הקפד לשים כמה מבנים ברורים בשדה הראייה של המשתמש, במיוחד בפריפריה. זה עוזר למנוע מחלת תנועה על ידי מתן למשתמשים כמה אלמנטים קבועים, ומפחית את התחושה שהוא זז. זה מקל על מוחם להתמודד עם חוסר התנועה המדווחת על ידי האוזניים הפנימיות שלהם.
הייתי צריך להתנסות בכמה תצורות תא הטייס לפני שמצאתי כזה שלא גרם לי להיות חולה. במקרה של ספק, הוסף עוד תמוכות, והזז את המצלמה לאחור. היזהר מהקנה מידה! יחידה אחת ב- Unity היא מטר ב- VR, אז פיקוח על גודל האלמנטים שאתה יוצר. קל להכין חפצים גדולים למדי או זעירים עד כדי גיחוך ב- VR, והתוצאות עלולות להיות מעורערות.
כשתסיים לבנות את הספינה שלך, צור קוביה שעוטפת אותה והורה את כל פרימיטיביות הספינה אליה. זה יספק את תיבת ההתנגשות שלו ואת מרכז התנועה שלה. הוסף "קשיח" לקוביה החיצונית והשבית את הנותן (על ידי ביטול הסימון במפקח). ודא שהאדם הנוקשה מוגדר כך ש"קינמטיקה "ו"שימוש בכוח המשיכה" יושבתו. הוסף נודדים נוקשים אחרים לכל אחד מהפרימיטיבים של הספינה, והפעם מגדיר אותם כ"קינמטיים ", אך מכבים את" השתמש בכוח המשיכה. "
הזז את העצמים 'CameraRig' ו- 'SteamVR' לתא הטייס והנח אותם במקום בו ראש המשתמש צריך להיות בתוך הספינה. השתמשתי בנכס אחר של Unity בחינם (רובוט הומנואיד) כדי לוודא שהמיקום מתיישר כהלכה. הורה אותם לקוביה החיצונית - זה יגרום להם לנוע עם האובייקט.
עכשיו לתסריט את הספינה! להלן שני התסריטים שיצרתי - בקר רכב ומשחת רכב. הראשון קורא קלט מהמשתמש, ומספק דחיפות לאוניה, מה שגורם לה לנוע. השנייה מגלה מתי הספינה מתנגשת במשהו שתויג 'סלע' ומסיימת את המשחק. כתוספת קטנה וכיפית, היא גם מפרקת את הספינה למרכיביה, ומאפשרת לראות אותם מתעופפים בזמן התנגשות. התסריט יצור מערך של אובייקטים שתצטרך למלא עם כל הפרימיטיביות בספינה, בתוך העורך.
התסריט מציג גם כמה הוראות שיופיעו במותך. צור TextMesh GameObject, והגדר אותו לומר "מתת! תירה כדי להפעיל מחדש! " מקם את TextMesh זה בתוך תא הטייס, הורה אותו לספינה והשבית את רכיב ה- renderer שלו. ואז גרור אותו למשתנה "הוראות" של סקריפט VehicleDestroy במפקח. טקסט זה יהיה בלתי נראה בדרך כלל, אך יופיע שוב כשאתה מת.
אסטרואיד
בשלב הבא, אנו ניצור את האסטרואידים שלנו. הנה האסטרואיד שסיימתי איתו, מורכב מכמה פרימיטיביות הדבוקות זו לזו, והשיידר הרגיל. שום דבר מסובך מדי, אבל זה נראה די נחמד.
הוספתי גוף נוקשה ותייגתי אותו כ"סלע ". אם אינך מכיר את מערכת תגיות האחדות, עיין ב דף ידני רלוונטי. בעיקרון, תגים מאפשרים לך להקצות מאפיינים מיוחדים לאובייקטים, אותם ניתן לאתר במהלך התנגשויות, ולהודיע לתסריטים לדעת עם מה הם מתקשרים. במקרה זה, התג יגרום לחפץ הספינה לגלות שהוא נפגע על ידי משהו מסוכן.
עכשיו לתסריט את האסטרואיד. התסריט כאן הוא "AsteroidInit", שעושה שני דברים.
- ראשית, זה אקראי מעט את האסטרואידים בכדי לגרום להם להיראות נבדלים, ונותן לכל אחד בעיטה בכיוון אקראי.
- שנית, הוא מגלה אם האסטרואיד נפגע על ידי משהו שתויג 'כדור'. אם כן, הוא מפעיל פולט חלקיקים שהצמדתי לאסטרואיד, והורס את האובייקט המקורי.
ארנה
גדול! שני האלמנטים הבסיסיים של המשחק קיימים. בשלב הבא, הזירה. זה יכול להיות בכל צורה שתרצו, אך וודאו שהיא גדולה. פנייה בחוגים קטנים נוטה לגרום לאנשים לחולים. טיסה ישר קדימה יחסית לא פוגעת. תייג את כל הקירות 'סלע', כדי לוודא שהאוניה נהרסת אם היא טסה לתוכם. הנה הזירה שסיימתי אותה:
תשימו לב שלקירות יש מרקם מציין מיקום פשוט שיצרתי ב- GIMP. לרוב, עיצבתי את המשחק באסתטיקה נטולת מרקם לצורך הפשטות. עם זאת, גיליתי שהיה לי קשה לדעת מתי אני מתקרב להתנגש בקיר, כך שהם משיגים טקסטורות למטרות משחק. הוספתי לזירה גם פולט חלקיקים, ומילא אותו בחלקיקים סטטיים עמומים וארוכי שנים. זה מקל על הסברה כיצד אתה זז כשאתה לא נמצא בקרבת חפץ. למרבה המזל, הזירה די פסיבית, כך שהיא לא צריכה שום סקריפט עצמו.
לבסוף, צור פרימיטיבי (השתמשתי בצילינדר חלול) והניח אותו על קיר אחד.
זה יהיה הסופר האסטרואיד שלך. צרף אליו את התסריט הזה. תבחין כי סקריפט זה מצהיר משתנה "אסטרואיד" GameObject, אשר אמור להיות גלוי בעורך. גרור את עצם האסטרואיד שלך אליו בעורך. זה יאפשר לו להשריץ מספר בלתי מוגבל של אסטרואידים, בקצב של שנייה לשנייה, ויאפשר למשחק עקומת קושי המתהווה באטיות. מקם את האסטרואיד המקורי שלך רחוק מאוד, כדי להימנע שהוא נהרס בטעות או גורם לבעיות.
HUD ואקדח
בשלב זה, הצורה הבסיסית ביותר של המשחק ניתנת לשחק בעיקרון. כעת נוסיף כמה תכונות משניות שנותנות לו קצת יותר עומק. סקריפט זה, המצורף ל- "TextMesh", יעקוב אחר כמה זמן אתה חי. סקריפט שני ידבר לקובץ כדי לקבוע את הציון הגבוה שלך, שנכתב לקובץ על ידי מטפל הרכב בעת ההפעלה מחדש. כעת, יש לכם מערכת לוח תוצאות, המעניקה לשחקן מטרה. עוגן רשתות אלה בתא הטייס שבו הן נראות בקלות.
לבסוף, עלינו ליישם את תותחי המשתמש. הוסף אובייקט "אקדח" לספינה (זה לא צריך להיות מסובך) וגרור את התסריט הזה אליו. יהיה עליכם לקשר אובייקט כדור, שיכול להיות כל אובייקט עם גוף קשיח ותג ‘הכדור’. הפוך אותו לצבעוניות בהירה, כך שייראה. שוב, מקם אותו רחוק, כך שהוא לא יתקשר. לבסוף תצטרך להציג תצוגת תחמושת. הוסף סקריפט זה לרשת טקסט אחרת ועגן אותו בתא הטייס איפה שקל לראות.
כוונון עדין
זה די הרבה! בשלב זה, כל האלמנטים הבסיסיים של המשחק מסתיימים. עכשיו הגיע הזמן לבדוק. באפשרותך לשנות את טווח הגודל של האסטרואידים, את צורת וגודל הזירה, את מהירות הספינה, את כמות התחמושת, את קצב הטעינה ואת השטח הקווי. אתה יכול להתנסות באופן הטיפול בספינה. אם אתה רוצה, ויש לך קצת מיומנות דוגמנות תלת מימד, אתה יכול אפילו להחליף את אומנות המתכנת שלי בנכסים אמיתיים ולהפיק מזה משחק מלוטש. הדבר החשוב הוא להתנסות רבות ולגלות מה מרגיש לך טוב ונוח לבודקים (רצוי שבודקים שהם חדשים בתחום VR וממילא לא פיתחו קיבות ברזל).
אם אתה רוצה לראות את כל פרויקט Unity ולהתעסק איתו, אתה יכול להוריד אותו פה. אם אתה רק רוצה לשחק את הגרסה שלי למשחק הסופי, אתה יכול להוריד אותו פה.
בניית הדגמות משלך
אם תעקוב אחר ההדרכה שלך ותתחבר למסמכים כשאתה מוצא משהו שאתה לא מבין, תסתיים עם ידיעה טובה למדי של יצירת משחקי VR בסיסיים ב- Unity. כשתרצו להמשיך רחוק, תהיו מצוידים היטב לעשות זאת.
עם זאת, פיתוח משחקי VR שונה מאוד מפיתוח משחק מסורתי, אז אני הולך לתת כמה עצות כלליות לעיצוב חוויות VR שיהיו נוחות וינצלו את מלואן בינוני.
תנועה
ראשית ובאופן חיוני ביותר, כבדו את תנועת הראש של המשתמש. אל תדרג אותו בקנה מידה, יש לעוות אותו, לשנות את שדה הראיה או להתעסק בדרך אחרת עם היסודות. אוקולוס ושסתום עברו המון בעיות בכדי לכוונן את החומר הזה כדי לא לחלות על אנשים. אלא אם כן יש לכם כמה פסיכולוגים תפיסתיים, אינכם מוסמכים להתמודד עם זה. לא! כמו כן, היזהר לא לכבות אותו. אל תיצור תפריטים שאין בהם מעקב ראש. שום דבר לא מחלה אותך מהר יותר מלהחזיק אובייקט ענק בראשך במשך עשר שניות או יותר!
באותה וריד, יש להיזהר בתנועה. הגורם העיקרי הגורם לחולים הוא כאשר העיניים שלהם תופעות תנועה שהאוזן הפנימית שלהן אינה. באופן כללי, שמור על תנועה איטית ויציבה. האצות צריכות להיות מיידיות ויש למזער את הסיבוב. כאשר סיבוב צריך להתרחש, ספק למשתמשים נקודות ייחוס קבועות בחזון ההיקפי שלהם. אם אתה יכול, בנה משחקים שמתרחשים ללא תנועה בכלל. יש הרבה דברים מגניבים שאתה יכול לעשות בחדר יחיד, או להשתמש בחפצים זעירים (חשבו משחקי אסטרטגיה בזמן אמת 4 משחקי אסטרטגיה מעולים בזמן אמת שתוכלו לשחק בזולז'אנר האסטרטגיה בזמן אמת הוא אחד המרכיבים העיקריים במשחקים כיום. ז'אנרים אחרים, כמו יורים בגוף ראשון ומשחקי תפקידים, רוויים במאות כותרות שונות, אך אסטרטגיה בזמן אמת אינה מחזיקה את ה ... קרא עוד בסדר גודל של אנשי צבא פלסטי) וזה יהיה הרבה יותר קל להפוך את החוויות הללו לנוחות ונעימות.
ממשק משתמש
הרבה אנשים, כשהם מתחילים לפתח תוכן VR, רוצים באופן אוטומטי לחבר דברים לראש של המשתמש, כמו תצוגות Heads Up Up צבאיות. למרבה הצער, מסתבר שזה לא עובד טוב במיוחד. כאשר העיניים שלך ממוקדות בכל דבר רחוק בעולם, אובייקטים הקרובים לראש שלך יהפכו לבלגן של פיקסלים שאינם ממוקדים. בנוסף, התמקדות בחפצים סמוכים מאוד גורמת למתח בעיניים.
כדי להימנע מכך, נסה להכניס את ממשק המשתמש שלך לעולם ככל האפשר. התבונן במשחקים כמו Dead Space כדי לקבל השראה. תבחין שב- AsteroidsVR, הקמאו שלמעלה, כל ממשק המשתמש מעוגן לתא הטייס. מכיוון שזה נמצא בחלל סביבך, כל ממשק המשתמש הגיוני ונוח להסתכל עליו.
בנימה קשורה, היזהר מהטקסט. אוזניות VR הנוכחיות הן בעלות רזולוציה נמוכה למדי, במיוחד כשאתה אחראי על כמה מהשדה הויזואלי שלך הם מכסים. זה אומר שטקסט יכול להיות די קשה לקריאה. נסה לסמוך על זה כמה שפחות. הטקסט שיש לך צריך להיות גדול מספיק בכדי להיות קריא מאוד בתנאי צפייה רגילים. זכור כי חלק מהשחקנים שלך עשויים להיות קשישים או לקויי ראייה! טעות בצד של גדול מדי.
גרפיקה
זכור כי VR הוא אינטנסיבי מאוד. ה- DK2 צריך לרוץ במהירות של 1080p, בתלת מימד, במהירות 75 fps. גם Rift הצרכן וגם HTC Vive יפעלו ברזולוציות ומסגרות גבוהות אף יותר. כישלון הפגיעה בשערי המסגרת יביא לראייה כפולה מהבהבת. זה מרגיז במיוחד וכרטיס חד כיווני להתמצאות ומאמץ עיניים.
כתוצאה מכך, יהיה עליכם להיות הרבה יותר זהירים בביצועים מכפי שהייתם בדרך כלל. המשמעות היא שמירה על ספירת הפולי, ומזעור השפעות גרפיות יקרות. השתמש בדגמים פשוטים, שמור על מספר האורות למינימום, השבת צללים דינמיים ונסה להחזיק כמה שיותר חפצים באותו חומר. עליך לסמן גם את הפריטים שאינם משתנים או זזים כ"סטטיים "במפקח. זה מקל על Unity לקבץ אותם יחד ולחסוך ביצועים. כשאתה יכול, הפוך את המגבלות האלה לחלק מעיצוב המשחק שלך, על ידי בחירת אסתטיקה מצוירת למשחק שלך. באופן כללי, אם אתה יכול לחסל אפקט חזותי מבלי לפגוע במשחק, עשה זאת.
היוצא מן הכלל היחיד לכלל אצבע זה הוא אנטי-כיוון. כינוי (ממצא משונן שנגרם על ידי אופיו הדיסקרטי של גרפיקה ממוחשבת) מתרחש באופן שונה בכל עין, מה שמוביל להתמוטטות לא נעימה של אפקט התלת מימד, שעלול לגרום למתח עיניים. השתמש ככל האפשר בכיוונים (אני ממליץ על MSAA) ונסה להימנע ממרקמים עם פרט ויזואלי בתדירות גבוהה (כמו עלווה, סורגים עדינים או טקסטורות מורכבות הממוקמות הרחק).
כמה אפקטים חזותיים מתאימים גם ל- VR באופן כללי, גם אם אתה יכול להרשות לעצמם אותם.
- היזהר מאפקטים שלאחר העיבוד כמו פריחה, שעלולים לגרום לשוני סטריאו משלהם.
- כמו כן, שימו לב שתלת מימד גורם לכמה רמאות חזותיות נפוצות להראות רע מאוד. מפות רגילות, מצרך של משחקי וידאו, נראות שטוחות לחלוטין כאשר הן נראות מקרוב ב- VR. שודדי לוח מודעות (מהסוג הנפוץ לפיצוצים) נראים גם הם שטוחים ויכולים באמת לשבור טבילה. כמו כן, רבות מהטכניקות מבוססות הספרייט המשמשות לייצור פסולת או צמחייה נראות שטוחות ולא נכונות.
- לבסוף, היזהר מחפצים שקופים. מנועי טיוח מודרניים מתקשים לעקוב אחר העומק כאשר יש לכם הרבה חפצים שקופים באותה סצנה. זה הופך להיות צורם מאוד ב- VR. נסה להקטין את מספר האובייקטים השקופים למינימום, והימנע מתרחישים שבהם אתה יכול לראות אובייקט שקוף אחד דרך אחר.
זכור את כל זה כשאתה יוצר נכסי אמנות וזה יחסוך לך כאבים רבים בתור.
אם תגלה שאחרי שכיבית את כל האפקטים הגרפיים האלה המשחק שלך נראה מעט משופע, נסה להשתמש במפות קלות ובסתימת הסביבה המזויפת. מפות אור אופות תאורה ישירות לשכבת טקסטורה על המפה, שנראית נהדר לכל דבר שלא זז, ויכולה להוסיף הרבה עומק וסולידיות לעולמכם. עבור אובייקטים דינמיים (כמו תווים), שקול להשתמש בטקסטורות "כתמי צל" ליצירת חסימה בסביבה. זה לא מציאותי לחלוטין, אבל זה עושה הרבה כדי לקרקע אותם בעולם וזה זול בצורה גרפית במיוחד!
ככל שיעבור הזמן, סוגים אלה של פריצות יהיו פחות נחוצים, אך לעת עתה תצטרכו לנצל כמה שיותר מהם בכדי לחסוך ביצועים.
ניסוי מוקדם ולעתים קרובות
העצה החשובה ביותר שיש לי היא להרפות מהדעות המוקדמות שלך. VR הוא לא בדיוק מה שכולנו חשבנו שהוא הולך להיות בשנות ה 90. למציאות הוכח שיש יתרונות ומגבלות רבים שאיש לא יכול היה לחזות מראש. מה נשמע מדהים על הנייר (כמו VR Halo) מתגלה כבלגן מבאס ומבחיל בפועל. כמה מהטובים ביותר שהתקבלו חוויות VR סימולציות VR של Oculus Rift שעליכם לראות כדי להאמיןראית את שבר Oculus, אך לא ראית כמה מהשימושים המטורפים בהם נעשה. בדוק את ההדגמות המדהימות האלה של Oculus Rift מרחבי העולם. קרא עוד היו דברים ממש מוזרים כמו סימולטור איוב, משחק ארגזי חול שנקבע במטבח.
VR הוא מדיום חדש לחלוטין, ואף אחד עדיין לא מבין את הכללים. במשחקי וידיאו מסורתיים, אנחנו די יודעים להכין FPS, RPG ויורה כיסוי. ז'אנרים בסיסיים אלה ממוסמרים. יש שיטות עבודה מומלצות. כל משחק חדש שנעשה הוא שיפור מצטבר, אבל בדרך כלל זה לא ז'אנר חדש. ב- VR, אין שום דבר אבל ז'אנרים חדשים. יסודות המדיום עדיין לא הומצאו. אף אחד לא יודע מה הם עושים.
זה מרגש להפליא, אבל זה אומר שאתה צריך להיות גמיש. אם יש לכם רעיון מדהים, אז עשו זאת! מיד! קבל אב טיפוס שנגמר מהר ככל שתוכל, ובדוק אם הוא עובד. אבל, תהיה מוכן לתת לניסוי להיכשל. אם הרעיון שלך לא מהנה או שהוא מחלה את הבודקים שלך, זרוק אותו ונסה משהו חדש.
ערוך משחק חדש כל שבוע, או אפילו כל יום, עד שתכה בזהב. ככל שתעשו טיפוסי טיפוס כושלים יותר, כך הסיכוי שלכם להמציא משהו ממש מגניב יהיה גבוה יותר. הכינו משחקים מוזרים. עשה באמת משחקים מוזרים. אף אחד לא יודע מה הולך לעבוד ומה לא, אז הטילו רשת רחבה. אתה עשוי להיות מופתע ממה שמתגלה כמדהים.
אז צאו לשם, עשו כמה משחקים - ובעיקר, תבלו!
אנדר מוביל להישאר פונקציונלי עד 50 מעלות צלזיוס, סופר ועיתונאי שממוקם בדרום מערב. הוא אטום למים בעומק של מטר וחצי.