درود مهمان گرامی! ثبت نام

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
جابجا کردن آبجکت در فضای 2 بعدی در زاویه مورد نظر
#1
سلام دوستان
من یک تابع یا متد میخوام که در فضای 2 بعدی برای یک آبجکت زاویه گلوبال و سرعت بگیره و آبجت رو در اون زاویه و با سرعتی که گرفته حرکت بده، یه چیزی مشابه تابع motion_set در گیم میکر. ( آبجکت رو نچرخونه و فقط در راستای زاویه ای که میگیره حرکتش بده ) چیزی آماده برای اینکار در یونیتی ندیدم و احتمال میدم باید نوشته بشه، کسی میتونه راهنمایی کنه؟
ممنونم
پاسخ
#2
به نظر من چاره ی کار استفاده از 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 وارد کنید و به امید خدا کار خواهد کرد...
کیــــــــــ qwerty13 ـــــــوورتی13
پاسخ
 سپاس شده توسط obydan ، aminblog76


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question تغییر سرعت حرکت گیم آبجکت start777 2 51 26/1/1398، 10:40 صبح
آخرین ارسال: aminblog76
Question نام آبجکت A.m 10 352 20/3/1397، 01:01 عصر
آخرین ارسال: aminblog76
Question چرا موقع باز کردن از یونیتی می پره بیرون A.m 2 408 12/10/1396، 09:58 عصر
آخرین ارسال: A.m
  زمان برخورد کردن یک جسم به جسمی دیگر fahimi 1 280 29/4/1396، 02:25 عصر
آخرین ارسال: mamali me
  دسترسی به زاویه چرخش یک اوبجکت salar1298 4 347 13/4/1396، 07:28 صبح
آخرین ارسال: salar1298



کاربرانِ درحال بازدید از این موضوع: 1 مهمان