אזורי הרג
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 19 מתוך 71.
אזור קטלני הוא אזור הפעלה מעל מקום שאסור לשחקן להגיע אליו: לבה, קוצים או החלל הריק שמתחת לשלב. כניסה אליו מחזירה את השחקן לנקודת הופעה. כאן הסקריפט של הלבה עצמה עושה זאת, כשנקודת ההופעה מוגדרת בשדה Transform במפקח:
public Transform spawnPoint;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
other.transform.position = spawnPoint.position;
other.attachedRigidbody.linearVelocity = Vector3.zero;
}
}other.attachedRigidbody הוא ה-Rigidbody שאליו שייך המתנגש שנכנס. הגדרת transform.position משגרת את השחקן, וזה מה שתחייה מחדש דורשת. עם זאת, Rigidbody שומר על המהירות שלו לאורך הקפיצה: שחקן שנפל במהירות של 10 יחידות לשנייה מגיע לנקודת ההופעה ועדיין נופל במהירות של 10, ושחקן שרץ לתוך הלבה ממשיך לרוץ היישר בחזרה אליה. הגדרת linearVelocity ל-Vector3.zero גורמת לו להגיע בעמידה במקום. בדיקת התג משאירה כל דבר אחר שנופל לתוך הלבה במקומו.
אתגר
קלאפשר לשחקן להופיע מחדש. הסקריפט הזה נמצא על השחקן, ולכן הוא מזיז את transform ואת body, ולא את other.
- ב־
Start(), הגדר את השדהVector3 respawnלערךtransform.position. - ב־
OnTriggerEnter(Collider other), כאשרother.CompareTag("Checkpoint"), הגדר אתrespawn = transform.position;. - כאשר
other.CompareTag("KillZone"), הגדר אתtransform.position = respawn;ואתbody.linearVelocity = Vector3.zero;.
לחץ על "שחק" וצעד מהגשר. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class Player : MonoBehaviour
{
public float force = 12f;
Rigidbody body;
Vector3 input;
// respawn: המקום שאליו השחקן חוזר
void Start()
{
body = GetComponent<Rigidbody>();
}
void Update()
{
input = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
}
void FixedUpdate()
{
body.AddForce(input * force);
}
// Checkpoint: לזכור איפה השחקן נמצא. KillZone: לחזור למקום הזה ולעמוד בלי לזוז.
}
כל השיעורים ביחידה פיזיקה ומשחקיות
1גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוףתרגלו בעצמכם: Unity אונליין