بهینه سازی animator controller

در درس قبلی درمورد نحوه صحیح کدنویسی و استفاده از توابع پیشرفته برای فراخوانی سریع تر وبهینه تر انیمیشن کلیپ ها توضیح دادیم , حال در این درس درمورد animator controller بیشتر خواهیم اموخت.

animator controller چیست ؟

animator controller در واقع یک نوع فایل است برای کنترل و ضبط تغییرات اعمال شده بر روی انواع کلیپ ها و پرامترهاست , همان گونه که با نحوه کار توابع در یونیتی اشنا شدیم می توان همان نتایج را برای animator controller نیز در نظر گرفت , یعنی هر گاه یک متغییر یا یک اسکریپت در یونیتی تعریف شود نسبت به نوع کار ان اسکریپت یا متغییر منابع بازی مصرف میکند و این نکته را هم خاطر نشان کنم که تمامی کامپومنت ها در یونیتی توسط اسکریپت ها ( کدها ) ایجاد شدن , پس با توجه با توضیحات متن فوق همان نتیجه را برای animator controller نیز در نظر میگیریم.

نکته : animator controller منابع خیلی زیادی مصرف میکند ( تقریبا نصف فریم ریت رو برای اون در نظر میگیریم )

برای بهینه سازی چه کارهایی قابل انجام است ؟

  • فقط در مواقعی که واقعا لازم است از انیماتور استفاده کنید.
  • به نوع Rig و طبقه بندی و اسکلت بندی مدلها را با دقت انتخاب کنید.
  • بیشتر از یک شرط برای سویچ انیمیشن کلیپ ها انتخاب نکنید
  • استفاده از animator state machine behaviour را به حداقل برسانید
  • از animator override controller استفاده کنید
  • از animator blend tree استفاده نکنید یا فقط برای کاراکتر اصلی استفاده کنید
  • سعی کنید از avatar mask استفاده نکنید یا فقط برای کاراکتر اصلی استفاده کنید
  • سعی کنید با استفاده از یک کلاس کنترولر انیماتور هایی را که از پلیر فاصله دارند را غیر فعال کنید
  • حتما از hash کردن برای بهینه سازی نام های پارامترهای انیمیشن ها استفاده کنید.
  • به هیچ عنوان از event های انیماتور استفاده نکنید
  • استفاده از Root motion رو به حداقل برسانید

در درس های بعدی بیشتر با موارد بالا اشنا خواهید شد همچنین در صورت هرگونه سوال در مورد این درس میتوانید اینجا ان را مطرح کنید

اخرین مقاله ها

پیشنهادی

Unity Assets

سخنی از بزرگان

Random Text Plus Image