الانتقال إلى المحتوى الرئيسي

كيفية تغيير موضع كائن في الوحدة عبر برنامج نصي: دليل بسيط

الوحدة هي واحدة من محركات اللعبة الأكثر شعبية ، والذي يستخدم لإنشاء مجموعة متنوعة من الألعاب والتطبيقات. أحد الجوانب المهمة للتطوير هو التحكم في موضع وحركة الأشياء في مساحة اللعبة. في هذا الدليل البسيط ، سننظر في كيفية تغيير موضع كائن في الوحدة باستخدام برنامج نصي.

في الوحدة ، يتم تعيين موضع كائن باستخدام متجه يحتوي على ثلاثة إحداثيات: س ، ص ، و ض. لتغيير موضع كائن في الكود ، تحتاج إلى الرجوع إلى مكون التحويل الخاص به. تحويل مخازن المعلومات حول الموقف ، والتناوب ، وحجم الكائن.

أولا ، تحتاج إلى إنشاء برنامج نصي جديد في الوحدة. حدد الكائن الذي تريد تغيير موضعه ، وانقر بزر الماوس الأيمن فوقه وحدد"إنشاء فارغ". ثم حدد الكائن الذي تم إنشاؤه وفي نافذة" المفتش "انقر فوق الزر" إضافة مكون "وحدد"برنامج نصي جديد". اسم البرنامج النصي ، على سبيل المثال ، "تغييرالموقف".

  1. المفاهيم والنهج الأساسية
  2. الخطوة 1: إنشاء برنامج نصي
  3. الخطوة 2: الوصول إلى كائن
  4. الخطوة 3: تغيير موضع الكائن
  5. الخطوة 4: استخدام الرسوم المتحركة للتحرك بسلاسة
  6. مثال على الكود: تحريك كائن في فترة زمنية معينة
  7. سؤال وجواب

المفاهيم والنهج الأساسية

هناك عدة طرق لتغيير موضع الكائن في الوحدة. واحدة من أبسط الطرق وأكثرها شيوعا هي استخدام برنامج نصي. يسمح لك البرنامج النصي في الوحدة بتعيين العديد من الإجراءات والعمليات ، بما في ذلك تغيير موضع الكائن.

تشمل المفاهيم الأساسية التي يجب تعلمها للعمل مع موضع الكائن ما يلي:

  • التحويل هو المكون المسؤول عن موضع الكائن ودورانه وحجمه. لتغيير موضع كائن ما ، تحتاج إلى العمل مع مكون التحويل الخاص به.
  • المتجه3 هي فئة في الوحدة تمثل متجها ثلاثي الأبعاد. يستخدم المتجه 3 لتعيين موضع كائن في مساحة 3 د.
  • الموضع هو أحد خصائص فئة التحويل. مسؤول عن موضع الجسم في الفضاء. يسمح لك تغيير قيمة الموضع بنقل كائن إلى نقطة محددة.

لتغيير موضع كائن من خلال برنامج نصي ، اتبع الخطوات التالية:

  1. قم بإنشاء برنامج نصي جديد وأضفه إلى الكائن الذي تريد تغيير موضعه.
  2. افتح البرنامج النصي في بيئة التطوير المحددة (على سبيل المثال ، فيسوال ستوديو) وإضافة التعليمات البرمجية اللازمة.
  3. استخدم التحويل.خاصية الموضع لتعيين الموضع الجديد للكائن. على سبيل المثال ، يمكنك تعيين قيمة موضع جديدة مباشرة:
الطريقنموذج التعليمات البرمجية
التنازل المباشر عن منصب جديدتحويل.موضع = ناقل جديد3 (1 ، 0 ، 0);

وبالتالي ، فإن المفاهيم والنهج الأساسية لتغيير موضع كائن في الوحدة من خلال برنامج نصي هي مكون التحويل والطبقة المتجهة3 وخاصية الموضع. بمعرفة هذه الأساسيات ، يمكنك إنشاء نصوص برمجية لتحريك الكائنات والتحكم في موضعها في مساحة اللعبة.

الخطوة 1: إنشاء برنامج نصي

قبل تغيير موضع كائن في الوحدة ، تحتاج إلى إنشاء برنامج نصي سيكون مسؤولا عن هذه العملية. فيما يلي الخطوات التي ستساعدك على إنشاء مثل هذا البرنامج النصي:

  1. افتح الوحدة وافتح المشروع حيث تريد تغيير موضع الكائن.
  2. انقر بزر الماوس الأيمن في إدارة الملفات الوحدة وحدد" إنشاء " > "ج#" النصي.
  3. إعطاء البرنامج النصي الخاص بك اسم فريد ، مثل"موفيوبجيكت".
  4. انقر نقرا مزدوجا فوق البرنامج النصي الذي تم إنشاؤه لفتحه في محرر التعليمات البرمجية.

أنت الآن جاهز لبدء كتابة برنامج نصي لتغيير موضع الكائن.

الخطوة 2: الوصول إلى الكائن

لتغيير موضع كائن في الوحدة ، يجب عليك أولا الوصول إلى الكائن نفسه. للقيام بذلك ، يمكنك استخدام متغير من نوع غاموبجيكت.

1. إنشاء متغير نوع غاموبجيكت جديد في البرنامج النصي الخاص بك:

العامة غاموبجيكت ميوبجيكت;

2. لربط متغير مع كائن معين في المشهد ، اسحب الكائن المطلوب من لوحة التسلسل الهرمي إلى حقل مرجع الكائن في مفتش البرنامج النصي:

3. الآن بعد أن أصبح لديك حق الوصول إلى الكائن ، يمكنك استخدامه لتغيير موضعه:

ميوبجيكت.تحويل.موضع = ناقل جديد3 (س ، ص ، ض);

أين س ، ص ، ض هي إحداثيات الموضع الجديد للكائن.

الآن أنت تعرف كيفية الوصول إلى كائن في الوحدة وتغيير موضعه باستخدام برنامج نصي. يمكنك المتابعة إلى الخطوة التالية للحصول على تكوين أكثر تفصيلا.

الخطوة 3: تغيير موضع الكائن

. تسمح لنا هذه الطريقة بتعيين إحداثيات جديدة للكائن.

. على سبيل المثال:

تحويل.الموضع = ناقل جديد 3(2.0 فهرنهايت ، 0.0 فهرنهايت ، 5.0 فهرنهايت);

.

لنقل الكائن بسلاسة إلى نقطة معينة:

الموجه 3 الهدف الموضع = الموجه الجديد 3 (5.0 فهرنهايت ، 0.0 فهرنهايت ، 0.0 فهرنهايت);

سرعة تعويم = 3.0 فهرنهايت;

تحويل.موقف = متجه3.موفيتو نحو (تحويل.الموقف ، الهدف ، السرعة * الوقت.دلتا تايم);

وحدات المسافة في الثانية.

لنقل كائن بسلاسة بين نقطتين:

متجه3 بدايةموقف = متجه جديد3 (0.0 فهرنهايت ، 0.0 فهرنهايت ، 0.0 فهرنهايت);

المتجه3 الموضع النهائي = المتجه الجديد3(10.0 فهرنهايت ، 0.0 فهرنهايت ، 0.0 فهرنهايت);

تعويم تي = ماثف.بينغبونغ (الوقت.الوقت ، 1.0 واو);

تحويل.موقف = متجه3.ليرب (ستارتبوسيتيون ، إندبوسيتيون ، ر);

.

جنبا إلى جنب مع مختلف الأساليب والعمليات لتحقيق الآثار التي نحتاجها عند تغيير موقف كائن في الوحدة.

دعنا نواصل رحلتنا في القسم التالي ونتعرف على التغيير في دوران الكائن.

الخطوة 4: استخدام الرسوم المتحركة للتحرك بسلاسة

في الخطوات السابقة ، قمنا بتغيير موضع الكائن مباشرة من خلال البرنامج النصي. ومع ذلك ، يمكن استخدام الرسوم المتحركة لإنشاء حركة سلسة للكائن.

تحتوي الوحدة على مكون رسوم متحركة خاص يسمح لك بإنشاء رسوم متحركة للكائنات. لاستخدام الرسوم المتحركة لتحريك كائن ، اتبع هذه الخطوات البسيطة:

  1. إنشاء الرسوم المتحركة الجديدة للكائن. للقيام بذلك ، حدد كائنا في التسلسل الهرمي ، وافتح نافذة الرسوم المتحركة وانقر فوق إنشاء. سيؤدي هذا إلى إنشاء رسم متحرك جديد وفتح نافذة محرر الرسوم المتحركة.
  2. ضبط الإطارات الرئيسية للرسوم المتحركة. في نافذة محرر الرسوم المتحركة ، يمكنك تعيين مواضع مختلفة حيث سيتم وضع الكائن في نقاط زمنية مختلفة. على سبيل المثال ، يمكنك تحديد موضع البداية والمواقف الوسيطة وموضع النهاية. سيسمح هذا للكائن بالتحرك بسلاسة بين هذه المواضع.
  3. إضافة الرسوم المتحركة إلى الكائن. ارجع إلى نافذة المفتش للكائن الذي تريد استخدام الرسوم المتحركة عليه وابحث عن مكون الرسوم المتحركة. اسحب الرسوم المتحركة التي تم إنشاؤها إلى حقل الرسوم المتحركة لهذا المكون. الآن سيتم تطبيق الرسوم المتحركة على الكائن.
  4. بدء الرسوم المتحركة. في البرنامج النصي المسؤول عن تحريك الكائن ، اكتب الرمز الذي سيبدأ الرسوم المتحركة. على سبيل المثال ، يمكنك استخدام وظيفة التشغيل() لمكون الرسوم المتحركة لبدء رسم متحرك.

الآن الكائن الخاص بك سوف تتحرك بسلاسة باستخدام الرسوم المتحركة. يتيح لك ذلك إضافة حركة أكثر واقعية وسلسة إلى لعبتك أو تطبيقك.

مثال على الكود: تحريك كائن في فترة زمنية معينة

في هذا المثال ، لنلق نظرة على كيفية تحريك كائن في وحدة في فترة زمنية معينة. الفكرة الأساسية هي تغيير موضع الكائن تدريجيا على مدى فترة زمنية لإنشاء تأثير متحرك سلس.

الخطوات:

  1. إنشاء برنامج نصي جديد في الوحدة وتسميته ، على سبيل المثال ، "موفيوبجيكت".
  2. افتح البرنامج النصي في محرر التعليمات البرمجية وأضف الكود التالي:

باستخدام يونيتينجين;

فئة عامة موفيوبجيكت : مونوبهافور

{

// Целевая позиция объекта и продолжительность перемещения

public Vector3 targetPosition;

public float moveDuration;

private Vector3 startPosition;

private float moveTimer;

private void Start()

{

// Сохраняем начальную позицию объекта

startPosition = transform.position;

moveTimer = 0f;

}

private void Update()

{

// Проверяем, достигли ли целевой позиции

if (moveTimer < moveDuration)

{

// Вычисляем новую позицию объекта

تعويم تي = موفيتيمر / موفيدوراتيون;

تحويل.موقف = متجه3.ليرب (ستارتبوسيتيون ، تارجيتبوسيتيون ، ر);

// زيادة مؤقت الحركة

موفيتيمر + = الوقت.دلتا تايم;

}

}

}

شرح الكود:

في هذا الرمز ، أنشأنا فئة جديدة" موفيوبجيكت "مع اثنين من المتغيرات العامة:" تارجيتبوسيتيون "و"موفيدوراتيون". "تارجيتبوسيتيون" يحدد الموقف النهائي الذي نريد نقل الكائن ، و" موفيدوراتيون " يحدد مدة هذه الخطوة.

في طريقة" ابدأ " ، نقوم بحفظ الموضع الأولي للكائن وتهيئة مؤقت الحركة.

في طريقة" التحديث " ، نتحقق مما إذا كنا قد وصلنا إلى الموضع المستهدف. إذا لم يكن الأمر كذلك ، فإننا نحسب الموضع الجديد للكائن باستخدام دالة ليرب لإنشاء تأثير متحرك سلس. ثم نقوم بزيادة مؤقت الحركة بالوقت المنقضي من الإطار السابق.

باستخدام البرنامج النصي:

لاستخدام هذا البرنامج النصي على كائن في الوحدة ، اتبع الخطوات التالية:

  1. اسحب البرنامج النصي" موفيوبجيكت " إلى الكائن الذي تريد نقله.
  2. في مفتش الكائن ، حدد موضع الهدف ومدة الحركة.

هام:

قبل استخدام هذا البرنامج النصي ، تأكد من أن الكائن الخاص بك يحتوي على مصادم و/أو ريجيدبودي لتجنب الاصطدامات المحتملة أثناء هذه الخطوة.

سؤال وجواب