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

امتیاز موضوع:
  • 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


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  برابر کردن مختصات شی یوای با یک شی اسپرایت ebraeim75 3 94 9/7/1398، 07:40 عصر
آخرین ارسال: ebraeim75
  سوال مهم در مورد یونیتی stdio_MG 1 36 25/6/1398، 09:57 عصر
آخرین ارسال: aminblog76
Sad ساخت گیم آبجکت با کد A Person 1 96 9/6/1398، 02:22 صبح
آخرین ارسال: aminblog76
  فعال کردن کلمات احتمالی برای MonoDevelop fahimi 3 129 25/5/1398، 10:24 عصر
آخرین ارسال: qwerty13
Sad سوال برای بهینه کردن بازی A Person 2 126 17/5/1398، 11:46 عصر
آخرین ارسال: aminblog76



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