انجمن تخصصی بازی سازی پرومیکرز

نسخه‌ی کامل: جابجا کردن آبجکت در فضای 2 بعدی در زاویه مورد نظر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان
من یک تابع یا متد میخوام که در فضای 2 بعدی برای یک آبجکت زاویه گلوبال و سرعت بگیره و آبجت رو در اون زاویه و با سرعتی که گرفته حرکت بده، یه چیزی مشابه تابع motion_set در گیم میکر. ( آبجکت رو نچرخونه و فقط در راستای زاویه ای که میگیره حرکتش بده ) چیزی آماده برای اینکار در یونیتی ندیدم و احتمال میدم باید نوشته بشه، کسی میتونه راهنمایی کنه؟
ممنونم
به نظر من چاره ی کار استفاده از sin و cos ــه.
ببینید ما توی یونیتی یک فیزیکی داریم که شبیه سازی واقعیتو میکنه؛ اگر میخواید با یک تابع به جسم سرعت ثابت بدید باید اصطکاک رو صفر کنید.
بعد از اون میتونید با یک addForce یی که x و y ش اینطوری محاسبه میشه بدون چرخوندن در زاویه مورد نظر نیرو وارد کنید تا سرعت بگیره:

1- از اونجایی که زاویه ورودی c# به رادیان هست باید زاویه تونو اینطوری به رادیان تبدیل کنید:

کد:
float radians = degrees * Mathf.Deg2Rad;

2- بعد باید مقدار نیرو رو مشخص کنید مثلا float niroo = 2

3- مقدار x ما برابر هست با f cos t یعنی:
کد:
x = niroo * cos(radians);

4- مقدار y ما هم برابر هست با f sin t یعنی:
کد:
y = niroo * sin(radians);

در نهایت این x و y رو در یک addForce وارد کنید و به امید خدا کار خواهد کرد...