کلاس زمان وحدت ویژگی های اساسی مهمی را ارائه می دهد که به شما امکان می دهد با مقادیر مرتبط با زمان در پروژه خود کار کنید.
این صفحه شامل توضیحاتی برای برخی از اعضای متداول کلاس زمان و نحوه ارتباط آنها با یکدیگر است. می توانید توضیحات فردی را برای هر یک از اعضای کلاس زمان در صفحه مرجع اسکریپت زمان بخوانید.
کلاس Time دارای چند ویژگی است که مقادیر عددی را در اختیار شما قرار می دهد که به شما امکان می دهد در حالی که بازی یا برنامه شما در حال اجرا است ، زمان بروز زمان را اندازه گیری کنید. مثلا:
کلاس Time همچنین خواصی را در اختیار شما قرار می دهد که به شما امکان کنترل و محدود کردن نحوه سپری شدن زمان را می دهد ، به عنوان مثال:
وحدت دارای دو سیستم است که زمان را ردیابی می کند ، یکی با مدت زمان متغیر بین هر مرحله و دیگری با مدت زمان ثابت بین هر مرحله.
سیستم مرحله متغیر زمان بر روی فرآیند مکرر ترسیم یک قاب به صفحه کار می کند و برنامه یا کد بازی خود را یک بار در هر قاب اجرا می کند.
سیستم مرحله زمانی ثابت هر مرحله با مبلغ از پیش تعریف شده قدم می گذارد و به به روزرسانی های فرای بصری مرتبط نیست. این امر بیشتر با سیستم فیزیک همراه است ، که با نرخ مشخص شده با اندازه مرحله زمان ثابت اجرا می شود ، اما در صورت لزوم می توانید کد خود را نیز در هر مرحله زمان ثابت اجرا کنید.
نرخ فریم بازی یا برنامه شما می تواند به دلیل زمان لازم برای نمایش و اجرای کد برای هر فریم متفاوت باشد. این امر تحت تأثیر قابلیت های دستگاهی است که در آن کار می کند ، و همچنین بر میزان مختلف پیچیدگی گرافیک های نمایش داده شده و محاسبه مورد نیاز هر فریم است. به عنوان مثال ، بازی شما ممکن است در هنگام وجود صد کاراکتر فعال و روی صفحه ، با سرعت فریمتر اجرا شود ، در مقایسه با زمانی که تنها یک نفر وجود دارد. این نرخ متغیر اغلب به عنوان "فریم در ثانیه" گفته می شود ، یا FPS به تیرانداز اول شخص ، فریم در ثانیه مراجعه می کند. در واژه نامه ببینید.
مگر در مواردی که در تنظیمات کیفیت شما یا بسته عملکرد تطبیقی محدود شود ، Unity سعی می کند بازی یا برنامه خود را با سریعترین نرخ فریم ممکن اجرا کند. می توانید جزئیات بیشتری را در مورد آنچه در هر فریم در نمودار سفارش اجرای ، در بخش "منطق بازی" مشخص شده است ، مشاهده کنید.
Unity روش بروزرسانی را به عنوان نقطه ورود برای شما فراهم می کند تا بتوانید کد خود را در هر فریم اجرا کنید. به عنوان مثال ، در روش به روزرسانی کاراکتر بازی خود ، ممکن است ورودی کاربر را از یک JoyPad بخوانید و شخصیت را به جلو سوق دهید. مهم است که به یاد داشته باشید هنگام انجام اقدامات مبتنی بر زمان مانند این این است که نرخ فریم بازی می تواند متفاوت باشد و بنابراین مدت زمان بین تماس های به روزرسانی نیز متفاوت است.
وظیفه حرکت یک شی را به تدریج ، یک فریم در یک زمان در نظر بگیرید. در ابتدا ممکن است به نظر برسد که شما فقط می توانید شیء را با یک فاصله ثابت در هر فریم ترجمه کنید:
با این حال ، با این کد ، به عنوان نرخ فریم متفاوت است ، سرعت ظاهری شی نیز متفاوت است. اگر بازی با 100 فریم در ثانیه در حال اجرا باشد ، شیء یک صد بار در ثانیه از راه دور حرکت می کند. اما اگر نرخ فریم به 60 فریم در ثانیه کند شود (به دلیل بار CPU ، مثلاً) ، فقط شصت بار در ثانیه قدم می زند و بنابراین فاصله کوتاه تری را در همان زمان می گذارد.
در بیشتر موارد ، این نامطلوب است ، به ویژه با بازی ها و انیمیشن. بسیار رایج تر است که بخواهید اشیاء درون بازی شما بدون در نظر گرفتن میزان فریم با سرعت ثابت و قابل پیش بینی حرکت کنند. راه حل این است که مقدار حرکات هر فریم را با میزان زمان سپری شده در هر فریم ، که می توانید از زمان آن بخوانید ، مقیاس کنید.
توجه داشته باشید که این حرکت اکنون به عنوان فاصله دور از راه دور و نه از راه دور انجام می شود. از آنجا که نرخ فریم متفاوت است ، اندازه مرحله حرکت بر این اساس متفاوت خواهد بود و بنابراین سرعت شیء ثابت خواهد بود.
بسته به بستر هدف خود ، از برنامه استفاده کنید. برای اطلاعات بیشتر ، به مستندات API Application. TargetFramerate مراجعه کنید.
بر خلاف بروزرسانی اصلی فریم ، سیستم فیزیک وحدت به یک زمان ثابت کار می کند ، که برای صحت و قوام شبیه سازی مهم است. در شروع هر فریم ، وحدت به همان اندازه که لازم است به روزرسانی های ثابت را انجام می دهد تا با زمان فعلی روبرو شود. می توانید جزئیات بیشتری راجع به آنچه در طول چرخه بروزرسانی ثابت در نمودار سفارش اجرای ، در بخش مشخص شده "فیزیک" رخ می دهد ، مشاهده کنید.
در صورت لزوم می توانید کد خود را همگام سازی با زمان ثابت اجرا کنید. این بیشتر برای اجرای کد مربوط به فیزیک خود استفاده می شود ، مانند استفاده از نیرویی در یک مؤلفه سفت و سخت که اجازه می دهد یک GameObject تحت تأثیر گرانش شبیه سازی شده و سایر نیروها قرار گیرد. اطلاعات بیشتر به واژه نامه مراجعه کنید. Unity روش FixtupDate را به عنوان یک نقطه ورود برای شما فراهم می کند تا بتوانید کد خود را در هر زمان ثابت اجرا کنید.
دارایی FixixDeltatime فاصله حلقه ثابت زمان وحدت را کنترل می کند و در ثانیه مشخص می شود. به عنوان مثال ، یک مقدار 0. 01 به معنای هر زمان ثابت ثابت در مدت زمان صدم ثانیه است و بنابراین 100 مرحله زمان ثابت در ثانیه وجود خواهد داشت.
اگر بازی یا برنامه شما با نرخ فریم بالاتر از تعداد زمان های ثابت در ثانیه در حال اجرا است ، این بدان معنی است که هر مدت فریم کمتر از مدت زمان یک زمان ثابت است. در این حالت ، وحدت یا به روزرسانی های فیزیک ثابت در هر فریم را انجام می دهد. به عنوان مثال ، اگر مقدار Timestep ثابت شما 0. 02 باشد ، در هر ثانیه 50 به روزرسانی ثابت وجود خواهد داشت. اگر بازی یا برنامه شما با 60 فریم در ثانیه اجرا شود ، تقریباً یک در ده فریم به روزرسانی ثابت نخواهد بود.
نمونه ای از به روزرسانی در حال اجرا با 60 فریم در ثانیه و Fixtupdate که با 50 به روزرسانی در ثانیه اجرا می شود. گاهی اوقات یک به روزرسانی فریم (به رنگ زرد مشخص شده) رخ می دهد و هیچ گونه ثابت مربوط به آن وجود ندارد.
اگر بازی یا برنامه شما با نرخ فریم پایین تر از مقدار Timestep ثابت کار می کند ، به این معنی است که هر مدت فریم طولانی تر از یک زمان ثابت است. برای پاسخ به این امر ، وحدت هر فریم را یک یا چند به روزرسانی ثابت انجام می دهد ، به طوری که شبیه سازی فیزیک با مدت زمان سپری شده از آخرین قاب ، به دست می آید. به عنوان مثال ، اگر مقدار Timestep ثابت شما 0. 01 باشد ، در هر ثانیه 100 به روزرسانی ثابت وجود خواهد داشت. اگر برنامه شما با 25 فریم در ثانیه اجرا می شود ، تا زمانی که چهار به روزرسانی ثابت را در هر فریم انجام دهد. ممکن است سناریویی مانند این بخواهید که در آن مدل سازی فیزیک دقیق تر از داشتن نرخ فریم بالا مهمتر باشد.
مثالی که به روزرسانی در حال اجرا با 25 فریم در ثانیه و Fixtupdate در حال اجرا با 100 به روزرسانی در ثانیه است. می بینید که در طی یک قاب ، چهار مورد از یک Fixtupdate وجود دارد که به رنگ زرد مشخص شده است.
می توانید مدت زمان ثابت زمان ثابت را در پنجره زمانی یا از یک اسکریپت با استفاده از ویژگی Time. FixedDeltatime بخوانید یا تغییر دهید.
توجه: مقدار زمانی پایین تر به معنای به روزرسانی های مکرر فیزیک و شبیه سازی های دقیق تر است که منجر به بار بالاتر CPU می شود.
نمودار زیر منطق را نشان می دهد که وحدت برای شمارش زمان در یک قاب واحد استفاده می کند ، و اینکه چگونه زمان ، دلتاتیم ، ثابت و خاصیت حداکثر دلتاتیم با یکدیگر ارتباط دارند.

همانطور که در بالا توضیح داده شد ، در میزان زمان سپری شده بین هر فریم می تواند تغییراتی ایجاد کند.
تغییرات زمان سپری شده می تواند اندک باشد. به عنوان مثال ، در یک بازی با 60 فریم در ثانیه ، تعداد واقعی فریم در ثانیه ممکن است کمی متفاوت باشد ، به طوری که هر فریم بین 0. 016 تا 0. 018 ثانیه طول می کشد. تغییرات بزرگتر ممکن است هنگامی رخ دهد که برنامه شما محاسبات سنگین یا جمع آوری زباله را انجام دهد ، یا وقتی منابع لازم برای حفظ نرخ فریم خود توسط یک برنامه متفاوت استفاده می شود.
خواص توضیح داده شده در این بخش عبارتند از:
این خصوصیات هر یک صفحه اسناد API اسکریپت خود را دارند ، اما می تواند به دیدن توضیحات و خروجی های آنها در رابطه با یکدیگر کمک کند تا کاربردهای مناسب آنها را درک کنند.
Time. Time نشان می دهد میزان زمان سپری شده از زمان شروع بازیکن ، و بنابراین معمولاً به طور مداوم و به طور پیوسته بالا می رود. Time. Deltatime نشان می دهد میزان زمان سپری شده از آخرین قاب ، و بنابراین ایده آل نسبتاً ثابت باقی می ماند.
هر دو این مقادیر اقدامات ذهنی از زمان سپری شده در برنامه یا بازی شما هستند. این بدان معنی است که آنها هرگونه مقیاس زمانی را که شما اعمال می کنید در نظر می گیرند. به عنوان مثال ، شما می توانید زمان را برای یک اثر آهسته در 0. 1 تنظیم کنید (که نشان می دهد 10 ٪ از سرعت پخش عادی). در این شرایط مقدار گزارش شده توسط زمان. زمان 10 ٪ نرخ زمان "واقعی" افزایش می یابد. بعد از 10 ثانیه ، مقدار زمان. زمان به 1. افزایش می یابد. علاوه بر کند شدن یا سرعت بخشیدن به زمان در برنامه ، می توانید زمان را تنظیم کنید. timescale تا صفر برای مکث بازی خود ، در این صورت روش بروزرسانی هنوز هم استنامیده می شود ، اما Time. Time به هیچ وجه افزایش نمی یابد ، و زمان. deltatime صفر است.
این مقادیر همچنین با ارزش زمان. این بدان معناست که طول هرگونه مکث یا تغییر در نرخ فریم گزارش شده توسط این خصوصیات هرگز از حداکثر دلتاتیم تجاوز نمی کند. به عنوان مثال ، اگر تأخیر یک ثانیه اتفاق بیفتد ، اما حداکثر دلتایم به مقدار پیش فرض 0. 333 تنظیم می شود ، زمان فقط با 0. 333 افزایش می یابد ، و زمان. Deltatime با 0. 333 برابر می شود ، با وجود اینکه در واقع در دنیای واقعی سپری شده است. بشر
نسخه های غیرقانونی هر یک از این خصوصیات (Time. unscaledtime and Time. unscaleddeltatime) این تغییرات و محدودیت های ذهنی را نادیده می گیرند و زمان واقعی را در هر دو مورد گزارش می کنند. این برای هر چیزی که باید با سرعت ثابت پاسخ دهد حتی اگر بازی با حرکت آهسته انجام شود ، مفید است. نمونه ای از این UI (رابط کاربری) به کاربر اجازه می دهد تا با برنامه شما ارتباط برقرار کند. وحدت در حال حاضر از سه سیستم UI پشتیبانی می کند. اطلاعات بیشتر در انیمیشن تعامل واژه نامه مشاهده کنید.
در جدول زیر نمونه ای از 16 فریم که یکی پس از دیگری سپری شده اند ، با یک تأخیر بزرگ که نیمه راه از آن عبور می کند ، روی یک قاب واحد نشان می دهد. این ارقام نشان می دهد که چگونه ویژگی های کلاس زمانی مختلف گزارش و پاسخ به این تغییر بزرگ در نرخ فریم.
| قاب | بی وقفه | زمان | بی وقفه | هجوم | صافی |
|---|---|---|---|---|---|
| 1 | 0. 000 | 0. 000 | 0. 018 | 0. 018 | 0. 018 |
| 2 | 0. 018 | 0. 018 | 0. 018 | 0. 018 | 0. 018 |
| 3 | 0. 036 | 0. 036 | 0. 018 | 0. 018 | 0. 018 |
| 4 | 0. 054 | 0. 054 | 0. 018 | 0. 018 | 0. 018 |
| 5 | 0. 071 | 0. 071 | 0. 017 | 0. 017 | 0. 018 |
| 6 | 0. 089 | 0. 089 | 0. 018 | 0. 018 | 0. 018 |
| 7 | 0. 107 | 0. 107 | 0. 018 | 0. 018 | 0. 018 |
| 8 (الف) | 1. 123 (ب) | 0. 440 (ج) | 1. 016 (D) | 0. 333 (E) | 0. 081 (f) |
| 9 | 1. 140 | 0. 457 | 0. 017 | 0. 017 | 0. 066 |
| 10 | 1. 157 | 0. 474 | 0. 017 | 0. 017 | 0. 056 |
| 11 | 1. 175 | 0. 492 | 0. 018 | 0. 018 | 0. 049 |
| 12 | 1. 193 | 0. 510 | 0. 018 | 0. 018 | 0. 042 |
| 13 | 1. 211 | 0. 528 | 0. 018 | 0. 018 | 0. 038 |
| 14 | 1. 229 | 0. 546 | 0. 018 | 0. 018 | 0. 034 |
| 15 | 1. 247 | 0. 564 | 0. 018 | 0. 018 | 0. 031 |
| 16 | 1. 265 | 0. 582 | 0. 018 | 0. 018 | 0. 028 |
فریم های 1 تا 7 با سرعت ثابت تقریباً 60 فریم در ثانیه کار می کنند. شما می توانید هر دو "زمان" و "unscaledtime" را به طور پیوسته در حال افزایش است ، نشان می دهد که بازه زمانی در این مثال روی 1 تنظیم شده است.
سپس در قاب 8 (الف) ، تأخیر بزرگ تقریباً بیش از یک ثانیه رخ می دهد. این می تواند در هنگام رقابت منابع اتفاق بیفتد. به عنوان مثال ، یک کد در برنامه فرآیند اصلی را مسدود می کند در حالی که مقدار زیادی از داده ها را از دیسک بارگیری می کند.
هنگامی که یک قاب تأخیر بزرگتر از حداکثر مقدار دلتاتیم رخ می دهد ، وحدت مقدار گزارش شده توسط Deltatime را محدود می کند و مبلغ اضافه شده به زمان فعلی. هدف از این حد ، جلوگیری از عوارض جانبی نامطلوب است که ممکن است در صورت فراتر از این مقدار رخ دهد. اگر هیچ محدودیتی وجود نداشت ، شیء که حرکت آن توسط Deltatime کاهش یافته است ، می تواند از طریق یک دیوار در یک بازی در طول یک قاب سرعت "به" درخشش "بپردازد ، زیرا از لحاظ نظری هیچ محدودیتی برای تا چه حد یک شیء می تواند از یک قاب حرکت کنددر مرحله بعد ، بنابراین احتمالاً می تواند از یک طرف یک مانع به دیگری در یک قاب واحد پرش کند بدون اینکه اصلاً با آن تلاقی کند.
شما می توانید مقدار حداکثر دلتاتیم را در پنجره زمان تنظیم کنید ، جایی که به حداکثر زمان مجاز به زمان مجاز ، و همچنین با ویژگی Time. maximumdeltatime برچسب گذاری شده است.
مقدار پیش فرض حداکثر دلتایم یک سوم دوم (0. 3333333) است. این بدان معناست که در یک بازی که حرکت توسط Deltatime کنترل می شود ، حرکت یک شی از یک قاب به دیگری محدود به مسافتی است که می تواند در یک سوم از ثانیه بپوشاند ، صرف نظر از اینکه چه مدت زمان از قاب قبلی می گذرد.
نگاه کردن به داده های جدول بالا در فرم نمودار می تواند به تجسم نحوه رفتار این خصوصیات زمانی در رابطه با یکدیگر کمک کند:

در بالا ، در قاب 8 ، می توانید مشاهده کنید که UnscaledDeltatime (D) و Deltatime (E) در میزان گزارش آنها در چه مدت متفاوت است. اگرچه یک ثانیه کامل از زمان واقعی بین فریم های 7 و 8 سپری شده است ، Deltatime فقط 0. 333 ثانیه گزارش می دهد. این امر به این دلیل است که Deltatime به مقدار حداکثر دلتاتیم بسته می شود.

به طور مشابه ، Unscaledtime (B) تقریباً یک ثانیه کل افزایش یافته است زیرا مقدار واقعی (بدون محاصره) اضافه شده است ، در حالی که زمان (C) فقط با مقدار گیره کوچکتر افزایش یافته است. مقدار زمان به مدت زمان واقعی که سپری شده است ، نمی رسد و در عوض رفتار می کند که گویی تأخیر فقط حداکثر دلتتیم در طول مدت بوده است.

Time. SmoothDeltatime Property تقریب مقادیر اخیر Deltatime را با تمام تغییرات مطابق با الگوریتم گزارش می دهد. این روش دیگری برای جلوگیری از مراحل نامطلوب بزرگ یا نوسانات در حرکت یا سایر محاسبات مبتنی بر زمان است. به طور خاص ، مواردی که زیر آستانه تعیین شده توسط MaximumDeltatime قرار می گیرند. الگوریتم هموار سازی نمی تواند تغییرات آینده را پیش بینی کند ، اما به تدریج مقدار گزارش شده خود را برای صاف کردن تغییرات در مقادیر زمان دلتا که اخیراً سپری شده است ، تطبیق می دهد ، به طوری که میانگین زمان گزارش شده تقریباً معادل مقدار واقعی زمان سپری شده است.
مقدار حداکثر دلتتیم نیز بر سیستم فیزیک تأثیر می گذارد. سیستم فیزیک از مقدار ثابت TIMESTEP استفاده می کند تا تعیین کند که چقدر زمان برای شبیه سازی در هر مرحله است. وحدت سعی می کند شبیه سازی فیزیک را با مقدار زمانی که سپری شده است به روز نگه دارد و همانطور که در بالا ذکر شد ، گاهی اوقات به روزرسانی های فیزیک متعدد را در هر فریم انجام می دهد. اما اگر شبیه سازی فیزیک خیلی عقب مانده باشد ، به عنوان مثال به دلیل محاسبات سنگین یا تأخیر در نوعی ، سیستم فیزیک ممکن است تعداد زیادی از مراحل را برای رسیدن به زمان فعلی نیاز داشته باشد. این تعداد زیادی از مراحل ممکن است خود باعث کند شدن بیشتر شود.
برای جلوگیری از این بازخورد چرخه ای از کند شدن به دلیل تلاش برای جلب توجه ، حداکثر مقدار Deltatime نیز به عنوان محدودیتی در میزان زمانی که سیستم فیزیک بین هر دو فریم مشخص می شود ، عمل می کند.
اگر یک به روزرسانی فریم بیش از حداکثر دلتاتیم برای پردازش طول بکشد ، فیزیک سیستمی را که جنبه های سیستم های فیزیکی را شبیه سازی می کند ، به گونه ای که اشیاء به درستی تسریع می کنند و تحت تأثیر برخورد ، گرانش و سایر نیروها قرار می گیرند. اطلاعات بیشتر در واژه نامه سعی در شبیه سازی هر زمان فراتر از حداکثر deltatime نخواهید داشت ، و در عوض به پردازش قاب اجازه می دهد تا به دست بیاید. پس از اتمام به روزرسانی فریم ، فیزیک از سر گرفته می شود که گویی هیچ وقت از زمان متوقف شدن آن گذشته است. نتیجه این امر این است که اشیاء فیزیک همانطور که معمولاً انجام می دهند کاملاً در زمان واقعی حرکت نمی کنند ، اما کمی کند می شوند. با این حال ، "ساعت" فیزیک همچنان آنها را ردیابی می کند که گویی به طور عادی در حال حرکت هستند. کند شدن زمان فیزیک معمولاً قابل توجه نیست و اغلب یک تجارت قابل قبول در برابر عملکرد گیم پلی است.
برای جلوه های خاص مانند حرکت آهسته ، گاهی اوقات برای کند کردن زمان بازی مفید است به طوری که انیمیشن ها و محاسبات مبتنی بر زمان در کد شما با سرعت کمتری اتفاق می افتد. علاوه بر این ، شما ممکن است گاهی اوقات بخواهید زمان بازی را کاملاً منجمد کنید ، همانطور که بازی مکث است. وحدت دارای یک ویژگی مقیاس زمانی است که کنترل می کند که زمان بازی سریع نسبت به زمان واقعی پیش می رود. اگر مقیاس را روی 1. 0 تنظیم کنید ، زمان بازی شما با زمان واقعی مطابقت دارد. مقدار 2. 0 باعث می شود که زمان دو برابر سریع در وحدت عبور کند (یعنی این عمل سرعت می یابد) در حالی که مقدار 0. 5 گیم پلی را به سرعت به سرعت کاهش می دهد. مقدار صفر باعث می شود زمان در بازی شما به طور کامل متوقف شود. توجه داشته باشید که مقیاس زمانی در واقع اجرای را کند نمی کند بلکه در عوض مرحله زمان گزارش شده به عملکرد به روزرسانی و FixtupDate را با زمان. deltatime و time. fixeddeltatime تغییر می دهد. عملکرد به روزرسانی شما ممکن است دقیقاً به همان اندازه که مقیاس زمانی خود را کاهش می دهید ، خوانده شود ، اما مقدار Deltatime هر فریم کمتر خواهد بود. سایر توابع اسکریپت تحت تأثیر مقیاس زمانی قرار نمی گیرند ، بنابراین می توانید هنگام مکث بازی ، یک رابط کاربری با تعامل عادی را نمایش دهید.
پنجره زمان دارای یک ویژگی برای شما امکان می دهد مقیاس زمانی را در سطح جهان تنظیم کنید اما معمولاً تنظیم مقدار از یک اسکریپت با استفاده از Scriptref: ویژگی زمان زمان:
یک مورد خاص از مدیریت زمان جایی است که می خواهید گیم پلی را به عنوان یک فیلم ضبط کنید. از آنجا که وظیفه ذخیره تصاویر صفحه نمایش زمان قابل توجهی را می طلبد ، نرخ فریم عادی بازی کاهش می یابد ، و این فیلم منعکس کننده عملکرد واقعی بازی نیست.
برای بهبود ظاهر ویدیو ، از ویژگی Capture Framerate استفاده کنید. مقدار پیش فرض این ویژگی برای گیم پلی بدون برنامه 0 است. برای ضبطهنگامی که مقدار خاصیت را به غیر از صفر تنظیم می کنید ، زمان بازی کند می شود و به روزرسانی های قاب در فواصل منظم دقیق صادر می شود. فاصله بین قاب ها برابر با 1 / زمان است. captureframerate ، بنابراین اگر مقدار را روی 5. 0 تنظیم کنید ، به روزرسانی ها هر پنجم ثانیه رخ می دهد. با کاهش مطالبات مربوط به نرخ فریم ، شما در عملکرد به روزرسانی برای ذخیره تصاویر یا اقدامات دیگر دارید:
با استفاده از این تکنیک ، فیلم را بهبود می بخشد ، اما می تواند بازی را بسیار سخت تر کند. مقادیر مختلف زمان را امتحان کنید. برای یافتن تعادل خوب ،
فارکس حرفه ای...
برچسب :
نویسنده : مرتضی احباب
بازدید : <-PostHit->