السرعة المتجهة
جزء من قسم الفيزياء وأسلوب اللعب في رحلة Unity على Coddy. الدرس 5 من 63.
تمثل rb.linearVelocity كيفية تحرك الجسم الآن: متجه Vector3 بوحدة المتر في الثانية على المحاور x وy وz. تخبرك قراءته بالاتجاه الذي يتحرك نحوه الجسم، ويمثل rb.linearVelocity.magnitude سرعته. يؤدي تعيين قيمة له إلى تغيير الحركة فورًا، من دون تسارع تدريجي أو تأثير للكتلة: صندوق كتلته 1 kg وخزنة كتلتها 50 kg، إذا عُيّنت سرعتهما على 2 m/s، يتحركان كلاهما بسرعة 2 m/s بالضبط بدءًا من خطوة الفيزياء التالية. وتواصل الجاذبية والاحتكاك والاصطدامات التأثير عليه بعد ذلك.
تنطلق عربة الكارت هذه إلى الأمام بسرعة cruise m/s بالضبط. تنسخ السرعة، وتغيّر z فقط، ثم تعيّنها مجددًا، لذا تبقى قيمة y التي منحتها الجاذبية، وتظل العربة تسقط عن نهاية المنحدر:
void FixedUpdate()
{
Vector3 vel = rb.linearVelocity;
vel.z = cruise; // إلى الأمام بسرعة cruise متر/ثانية بالضبط
rb.linearVelocity = vel; // تحتفظ y بالقيمة التي جعلتها عليها الجاذبية
}إن تعيين y إلى 0 أيضًا سيبدد سرعة الجاذبية في كل خطوة، وستنساب العربة إلى أسفل المنحدر بدلًا من السقوط. قبل Unity 6، كان اسم هذه الخاصية velocity. لا تزال الدروس القديمة تكتب rb.velocity: في Unity 6، ينجح تجميعها، مع تحذير بأن velocity قديمة وأُعيدت تسميتها إلى linearVelocity. وبالطريقة نفسها، أصبح drag هو linearDamping. استخدم الأسماء الجديدة.
التحدي
سهلاجعل الأسهم تحرّك الروبوت بسرعة speed م/ث بالضبط (3 في Inspector): إلى اليسار واليمين على طول x، وإلى الأعلى والأسفل على طول z، باستخدام المحاور الخام حتى لا يحدث أي تدرّج في الحركة.
- عندما لا يكون أي سهم مضغوطًا، يقف ساكنًا فورًا.
- تظل الجاذبية تعمل: إذا مشى خارج الحافة، يسقط الروبوت إلى الأرض في الأسفل.
اضغط على تشغيل واجعله يمشي خارج الحافة، ثم اضغط على تحقّق.
جرّب بنفسك
using UnityEngine;
public class RobotWalk : MonoBehaviour
{
public float speed = 3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// تحرّك باستخدام أسهم الاتجاهات بسرعة تساوي speed تمامًا، مع الحفاظ على قيمة y الناتجة عن الجاذبية
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الفيزياء وأسلوب اللعب
1الجسم الصلب (Rigidbody)
الجاذبية والكتلةالدفع باستخدام AddForceالقفز باستخدام دفعةFixedUpdate للفيزياءالسرعة المتجهةالأجسام الحركيةمراجعة: منصة الإطلاق