הכנסת אוביקט חדש
- מוצאים אוביקט באחד במאגרים הקיימים כמו פריפיק או 3dmdb או אפילו מה-asset store
- מייבאים אותו בתור asset
העתקת רכיב Grabbable מאוביקט קיים
- בחלון ההיררכייה בוחרים אוביקט אינטראקטיבי קיים, לוחצים עליו ונתפתחת חלונית הרכיבים שלו
- בוחרים את רכיב ה-Grabbable, לוחצים על ה-3 נקודות בפינה הימנית העליונה של הרכיב, ומהתפריט שנפתח בוחרים Copy component
- בוחרים את האוביקט החדש שאותו אנחנו רוצים להפוך לאינטראקטיבי.
- בחלונית הרכיבים שלו, בוחרים את אחד הרכיבים, לוחצים על ה-3 נקודות בפינה הימנית העליונה של הרכיב, ומהתפריט שנפתח בוחרים Paste component as new
הגדרת שדה ה-Grab Points ברכיב ה-Grabbable
- כשפותחים את שדה ה-Grab Points, יש לו שני שדות של אלמנטים: GripTRansformLeft ו-GripTRansformRight.
- כשלוחצים עליהם, האוביקט המתאים בהיררכייה מסומן. בשלב הזה אנחנו מגלים שאלה שני אוביקטי בנים של האוביקט המקורי. הם אומרים לרכיב איפה להחזיק את האוביקט, ועכשיו הרפרנס הוא על האוביקט המקורי, ולכן אם לא נגדיר חדשים, האוביקט יברח לנו מהיד כשננסה לאחוז אותו.
- לכן דבר ראשון, מסירים את האלמנטים האלה מהרכיב – לוחצים על המינוס שמעיף דברים מהרשימה. בעקבות כך, אפשר כעת להרים את האוביקט והוא נשאר ביד.
- הבעיה היא שכעת אין לאוביקש אינדיקטור מיוחד לאיפה להחזיק אותו, ההחזקה מתרחשת במרכז האוביקט – גם אופקית וגם אנכית, וזה נראה מוזר. התפקיד של ה-Grab Points הוא ליצור נקודה בלתי נראית על האוביקט שיידע מאיפה לתפוס אותו במנח ספציפי
- הפתרון הוא להעתיק את אחד ה-Grab Points מהאוביקט הקיים לאוביקט החדש, ולמרבה השמחה המיקום שלו מתאים בדיוק
- בשדה ה-Grab Points לוחצים על כפתור ה-Auto Populate Grab Points והוא ממלא את האלמנט בעצמו.
- אותו הדבר עושים גם ליד השנייה
הגדרת שדה ה-Custom Hand Pose ברכיב ה-Grabbable
בשלב הזה אם ננסה לתפוס את הצלחת, היא תיתפס אבל מיד תיפול. לכן דבר נוסף שצריך לעשות ברכיב ה-Grabbable זה תחת האזור של “Default Hand Pose” לוודא שהערך של ה-Custom Hand Pose הוא Default או Generic.
העתקת רכיב RigidBody
באותו האופן שהעתקנו את רכיב ה-Grabbable מהאוביקט הקיים לאוביקט החדש, כך נעתיק את רכיב ה-RigidBody
הוספת רכיב Box Collider
- את זה לא נעתיק מהאוביקט הקיים כי רוב הסיכויים הם שהצורה שלו שונה ולכן האוביקט שלנו צריך Box Collider-ים משלו.
- בדוגמה שלי הכנסתי אוביקט צלחת, ולכן אני מוסיפה Sphere Collider
- אם ה-Collider קצת גדול, מתקנים את הגודל כדי שיתאים לצלחת, על ידי שינוי הערכים בשדה הרדיוס שברכיב
הוספת רכיב סקריפט של Grabbable Unity Events
הרכיב הזה מכיל אירועים של On Grab, On Release, ועוד הרבה, שאליהם אפשר לחבר פונקציות שתקראנה כשהמאורעות האלה מתרחשים.
