View Full Version : برخورد پذیری
mohammadali1375
پنج شنبه 21 دی 1391, 20:03 عصر
سلام.
من میخاستم برخورد پذیری رو شروع کنم بنویسم ولی دیدم خودم فقط برای دایره و مستطیل میتونم بنویسم. میخاستم بدونم از چی کار باید کرد که بشه دقیقا خود اون اسپرایت Collider همون جسم بشه ؟ . مثلا ما اگه اسپرایت ما یک شکل خاص باشه چی ؟ Collider اون آبجکت باید چه جوری باشه که دقیق مثل خودش از آب در بیاد :متفکر: بعد میشه از Box 2D برای ایینکار استفاده کرد بدون این که world و ... داشته باشیم ؟ یعنی فقط ازش برای تشخیص برخورد استفاده کنیم ؟
----------
راستی . خود OpenGLچیزی برای برخورد پذیری داره ؟ :متفکر:
amin.v
جمعه 22 دی 1391, 04:15 صبح
موتورهای فیزیک معمولا دو بخش کلی دارن Collision Detection و Collision Response شما هم میتونی از یکی یا هر دوش استفاده کنی ...
در مورد اینکه Collision اجسام چطوری باشه بستگی به بازیت داره و نمیشه نظر کلی داد ... تو یه بازی شاید در حد همون shape های استاندارد مثل مربع و دایره و ... جواب بده ، اگر نه باز اکثر موتورها Convex Shape هارو پشتیبانی میکنن که اکثر موارد جواب میده ...
در مورد اینکه OpenGl تشخیص برخورد داشته باشه هم نه ... opengl یه api گرافیکی low level هست و نباید هم این مورد رو داشته باشه ...
mohammadali1375
جمعه 22 دی 1391, 10:07 صبح
اره ولی خوب تو بعضی انجین ها دیدم ( دو بعدی ) خود تصویر رو کالیژن میکنند.
درمور اپن جی ال هم خودم همین حدس رو میزدم ولی گفتم شاید SDL یا glut چیزایی برای اینکار داشته باشند که کارو راحت تر کنه. ( یا مثلا XNA هم داشت ولی XNA کجا و OpenGL کجا :بامزه: )
amin.v
جمعه 22 دی 1391, 16:04 عصر
Collision نسبت به پیکسل هم میشه انجام داد اما کارایی زیادی نداره و از نظر پردازش هم سنگین تر از بقیه هست ...
این مورد فکر نمیکنم تو موتور های فیزیک باشه و باید بنویسی خودت ...
اول باید bounding box برا همه اسپرایت ها درست کنی ... به ازای هر 2 اسپرایت که bounding box اشون با هم تماس داره پیکسل هاشون رو با هم چک میکنی که بسیار سنگین هست ... البته راههایی برا بهینه کردنش هست مثلا فضای داخل bounding box رو باز توسط یه الگوریتمی مثل quadtree یا grid یا ... به چند بخش تقسیم کنی ... ولی در کل این نوع collision detection کارآمد نیست ( فرض کن تو بازیت zoom-in , zoom-out داری ، مثل انگری بردز )
H_G_G_I
جمعه 22 دی 1391, 17:58 عصر
همه چی بستگی به خودت داره مثلا من چون ابجکت هام می چرخن ومقیاس دارن امدم یه شعاع براشون در نظر گرفتم !برای اینکه ببینم تو دروبین هستن یا نه !
برا برخورد هم از همون استفاده می کنم !
اگه برخورد کرد وارد جزیات بیشتز می شه !
به نظرم پیکسلی کار نکن ! خیل بده !
از چند ضلعی استفاده کن ! برخورد چند ظلعی ها رو هم تو نت بسرچی هست !
راحته !:چشمک:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.