ساخت یک بازی ماشینسواری دوبعدی که حس رانندگی روی تپههای ناهموار را ملموس و جذاب جلوه دهد، فراتر از کدنویسی ساده حرکت است؛ پای فیزیک سخت نیوتنی، گشتاور چرخها و رفتار کمکفنرها در میان است.
تنظیم دقیق WheelJoint2D در موتور Box2D
در یونیتی، کامپوننت WheelJoint2D شبیهساز محور تعلیق خودرو است. دو متغیر حیاتی در این کامپوننت وجود دارند:
- Frequency (فرکانس ارتعاش): سختی فنر را مشخص میکند. مقادیر بالا فنر را شبیه تانک و مقادیر پایین آن را شبیه ژله میکند. محدوده بهینه برای خودروهای آفرود بین ۳.۵ تا ۵.۵ هرتز است.
- Damping Ratio (نسبت میرایی): سرعت جذب انرژی ضربات را تعیین میکند. مقدار ۰.۷ بازگشت سریع بدون ارتعاش ناخواسته را تضمین میکند.
قانون طلایی پرفورمنس: صفر کردن Garbage Allocation در فیزیک
در بازیهای موبایلی، هرگونه فراخوانی توابعی که در حلقه FixedUpdate حافظه موقت تخصیص دهند، پس از چند ثانیه باعث لگ فاجعهبار Garbage Collector خواهد شد. ما تمام دسترسیها و کشها را به Awake منتقل کردیم و در یونیتی ۶ با استفاده اصولی از بردار سرعت، شبیهسازی کاملاً ۶۰ فریم بر ثانیه پایدار ماند.