استخدام وحدة تحكم Runtime Animator في Unity

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

ما هو RuntimeAnimatorController؟

RuntimeAnimatorController هو كائن قابل للبرمجة في Unity يحدد الرسوم المتحركة والانتقالات والمعلمات الخاصة بمكون Animator. يسمح لك بإدارة الرسوم المتحركة والتحكم فيها ديناميكيًا أثناء اللعب. يمكنك إنشاء وتعديل وتعيين RuntimeAnimatorControllers لكائنات اللعبة لتحقيق سلوكيات الرسوم المتحركة المعقدة.

مثال الكود

لنقم بإنشاء مثال بسيط لتوضيح استخدام RuntimeAnimatorController:

  1. إنشاء مقاطع رسوم متحركة: أولاً، قم بإنشاء بعض مقاطع الرسوم المتحركة لكائن اللعبة الخاص بك. يمكنك القيام بذلك عن طريق استيراد الرسوم المتحركة أو إنشائها باستخدام أدوات الرسوم المتحركة الخاصة بـ Unity.
  2. إنشاء وحدة تحكم Animator: قم بإنشاء أصل RuntimeAnimatorController جديد في مشروعك عن طريق النقر بزر الماوس الأيمن في نافذة المشروع، ثم تحديد إنشاء -> Animator Controller.
  3. إضافة مقاطع الرسوم المتحركة: انقر نقرًا مزدوجًا فوق أصل وحدة تحكم الرسوم المتحركة التي تم إنشاؤها حديثًا لفتحها في نافذة Animator. قم بسحب وإسقاط مقاطع الرسوم المتحركة التي قمت بإنشائها في الخطوة 1 في نافذة Animator. ترتيب التحولات بين الرسوم المتحركة حسب الحاجة.
  4. تعيين وحدة تحكم Animator: قم بإرفاق RuntimeAnimatorController بمكون Animator الخاص بكائن اللعبة. يمكنك القيام بذلك إما عبر نافذة المفتش أو برمجيًا باستخدام برنامج نصي.
  5. التحكم في الرسوم المتحركة: استخدم التعليمات البرمجية للتحكم في الرسوم المتحركة أثناء وقت التشغيل. يمكنك تشغيل الرسوم المتحركة وتعيين المعلمات وإدارة التحولات بناءً على أحداث اللعبة أو إدخال المستخدم.

فيما يلي مثال للتعليمات البرمجية لتوضيح كيفية التحكم في الرسوم المتحركة باستخدام RuntimeAnimatorController:

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private Animator animator;

    void Start()
    {
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        // Example: Triggering animation based on player input
        float move = Input.GetAxis("Horizontal");
        animator.SetFloat("Speed", Mathf.Abs(move)); // Set 'Speed' parameter based on player's horizontal movement

        if (Input.GetKeyDown(KeyCode.Space))
        {
            animator.SetTrigger("Jump"); // Trigger 'Jump' animation when Space key is pressed
        }
    }
}

في هذا المثال:

  • نقوم باسترداد مكون Animator المرفق بكائن اللعبة.
  • في طريقة Update، نتحقق من إدخال اللاعب للتحكم في الرسوم المتحركة ديناميكيًا.
  • قمنا بتعيين المعلمة 'Speed' بناءً على الحركة الأفقية للاعب لتشغيل الرسوم المتحركة أثناء المشي.
  • نقوم بتشغيل الرسوم المتحركة 'Jump' عندما يضغط اللاعب على مفتاح المسافة.

خاتمة

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

المقالات المقترحة
مقدمة لآلة الدولة في الوحدة
دليل لدمج وحدة تحكم Nintendo مع Unity
إنشاء نظام جرد وصياغة العناصر في الوحدة
إضافة دخول اللاعب إلى السيارة في Unity
إنشاء وحدة تحكم البرج في الوحدة
إنشاء محاكي الصيد في الوحدة
إنشاء محاكي حركة المرور في الوحدة