גולף גולות
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 68 מתוך 71.
גולף עם גולה על משטח ירוק קטן. הגולה מתחילה בנקודת הזינוק: מכוונים אותה בעזרת החצים, מחזיקים את מקש הרווח כדי לצבור כוח ומשחררים כדי לחבוט. היא מתגלגלת, קופצת מהדפנות ומהבלוק שבאמצע ומאטה, וכשהיא אטית מספיק היא נעצרת לחלוטין. רק אז אפשר לחבוט שוב. גולה שמתגלגלת אל הגומה באטיות נופלת פנימה; גולה שמגיעה מהר מדי מתגלגלת ישר מעליה. ככל שמספר החבטות קטן יותר, כך טוב יותר.
כתבו שני סקריפטים: Golf על הגולה ו-Hole על הגומה.
אתגר
קשהכתבו את הגולה למשחק גולף: כוונו, צברו עוצמה וירו.
- סובבו את
aimבאמצעות הציר האופקי הגולמי במהירותaimSpeed; הציבו אתpointerבמיקוםtransform.position + Quaternion.Euler(0f, aim, 0f) * Vector3.forward. - במנוחה (מהירות נמוכה מ־
stopSpeed), החזקת מקש הרווח מגדילה אתpowerבקצבchargeRateעדmaxPower; שחרור המקש מעיף אותה בכיוון הכוונת (בדחף), מאפס אתpowerומתעד את"Stroke " + strokes. - ב־
FixedUpdate(), במנוחה, אפסו את שתי המהירויות.
לחצו על „שחק” וחבטו בכדור. לאחר מכן לחצו על „בדיקה”.
נסו בעצמכם
using UnityEngine;
public class Golf : MonoBehaviour
{
public int strokes = 0;
[SerializeField] private Transform pointer;
[SerializeField] private float aimSpeed = 90f;
[SerializeField] private float chargeRate = 4f;
[SerializeField] private float maxPower = 6f;
[SerializeField] private float stopSpeed = 0.3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
// כוונו באמצעות החצים, טענו באמצעות Space, חבטו עם שחרור המקש, עצרו כשהכדור נע לאט
}
כל השיעורים ביחידה פיזיקה ומשחקיות
1גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוףתרגלו בעצמכם: Unity אונליין