ניתור וחיכוך
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 12 מתוך 63.
האופן שבו מתנגש קופץ ומחליק נקבע לפי ה־PhysicsMaterial שלו (כך הוא נקרא ב־Unity 6; בגרסאות ישנות יותר הוא נקרא PhysicMaterial). bounciness נע בין 0 (ללא קפיצה) ל־1 (שומר על כל המהירות שלו). dynamicFriction מאט גוף שמחליק, ו־staticFriction קובע כמה חזק צריך לדחוף גוף במנוחה לפני שהוא מתחיל להחליק. מתנגש ללא חומר מתנהג כאילו החיכוך שלו הוא 0.6 וה־bounciness שלו הוא 0. כדור הקפיצה הזה מעניק למתנגש שלו חומר קופצני משלו:
void Start()
{
PhysicsMaterial mat = GetComponent<Collider>().material; // העותק העצמי של ה-collider הזה
mat.bounciness = 0.9f;
mat.bounceCombine = PhysicsMaterialCombine.Maximum;
}במגע משתתפים שני מתנגשים, ולכן Unity משלבת את שני הערכים שלהם. כל חומר בוחר כיצד לעשות זאת, באמצעות bounceCombine עבור bounciness ו־frictionCombine עבור חיכוך, ולכל אחד מארבעה מצבים: Average (ברירת המחדל), Minimum, Multiply או Maximum. כששני המתנגשים מבקשים מצבים שונים, המצב שמופיע מאוחר יותר ברשימה הוא שקובע. על רצפה ללא חומר, Average ייתן לכדור (0.9 + 0) / 2 = 0.45. עם Maximum, הכדור שומר על 0.9 מהמהירות שלו בכל קפיצה, כלומר על 0.9 x 0.9 = 81% מהגובה שלו, מכיוון שהגובה משתנה ביחס לריבוע המהירות.
.material נותן למתנגש עותק משלו של החומר שלו, כך שהשינויים משפיעים רק עליו. .sharedMaterial הוא נכס החומר עצמו, המשותף לכל מתנגש שמשתמש בו, והוא null במתנגש שמעולם לא הוקצה לו חומר.
אתגר
קלתנו לעורך האונליין את המשטחים שלו. הסקריפט Surface נמצא על הטרמפולינה הכחולה (bounce 0.8, friction 0.6) ועל רצועת הקרח (bounce 0, friction 0.1). לכדור ולארגז אין חומרים משלהם.
- ב־
Start(), הגדירו את החומר של הקוליידר הזה עצמו ל־bounceול־friction(גם דינמי וגם סטטי). - כל מה שנוחת על משטח חייב לקפוץ עם מלוא ערך ה־
bounceשל המשטח, וכל מה שמחליק עליו חייב לקבל את ה־frictionשל המשטח עצמו, ולא תערובת עם הערך 0.6 של עצמים ללא חומר.
לחצו על Play כדי לצפות בכדור קופץ, ואז על Check: הוא גם מחליק את הארגז על פני הקרח.
נסו בעצמכם
using UnityEngine;
public class Surface : MonoBehaviour
{
public float bounce = 0f;
public float friction = 0.6f;
void Start()
{
// הקצו ל-collider הזה חומר משלו עם bounce ו-friction
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פיזיקה ומשחקיות
1גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוף