خوب توی این مطلب میخوام راجع به پروژه ی boost صحبت کنم، این عکسشه ، و در هچنان در فاز طراحی هستش.

خوب اینجا قراره که اون مکعب زرده به عنوان یه راکت کار کنه و بتونیم بهش شتاب بدیم و اینور و اونور ببریمش.
خوب حالا میرسیم به نکاتی که اینجا من یادگرفتم.

خوب، توی خط 30 اومدیم از input.GetKey استفاده کردیم و برای تعیین کردن ورودیش هم از keyCode استفاده کردیم که توی مطالب قبلی گفته شده.
برای این که بتونیم یه جسم رو بچرخونیم میایم از transform.Rotate استفاده میکنیم. خوب اونجا میبینید که نوشته Vector3.forward که این خلاصه شده 0,1,0 هستش یعنی x,y,z اون مقادیر رو دارن در forward .
حالا نکته بعدی اینه که برای این که جهت rotation رو تغییر بدیم اومدیم از علامت - استفاده کردیم.
نکته ی بعدی اینه که توی خط 30 اومدیم از کلید a برای چرخش راکت به سمت چپ استفاده کردیم. همونطوری که توی شکل پایین میبینیم چرخش در جهت پاد ساعتگرد تعریف شده که این به معنی این هستش که اگر بخوایم جهت خلاف پاد ساعتگرد یعنی ساعتگرد چرخش رو انجام بدیم باید مقدار قبلی رو در منفی ضرب کنیم. در کد این قضیه در خط 35 اتفاق افتاده.

خوب نکته ی بعدی اینه که چر ما اومدیم اول rotation رو غیر فعال کردیم برای راکت و بعد چرخش رو انجام دادیم و بعد دوباره فعالش کردیم چرا؟

خوب دلیلی که استاد داره میگه اینه که قوانین فیزیکی که برای چرخش راکتمون هستش تغییر نکنه، به طور مثال ما میخوایم یه جایی که لبه هستش و داریم نیرو وارد میکنیم میخوایم بره به اون سمتی که ما میخوایم در صورتی که اگر فیزیکش فعال باشه ممکنه با فیزیک کاری که داریم با راکت میکنیم تداخل به وجود بیاره و بازی رو خراب کنه به همین دلیل هم اومدیم و فیزیک چرخش رو با freezeRotation غیر فعال کردیم بعد با transform.Rotate چرخش راکتمون رو ایجاد کردیم و بعدش اومدیم freezeRotation رو فعال کردیم.
خوب نکته ی بعدی اینه که اینجا اومدیم برای تمام کارمون از force داریم استفاده میکنیم که این باعث میشه که کمتر به مشکل و باگ های عجیب و غریب فیزیکی بر بخوریم.