اجرای موازی چند انیمیشن و لایه‎‎‌بندی انیمیشن‎‌ها در یونیتی

وزن ها

هر لایه انیمیشن در یونیتی میتواند وزن متفاوتی داشته باشد. این وزن که از عدد 0 تا 1 قابل مقدار دهی است؛ میزان تاثیر یک لایه بر لایه‎‌های موازی در حال اجرا با آن را مشخص میکند. وزن‎‌ها به راحتی در داخل کد ها قابل تعریف و تغییر هستند و مبنای آن‎‌ها مدیریت اجرای موازی انیمیشن‎‌ها و اثر آنها بر یکدیگر میباشد.

برای مثال وقتی شما به یک لایه از انیمیشن‌‎های یک متن رنگ قرمز و به لایه‌‎ی دیگر رنگ آبی را نسبت میدهید، نسبت وزن 1 به 0.5 در لایه‎‌ها، باعث ایجاد متنی با رنگ بنفش مایل به سرخ میشود. این یعنی آنها به صورت موازی باهم اجرا شده و اثر متناسب با وزن خود را بر روی المان انتخابی گذاشته اند. حال هرچه وزن لایه‎‌ی دارای رنگ آبی بیشتر شود، رنگ ما به بنفش نزدیک تر میشود.

همچنین با فرض اینکه این انیمیشن‎‌ها دارای زمان بندی متفاوتی باشند، مبنای زمانبندی آنها، زمان اجرایی انیمیشن لایه‎‌ی مادر (لایه‎‌ی اصلی) میباشد که در راس سایر لایه‎‌های یک المان قرار گرفته است.

با این تفاسیر در اجرای انیمیشن ها، به ترتیب پارامتر های وزن و ترتیب چینش اولویت و اثرگذاری خود را بر المان‎‌های مشمول آنها خواهند گذاشت.

در این نما، لایه‎‌ی
در این نما، لایه‎‌ی " Fatigued" با لایه‎‌ی "Base Layer" همگام سازی شده است. ساختار ماشین وضعیت مشابه "Base Layer" است. ، و انیمیشن های فردی مورد استفاده در هر حالت برای تمایزات تعویض میشوند؛ اما با انیمیشن های معادل مناسبشان.

همگام سازی لایه ها

در بعضی مواقع استفاده از وضعیت مشابه ماشین در لایه‌‎های مختلف بسیار مفید است. برای مثال وقتی شما میخواهید حالت " صدمه دیدن" و انیمیشن های مرتبط با آن (راه رفتن/دویدن/پریدن) را به جای نوع سالم این انیمیشن ها، شبیه سازی کنید؛ شما میتوانید چک باکس یکی از لایه‎‌های خود را زده و آن را با لایه‎‌ی ثانویه‌‎ای که از Source Layer قابل انتخاب است، شبیه‎‌سازی کنید. ساختار ماشین مشابه خواهد بود اما ماهیت animation clip های استفاده شده توسط وضعیت‎‌ها متفاوت خواهد بود.

Timing در لایه‎‌ها

این چک باکس به انیماتور اجازه میدهد تا زمان هر انیمیشن در لایه‎‌ی sync شده را بر مبنای وزن آن، تنظیم کند. اگر این چک باکس انتخاب نشده باشد، انیمیشن‌ها تنظیم خواهند شد و این تنظیم بر مبنای طول آن در لایه‌‎ی اصلی میباشد. اما اگر انتخاب شده باشد، طول هردو انیمیشن بر مبنای وزن آنها تعدیل خواهد گردید. در هر دو حالت (انتخاب شده و نشده) انیماتور طول انیمیشن‌‎ها را تنظیم میکند. اگر انتخاب نشده باشد، لایه‎‌ی اصلی محوریت عملکرد و اگر انتخاب شده باشد، سازش بیان شده اتفاق خواهد افتاد.

Blending در لایه‎‌ها

در این بخش Override به معنی این است که اطلاعات دریافت شده از سایر لایه‎‌ها در نظر گرفته نشود؛ این در حالی است که Additive به این معناست که این انیمیشن در لایه‎‌ای بالاتر از لایه‎‌‌‎ی قبلی خود قرار بگیرد.

Mask در لایه‎‌ها

میتوانید به هر لایه برای اجرا، یک Mask اختصاص داده تا بر روی هر لایه به طور مجزا اعمال شود.

IK Pass در لایه‎‌ها

چنانچه چک باکس Inverse Kinematics (IK Pass) فعال شود، فعالیت این سرویس با هدف callback متد OnAnimatorIK() فعال خواهد گشت. این ابزار به کارکتر‎‌‎های سه بعدی کمک میکند تا بتوانند در لحظه‎‌ای مقرر، بر اساس سیستم استخوان‌‎بندی بدنی انسان‌‎نمایی، مفاصل را در راستای در بر گرفتن - برای مثال در دست گرفتن – چیزی مدیریت کند.