«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
محاسبه شلیک سینوسی در فضای سه بعدی به سمت هدفی که در روبروی ما قرار دارد در یونیتی :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

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

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

شلیک سینوسی در فضای سه بعدی به سمت هدفی که در روبروی ما قرار دارد

http://s3.picofile.com/file/8225755176/Learn.jpg


اگه می خوای دقیق و به صورت دایره ای و هوشمند بزنی به هدف:
اولا باید فاصله خودتو تا هدف محاسبه کنی
 این با تابع Distance بدست میاد.
بعدش با معادله ی دایره،فیثاغوریث یا توابع مثلثات میزنی به هدف.
فرمولشم اینه:

X2=R*Cos(teta)+x1
y2=R*Sin(teta)+y1


در سه بعدی  اگه بخوای به جلو بره این میشه:
به جای X1,Y1 مختصات دو بعد از گیم ابجکت گلوله رو باید بدی به طوری که رو به جلو باشه یعنی Z به جای X1 و Y هم به جای Y1 .
X2,Y2 رو بعدش بده تیر .
تتا رو از صفر تا 180 مقدار میدی
به R هم فاصله نقطه ایجاد تیر تانک تا هدف رو میدی.
مثلا یک حلقه while یا تایمر بنویس که تتا teta رو از منفی 90 تا مثبت 90 درجه دونه دونه زیاد کنه.
بعدش می گی:

//sajjad3011
teta=-90;
float distance = Vector3.Distance(transform.position,hadaf.position);
midz = distance / 2;

while(teta<+90)
{
 teta++;
    deltaZ=radius*cos((teta*3.14)/180);
    deltaY=radius*sin((teta*3.14)/180);

z=z+midz+deltaZ;
y=y+deltaY;

position=new Vector3(this.position.x,y,z)//be x dast nemizanim chon Left/Right ro kari nadarim faghat z/jelo+y/bala
}



بخوام  توضیح بدم باید این برنامه رو درک کنی و فقط توی سه بعدی تجسم کن که حرکت ما به سمت جلو هست پس خودت توی فضا میری سمت راست فکر کن توی محیط حاضر هستی و پس می فهمی x همون z(یعنی حرکت به جلو در واقیت و حرکت به راست ما در تجسم ) هست و y همون y .
(رسم دایره با استفاده از مثلثات و حلقه تکرار):
http://gameover.blog.ir/1394/03/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%88-%D8%B3%D9%88%D8%B1%D8%B3-%DA%86%D8%B1%D8%AE%D8%B4-%D8%AF%D8%A7%DB%8C%D8%B1%D9%87-%D8%AD%D9%88%D9%84-%D9%85%D8%B3%D8%AA%D8%B7%DB%8C%D9%84-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%81%D8%B1%D9%85%D9%88%D9%84%D9%87%D8%A7%DB%8C-%D9%85%D8%AB%D9%84%D8%AB%D8%A7%D8%AA%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B3%DB%8C

تئوری کار همینا بود و اگه خطایی داشت با فکر کردن حلش کنید.

نکته آخر:

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

موافقین ۰ مخالفین ۰ ۹۴/۱۱/۱۳
مدیرکل

نظرات (۱)

لطفا فایلشو قرار بدهید تا با نگاه کردن به آن بهتر متوجه بشویم
اگه نشد فیلم دمو رو قرار بدهید
یه دنیا ممنون
پاسخ:
سلام عزیز
باور کنید وقت کافی ندارم به علت مشکلات بد مالی مجبورم کارهای جانبی انجام بدم.
اگه می خواید توی کانال تلگرام عضو بشید و گروه سوال بپرسید.
حتی اونجا دوستان می تونن ادمین بشن و تبلیغات خودشون رو بگذارند.
موفق باشی.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی