كيفية استخدام الانقطاعات في Unity Animator على أكمل وجه



يمكن تحقيق التأثير المبهر في الألعاب ليس فقط عن طريق الميكانيكا غير المتوقعة أو الراسمة ، ولكن أيضًا عن طريق الرسوم المتحركة - في المشروعات المحمولة ، غالبًا ما يكون للأخير تركيز خاص. لذلك ، قررت مشاركة ترجمة مثيرة للاهتمام للمواد على Unity Animator. داخل - حول أولوية التحولات الرسوم المتحركة والتبديل المختصة بين الدول.

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

المقالة مقسمة إلى ثلاثة أجزاء:

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



الجزء 1: ما هو "المقاطعة"؟


Interrupt هي إحدى ميزات Unity Animator التي تسمح لك بإيقاف انتقال الرسوم المتحركة من حالة إلى أخرى من أجل الانتقال إلى الحالة الثالثة.

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

هناك عدة أنواع أساسية من المقاطعة:



الحالة الحالية

إذا تم توفير العديد من التحولات من حالة معينة وتم إطلاق أخرى خلال واحدة منها ، فسيتم التبديل من النقطة الحالية ، كما هو موضح في الرسم البياني:



الدولة القادمة

الحالة التالية تعمل بشكل مشابه للوضع الحالي. ولكن هنا ، سيقوم Animator بتحليل التحولات من الحالة التالية ، في حين أن الانتقال من الحالة الحالية لا يزال ساريًا.



الحالة الحالية ثم الحالة التالية (أولاً ، الحالة الحالية ، ثم التالي)

في مكان ما هنا ، يشعر الناس بالملل من النظرية ، ويفقدون اهتمامهم بالموضوع. الانتظار! سيؤدي هذا إلى الارتقاء بمستوى مهاراتك في Animator إلى مستوى جديد.

بعد إتقان Current State و Next State ، ستفهم بالتأكيد النوع الثالث ، لأنه مزيجهما. في ذلك ، سيقوم برنامج Animator بتحليل إطار الانتقال الحالي حسب الإطار بحثًا عن آخرين يمكن تنفيذه من الحالة الأولية. إذا لم يتم العثور عليها ، سيقوم Animator بتحليل الحالة التالية بحثًا عن انتقال مناسب. في الوقت نفسه ، بالانتقال إلى انتقال جديد في عملية تنفيذ المرحلة السابقة ، سيتصرف Animator بنفس الطريقة تمامًا كما في الأمثلة أعلاه.

الحالة التالية ثم الحالة الحالية (الحالة التالية الأولى ، ثم الحالة الحالية)

كل شيء يشبه في النوع الثالث ، فقط ترتيب التحليل هو عكس ذلك.

أمرت المقاطعة



لكل ولاية ، يتم تعيين أولوية التحولات (من الأعلى إلى الأسفل) ، مثل هذا:



إذا قبل كنت لا تعرف لماذا لسحب المكونات في هذه القائمة - فويلا! هنا يمكنك ترتيب أولوية الانتقال.

عند تحديد "التوقف المرتبة" ، لن ينقطع Animator إلا إذا كانت أولوية الانتقال الجديد أعلى من أولوية الانتقال الجاري حاليًا. وكلما زاد الانتقال في هذه القائمة ، كلما زادت أولوياتها.

الجزء 2: كيفية تحديد مكان لكسر


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

النظر في المثال الأكثر وضوحا. نمط مألوف؟



كل ذلك يأتي إلى أي دولة. أليس كذلك؟

لا.

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

أنماط مقاطعة الحالة الحالية:



في كثير من الأحيان ، يتم إنشاء أي دولة فقط للانتقال إلى الحالة الثانية ، عندما بدأت الأولى بالفعل. ننسى ذلك. استخدام المقاطعات.

مثال آخر: لدينا انتقال من FirstState إلى SecondState ، ولكن لم يتم تعيين "إنهاء الوقت" ، ووقت الانتقال هو 0 ويتم تحديد شرط. سوف المقاطعة حل هذه المشكلة بشكل مثالي. لا يمكنك اللجوء إلى "أي ولاية" لأنه تم استخدامه بالفعل كثيرًا ، وبإضافته إلى "SecondState" ، تقوم بتنشيط الحالات غير المطلوبة في هذه الحالة.

أنماط مقاطعة الحالة التالية:



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

تذكر أنه يمكنك إضافة انتقالات متعددة من حالتين متطابقتين من أجل استخدام المقاطعة بنجاح.

عادةً ما تكون جميع الأنماط الأخرى عبارة عن مجموعات من الأمثلة الموضحة أعلاه.

المواقف المعتادة للمقاطعة:

في بعض الحالات ، تعتبر المقاطعات هي أفضل طريقة للخروج. القليل من الممارسة في Animator ، ويمكنك بسهولة تعلم أن تلاحظها.

أ) يجب أن يؤدي الإجراء التالي في الحال إلى تشغيل رسم متحرك.

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

على سبيل المثال ، يستخدم الأشخاص غالبًا انتقالات أي حالة (أو انتقالات متعددة بتكوينات مختلفة) للانتقال بسلاسة من قفزة مزدوجة إلى رعشة.

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

ب) بدأت الرسوم المتحركة ، لكن الموقف تغير ، ونحن بحاجة إلى الانتقال إلى سلسلة مختلفة من الرسوم المتحركة.

يحدث هذا غالبًا مع Animators UI ، حيث يمكنك تخطي بعض عناصر القائمة ، ويمكن عرض القوائم الفرعية فوق كل شيء آخر.

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

ج) تحتاج إلى الخروج من سلسلة الرسوم المتحركة الحالية.

يمكن توصيل المقاطعات ببعضها البعض - ستحصل على سلسلة من الانقطاعات التي ستقودك إلى سلسلة جديدة. في هذه الحالة ، سيتم الانتهاء من جميع الولايات بشكل صحيح وفي الوقت المناسب. هنا يمكنك استخدام المقاطعات Next State.

الجزء 3: كل شيء في الرسوم المتحركة يجب أن يكون واضحا


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

توصيات لتجنب الالتباس في Animator:

  1. استخدم Sub-State Machines ومحاولة الالتفاف على الانتقال إلى الحالات الداخلية. تعمل الآلة الفرعية الصحيحة بشكل مستقل على المدخلات والمخرجات ، وتستخدم التحولات التي توجه التدفق إلى الداخل ، وتعرف ماذا تفعل بالنتيجة. بهذه الطريقة يمكنك تجنب المشكلات الحرجة عند العمل في Animator.
  2. استخدم أي دولة بأقل قدر ممكن. فكر فيما إذا كان هذا ضروريًا حقًا. اتصل بزملائك. وفقط إذا وافق الجميع ، استخدم التحولات "أي دولة".
  3. إذا بدا لك أن الرسوم المتحركة يجب أن تبدو أسهل من الآن - رتبها. هذه هي أفضل طريقة لصقل مهاراتك.

Source: https://habr.com/ru/post/ar470499/


All Articles