الفضاء المحلي والعالمي
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 26 من 85.
للكائن اتجاهاته الخاصة بالإضافة إلى اتجاهات العالم. يشير transform.forward إلى الاتجاه الذي يتجه إليه أنف الكائن (السهم الأزرق في نافذة Scene في Unity)، ويُمثَّل بمتجه عالمي طوله وحدة واحدة؛ أما transform.right وtransform.up فيمثّلان اتجاهي اليمين والأعلى الخاصين به. أدر الكائن، فتدور هذه الاتجاهات معه. هذه الطائرة الورقية مدارة بزاوية 90 درجة حول y في المشهد، لذا تطير على محور x العالمي، في الاتجاه الذي تشير إليه:
public float speed = 4f;
void Update()
{
transform.position += transform.forward * speed * Time.deltaTime;
}ينفّذ transform.Translate(Vector3.forward * speed * Time.deltaTime) الأمر نفسه، لأن Translate يقرأ متجهها في الفضاء الخاص بالكائن: حيث تعني Vector3.forward الاتجاه الأمامي للكائن. مرّر Space.World كوسيط ثانٍ، وسيستخدم محاور العالم بدلاً من ذلك؛ لذا فإن transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.World) يحرّك الطائرة على محور z العالمي، أيًّا كان الاتجاه الذي تشير إليه.
يدير transform.Rotate الكائن أيضًا حول محاوره الخاصة. عند النظر من الأعلى، تدير زاوية موجبة حول y كائنًا قائمًا إلى يمينه، وتديره زاوية سالبة إلى يساره، ويدور معها transform.forward الخاص به.
التحدي
سهلامنح الدبابة عناصر تحكم الدبابات: تدور في مكانها، وتتقدم في الاتجاه الذي تواجهه.
- في
Update()، أثناء الضغط على سهم اليمين، استخدمtransform.Rotate(0, turn * Time.deltaTime, 0);، واستخدم-turnمع سهم اليسار. - أثناء الضغط على سهم الأعلى، استخدم
transform.Translate(Vector3.forward * speed * Time.deltaTime);.
اضغط على «العب»، ثم استدر وقد الدبابة: ستتجه إلى حيث يشير مقدّمها. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class Tank : MonoBehaviour
{
public float speed = 3f;
public float turn = 90f;
void Update()
{
// سهمَا اليمين واليسار: أدر الدبابة حول المحور y. سهم الأعلى: حرّك الدبابة في الاتجاه الذي تواجهه.
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity