فیزیک بازی (بخش دوم)
فهرست مطالب
فیزیک بازی بحث جدیدی نبوده و ما در قسمت اول این مقاله به مبحث فیزیک از بُعد دیگری پرداختیم.
در قسمت قبلی به بررسی فیزیک بر اساس سبک های مختلف پرداختیم و فیزیک را متناسب با هر سبک بازی سازی بررسی کرده و همچنین برای آن مثال هایی را نیز بیان کردیم.
اما در این مقاله فیزیک از عمق بیشتری مورد بررسی قرار می گیرد و بیشتر به بُعد فنی فیزیک بازی خواهیم پرداخت.
با ما همراه باشید.
فیزیک بازی چیست ؟
خب اجازه دهید از مفاهیم ابتدایی و اما عمقی و دقیق شروع کنیم؛ اصلا فیزیک بازی دقیقا به چه مواردی اشاره دارد ؟
- فیزیک بازی به شبیه سازی پدیده های فیزیکی در بازی های ویدیویی اشاره دارد.
- به واقعگرایی و پویایی محیطهای بازی کمک میکند و باعث میشود گیمپلی، فراگیرتر و هیجانانگیزتر شود.
- فیزیک بازی با استفاده از تکنیک ها و الگوریتم های مختلف از جمله سینماتیک، دینامیک، تشخیص برخورد و پاسخ، پیاده سازی می شود.
- دینامیک Rigid body و دینامیک soft body جنبه های مهم فیزیک بازی هستند که به ترتیب حرکت و رفتار اجسام جامد و قابل تغییر شکل را شبیه سازی می کنند.
- اجزای اضافی فیزیک بازی شامل سیستم های ذرات، دینامیک سیالات و آیرودینامیک است که به واقع گرایی کلی بازی ها کمک می کند.
فیزیک بازی به مجموعه قوانین و الگوریتمهایی اطلاق میشود که برای شبیهسازی رفتار اجسام و حرکات فیزیکی در محیط بازی ویدیویی استفاده میشوند.
این یک جزء ضروری از بازی های مدرن است و نقش مهمی در ایجاد یک تجربه واقعی و تعاملی برای بازیکنان دارد.
فیزیک بازی اصول واقعی حرکت، گرانش، تشخیص برخورد و سایر نیروهای فیزیکی را در نظر می گیرد و آنها را به دنیای بازی دیجیتال تبدیل می کند.
با انجام این کار، توسعهدهندگان بازی میتوانند گیمپلی همهجانبه و باورپذیری ایجاد کنند که رفتارها و تعاملات فیزیکی واقعی را در خود جای دهد.
همانطور که گفته شد، در حالی که هدف بسیاری از بازیهای ویدیویی شبیهسازی فیزیک واقعگرایانه برای ایجاد تجربهای فراگیرتر است، برخی دیگر عمداً از فیزیک دنیای واقعی برای دستیابی به گیمپلی یا اهداف هنری خاص فاصله میگیرند. (بازی های تخیلی- فانتزی)
برخی بازیها ممکن است دارای فیزیک اغراقآمیز باشند، قوانین گرانش را نادیده بگیرند یا عناصر خارقالعادهای را معرفی کنند که با واقعیت همخوانی ندارند.
این انحرافات از فیزیک دنیای واقعی در ژانرهایی مانند پلتفرمرها، بازیهای آرکید و بازیهای فانتزی رایج است، جایی که لذت و خلاقیت از گیمپلی بر پایبندی دقیق به واقعیت اولویت دارد.
یکی از مزایای اصلی فیزیک بازی، توانایی آن در افزایش کیفیت بصری و ماهیت پویای محیط های بازی است.
فیزیک بازی با شبیه سازی حرکات و تعاملات واقع گرایانه، یک تجربه بازی جذاب تر و تعاملی تر ایجاد می کند.
این امر به ویژه در بازیهای اکشنمحور مهم است، جایی که سیستمهای مبتنی بر فیزیک میتوانند سطح قابل توجهی از عمق و واقعگرایی را به گیمپلی اضافه کنند.
موتورهای فیزیکی و مدل های ریاضی
در قلب فیزیک هر بازی، موتور آن قرار دارد، یک فریمورک نرم افزاری پیچیده که برای شبیه سازی قوانین فیزیک طراحی شده است.
Havok
هاووک با استفاده از عناوین مشهوری مانند “Half-Life 2” و “Dark Souls” در شبیه سازی دینامیک rigid body و سناریوهای برخورد پیچیده برتری دارد.
این روش از نسخه پیشرفته روش اویلر، یک تکنیک ادغام عددی استفاده می کند که کارایی محاسباتی را با ثبات مورد نیاز برای تعاملات فیزیکی دقیق متعادل می کند.
مهارت Havok در توانایی آن در مدیریت هزاران شیء پویا به صورت ریل تایم نهفته است که به محیطهای روان و پاسخگو کمک میکند که بازیکنان در آن حرکت میکنند.
PhysX by NVIDIA
یکی از اصلیترین بازیها مانند “Witcher 3” و “Fortnite” می توان گفت با PhysX فراتر از collision و دینامیک rigid body گسترش یافته و شبیهسازی پارچه و دینامیک سیال particle-based را در بر میگیرد.
این فریمورک، پویایی مبتنی بر موقعیت (PBD) را در بر می گیرد، جایی که موقعیت اشیا به طور مستقیم برای برآوردن محدودیت های سیستم فیزیکی دستکاری می شود و شبیه سازی پایدارتر و قابل کنترل تر را ارائه می دهد.
به ویژه برای جهان های مجازی-تعاملی مناسب است، جایی که ورودی کاربر می تواند منجر به نتایج فیزیکی غیرقابل پیش بینی شود.
مدل های ریاضی
زیربنای این موتورها مدل های ریاضی است که ریشه در مکانیک کلاسیک دارند.
اصول فیزیک نیوتنی حکم می کند که نیروی اعمال شده به یک جسم شتاب متناسبی ایجاد کند.
در دنیای مجازی، این به الگوریتم هایی تبدیل می شود که حرکت همه چیز از نیزه های پرتاب شده تا وسایل نقلیه را پیش بینی می کند.
روشهای عددی مانند الگوریتم رانگ-کوتا مرتبه چهارم اغلب برای دقت آنها در حل معادلات دیفرانسیل که چنین حرکتی را توصیف میکنند، استفاده میشوند، البته با هزینه محاسباتی بیشتر در مقایسه با روشهای سادهتر مانند ادغام اویلر.
فرایند پیاده سازی فیزیک
فرآیند پیاده سازی را می توان به سه جزء اصلی شامل سینماتیک، دینامیک و تشخیص برخورد تقسیم کرد.
سینماتیک در فیزیک بازی
سینماتیک در فیزیک بازی به حرکت اجسام در دنیای بازی می پردازد.
این شامل محاسبه موقعیت، سرعت و شتاب اجسام بر اساس ویژگی های فیزیکی آنها مانند جرم، سرعت و جهت است.
معادلات و الگوریتم های سینماتیک برای شبیه سازی حرکت واقعی در بازی ها، از حرکت شخصیت ها تا رفتار پرتابه ها و وسایل نقلیه استفاده می شود.
یکی از جنبه های اساسی سینماتیک در فیزیک بازی، تشخیص برخورد است.
با تشخیص دقیق زمان برخورد دو جسم، بازی می تواند حرکت حاصل را محاسبه کرده و تعیین کند که آیا آسیب یا اثرات دیگری باید رخ دهد یا خیر.
سینماتیک همچنین برای ایجاد انیمیشن های واقع گرایانه مانند پرش و دویدن کاراکترها با محاسبه حرکت مناسب در حین انجام اعمال استفاده می شود.
به طور کلی، سینماتیک جنبه مهمی از فیزیک بازی است زیرا به واقع گرایی دنیای بازی کمک می کند و آن را برای بازیکنان فراگیرتر و جذاب تر می کند.
دینامیک در فیزیک بازی
دینامیک جزء دیگر ضروری فیزیک بازی است که به ایجاد یک تجربه بازی همه جانبه کمک می کند.
دینامیک به رفتار و فعل و انفعالات بین اشیاء در دنیای بازی از جمله گرانش، اصطکاک و سایر نیروها می پردازد.
توسعه دهندگان از الگوریتم های مختلفی برای شبیه سازی دینامیک در بازی های ویدیویی استفاده می کنند، از جمله دینامیک rigid body دینامیک soft body و دینامیک سیال (fluid dynamics).
با انجام این کار، آنها می توانند گیم پلی واقعی و پاسخگو را ایجاد کنند که فیزیک دنیای واقعی را تقلید می کند.
به عنوان مثال، در یک بازی مسابقه ای، دینامیک نقش مهمی در شبیه سازی حرکت ماشین، فرمان، و برخورد با ماشین ها و اشیاء دیگر دارد.
به طور مشابه، در شوتر اول شخص، دینامیک رفتار گلوله ها، انفجارها و سایر تعاملات بین بازیکنان و دنیای بازی را تعیین می کند.
دینامیک نیز می تواند بر عملکرد بازی تأثیر بگذارد.
در برخی موارد، تعاملات پویا زیاد می تواند باعث کاهش سرعت یا خرابی در بازی شود.
بنابراین، توسعه دهندگان باید استفاده از عناصر پویا را برای اطمینان از عملکرد بهینه در عین حفظ واقع گرایی و غوطه وری بازی، متعادل کنند.
یک مفهوم مرتبط فیزیک ragdoll است. این در درجه اول شامل شبیه سازی رفتار دینامیکی بدن یک شخصیت بر اساس اصول فیزیک است.
هنگامی که فیزیک راگدال به کار می رود، اندام ها و مفاصل یک شخصیت به عنوان اجسام سفت و سخت متصل با وزن و ویژگی هایی مانند اینرسی در نظر گرفته می شوند.
تشخیص برخورد و پاسخ در فیزیک بازی
تشخیص برخورد و پاسخ، جنبه های اساسی اجرای فیزیک بازی است.
بدون آنها، اشیاء در دنیای بازی به سادگی از یکدیگر عبور می کنند و گیم پلی غیرواقعی را ایجاد می کنند.
تشخیص برخورد فرآیندی است برای تعیین اینکه چه زمانی دو یا چند شی در دنیای بازی با یکدیگر در تماس هستند.
چندین تکنیک برای تشخیص برخورد استفاده میشود، از جمله bounding boxes، bounding spheres و mesh-based collision. (کالوژن ها)
این تکنیک ها شامل ایجاد اشکال ساده در اطراف اشیا و بررسی اینکه آیا آنها با یکدیگر تلاقی دارند یا خیر، می باشند.
هنگامی که یک برخورد شناسایی شد، از پاسخ برخورد برای تعیین نحوه واکنش اشیاء به یکدیگر استفاده می شود.
این شامل محاسبه جهت و سرعت اجسام و همچنین هرگونه نیرو یا ضربه ای است که ممکن است به آنها اعمال شود.
هدف ایجاد یک واکنش واقعی و بصری جذاب به برخورد است.
موتورهای فیزیک اغلب با استفاده از الگوریتمهای پیچیده برای محاسبه برهمکنش بین اجسام در زمان واقعی، تشخیص برخورد و پاسخ را به طور خودکار انجام میدهند.
با این حال، توسعه دهندگان بازی همچنین می توانند این تعاملات را برای ایجاد تجربه های منحصر به فرد از گیم پلی شخصی سازی کنند.
الگوریتمهای تشخیص برخورد مختلفی در پیادهسازی فیزیک بازی استفاده میشود،
از جمله تشخیص برخورد AABB ،sphere ،OBB و raycast.
هر الگوریتم نقاط قوت و ضعف خود را دارد و برای سناریوهای خاص مناسب است.
دینامیک Rigid Body
در فیزیک بازی، دینامیک rigid body به حرکت و رفتار اجسام جامد غیرقابل تغییر میپردازد.
این اشیاء، مانند یک ماشین، یک توپ یا یک ساختمان، معمولاً به عنوان مجموعه ای از نقاط جرم با ویژگی های فیزیکی خاص در نظر گرفته می شوند.
خواص فیزیکی یک rigid body شامل جرم، سرعت، سرعت زاویه ای و جهت آن است.
شبیه سازی دینامیک rigid body در بازی های ویدیویی شامل محاسبه نیروهای وارد بر هر نقطه جرم و به روز رسانی موقعیت ها و جهت گیری های آنها بر این اساس است.
متداول ترین الگوریتم مورد استفاده برای دینامیک rigid body معادلات نیوتن اویلر است که بر اساس قوانین حرکت و بقای انرژی است.
اجرای دینامیک rigid body برای ایجاد گیم پلی واقعی مبتنی بر فیزیک بسیار مهم است.
بازیهایی که از دینامیک rigid body استفاده میکنند، میتوانند حرکت اجسام و تعامل آنها با دنیای بازی را با دقت مدلسازی کنند.
به عنوان مثال، یک ماشین در یک بازی مسابقه ای می تواند به طور واقع بینانه دریفت کند، با ماشین ها یا موانع دیگر برخورد کند و آسیب ببیند.
موتورهای مختلف مانند Unity و Unreal Engine، پشتیبانی داخلی از پویایی rigid body را ارائه می دهند.
این موتورها طیف وسیعی از کنترلها و گزینهها را در اختیار توسعهدهندگان قرار میدهند تا رفتار rigid body را تنظیم کنند و تجربههای بازی قانعکنندهای را ایجاد کنند.
دینامیک Soft Body
دینامیک Soft body یک جنبه جذاب از فیزیک بازی است که با شبیه سازی اجسام شکل پذیر مانند پارچه، مایعات، گوشت و … سروکار دارد.
برخلاف دینامیک riged body، دینامیک Soft body پیچیدهتر است و به تکنیکهای پیشرفته برای شبیهسازی حرکت و تغییر شکل واقعی نیاز دارد.
تکنیک های شبیه سازی
یکی از رایج ترین تکنیک هایی که برای شبیه سازی دینامیک Soft body استفاده می شود، روش اجزای محدود است.
این رویکرد شامل تقسیم شی به یک سری عناصر کوچک متصل به هم است که می توانند حرکت کنند و با یکدیگر تعامل داشته باشند.
سپس حرکت و تغییر شکل هر عنصر بر اساس مجموعه ای از قوانین و محدودیت های فیزیکی محاسبه می شود.
یکی دیگر از تکنیک های مورد استفاده در دینامیک Soft body، سیستم های فنر جرمی است.
این رویکرد از شبکه ای از توده ها و فنرهای به هم پیوسته استفاده می کند که می توانند با اعمال نیرو به آنها تغییر شکل داده و کشیده شوند.
سپس حرکت و تغییر شکل جسم بر اساس حرکت این توده ها و فنرها محاسبه می شود.
تاثیر بر رئالیسم بازی
اجرای پویایی Soft body می تواند تأثیر قابل توجهی بر واقع گرایی کلی یک بازی داشته باشد.
به عنوان مثال، شبیه سازی پارچه با استفاده از پویایی Soft body می تواند حرکات لباس واقعی تری ایجاد کند و شخصیت های بازی را واقعی تر به نظر برساند.
به طور مشابه، استفاده از پویایی Soft body برای شبیهسازی مایعات میتواند جلوههای آب با ظاهر طبیعیتری ایجاد کند و غوطهوری کلی بازی را بهبود بخشد.
دینامیک Soft body در شبیه سازی تغییر شکل اجسام در پاسخ به برخورد نیز مفید است.
به عنوان مثال، در یک بازی مسابقهای، شبیهسازی تغییر شکل بدنه خودرو پس از برخورد، میتواند واقعگرایی گیمپلی را افزایش دهد و تجربه فراگیرتری را برای بازیکن ایجاد کند.
چالش ها در پیاده سازی
اجرای پویایی Soft body می تواند چالش برانگیز و نیازمند منابع باشد.
شبیهسازی اجسام تغییر شکلپذیر با استفاده از روشهای اجزا محدود یا سیستمهای فنر جرمی نیاز به قدرت محاسباتی قابل توجهی دارد که در صورت عدم اجرای صحیح میتواند منجر به گیمپلی کند و دارای نقص شود.
علاوه بر این، شبیه سازی دینامیک Soft body به دقت و توجه به جزئیات نیاز دارد.
یک خطای کوچک در شبیه سازی می تواند منجر به حرکت غیر واقعی، تغییر شکل یا برخورد شود که می تواند غوطه ور شدن بازی را بشکند و تجربه کلی بازی را تضعیف کند.
سیستم های ذرات، دینامیک سیالات و آیرودینامیک در فیزیک بازی
جدای از سینماتیک، دینامیک، دینامیک rigid body، و دینامیک soft body، فیزیک بازی همچنین شامل اجزای دیگری است که واقع گرایی و غوطه وری را در بازی های ویدیویی افزایش می دهد.
این اجزاء شامل سیستم های ذرات، دینامیک سیالات و آیرودینامیک هستند.
سیستم های ذرات
سیستمهای ذرات رفتار اجسام کوچکی را شبیهسازی میکنند که اثر بزرگتری مانند گرد و غبار، دود، آتش یا انفجار ایجاد میکنند.
این افکتها میتوانند لایهای از واقعگرایی را به بازی اضافه کنند و آن را برای بازیکن جذابتر کنند.
دینامیک سیالات
دینامیک سیالات مطالعه چگونگی رفتار سیالات در حرکت است.
در فیزیک بازی از دینامیک سیالات برای شبیه سازی رفتار مایعاتی مانند آب یا گدازه استفاده می شود.
این جنبه از فیزیک بازی می تواند سطحی از پیچیدگی را به بازی هایی که دارای آب یا مایعات دیگر هستند اضافه کند و آن را برای بازیکن چالش برانگیزتر و واقعی تر کند.
آیرودینامیک
آیرودینامیک به مطالعه حرکت هوا و نحوه برهمکنش آن با اجسام جامد می پردازد.
در بازی های ویدیویی، آیرودینامیک برای شبیه سازی حرکت اجسام در هوا، مانند هواپیما یا پرندگان، استفاده می شود.
این جنبه از فیزیک بازی می تواند حسی واقعی به بازی هایی که دارای پرواز یا سر خوردن در هوا هستند اضافه کند.
پیشرفت های اخیر در فیزیک بازی
Real-Time Ray Tracing
Real-time ray tracing با معرفی آن به بازیهای رایج در حدود سال ۲۰۱۸، انقلابی در گرافیک و فیزیک بازی ایجاد کرد.
این فناوری که مسیر نور را برای شبیهسازی تعاملات پیچیده با اشیاء درون بازی ترسیم میکند، بازیها را قادر میسازد تا به نور و سایههای واقعی به صورت ریل تایم دست یابند.
به عنوان مثال، بازی “2019 Control” یکی از نمونه بازی هایی است که اولین استفاده را از این تکنولوژی کرد و به شکل قابل توجهی نیز از آن بهره برد.
در «Control» از ray tracing برای افزایش کیفیت بصری بازی استفاده میشود که امکان بازتابهای واقعی از سطوح براق را از طریق متریال شفاف فراهم میکند و عمق و غوطهوری را به گیمپلی اضافه میکند.
NVIDIA در خط مقدم این پیشرفت با سری کارتهای گرافیکی RTX خود بوده است که جزو اولین کارتهای پشتیبانی سختافزاری اختصاصی برای ray tracing بودند.
تأثیر ray tracing به گونه ای است که نه تنها زیبایی شناسی را تغییر می دهد، بلکه بر مکانیک بازی نیز تأثیر می گذارد.
به عنوان مثال، در یک بازی مخفی کاری، نحوه سقوط نور و ایجاد سایه می تواند مستقیماً بر توانایی بازیکن برای پنهان شدن یا شناسایی شدن تأثیر بگذارد.
Machine Learning در Physics Simulation
یادگیری ماشین (ML) مرز دیگری است که از اواسط دهه 2010 شروع به تأثیرگذاری بر فیزیک بازی کرده است.
با استفاده از مجموعه دادههای بزرگ از تعاملات فیزیکی، الگوریتمهای ML میتوانند رفتارهای پیچیده در بازیها را پیشبینی و شبیهسازی کنند.
این امر نیاز به محاسبات جامع را کاهش میدهد و امکان شبیهسازی فیزیک سیال و واقعیتر را فراهم میکند، بهویژه در سناریوهایی که مدلسازی دقیق در زمان واقعی از نظر محاسباتی گران است.
به عنوان مثال، بخش SEED مربوط به Electronic Arts یک عامل هوش مصنوعی خودآموز را در سال 2018 به نمایش گذاشت.
که بازی “Battlefield 1” را از ابتدا یاد گرفت و پتانسیل یادگیری ماشینی را نه تنها در رفتار شخصیتها، بلکه در تطبیق پویای واکنشهای فیزیکی بازی با ماهیت غیر قابل پیش بینی، داشت.
آینده ی توسعه فیزیک بازی
۱- واقع گرایی تقویت شده
با افزایش قدرت محاسباتی با نسلهای جدید سختافزار، میتوان انتظار شبیهسازی واقعیتری از فیزیک را داشت.
این میتواند شامل شبیهسازیهای دقیقتر و ظریفتر از متریال ها، از جمله مدلهای بهتر برای نحوه تعامل متریال مختلف مانند خاک، فلز، پارچه و بافت انسانی باشد.
۲- یکپارچه سازی یادگیری ماشین
پیش بینی می شود استفاده از یادگیری ماشین و هوش مصنوعی در فیزیک بازی افزایش یابد.
این فناوریها میتوانند منجر به سیستمهای فیزیک تطبیقی و پیشبینیکنندهتر شوند که از رفتار بازیکن یاد میگیرند و به طور بالقوه منجر به تجربههای منحصربهفرد گیمپلی متناسب با سبکهای بازی فردی میشوند.
۳- تعامل بیشتر
با موتورهای فیزیکی قوی تر، سطح تعامل در محیط های بازی احتمالا افزایش خواهد یافت.
ممکن است محیط هایی را ببینیم که کاملاً تعاملی هستند، جایی که تقریباً هر شی می تواند تحت تأثیر اقدامات بازیکن یا سایر اشیاء به شیوه ای واقع بینانه قرار گیرد.
۴- تولید محتوای رویه ای
تولید محتوای رویهای مبتنی بر فیزیک میتواند به دنیای بازیهای پویاتری اجازه دهد که نه تنها وسیع، بلکه جزئیات و متنوع هستند.
این بدان معناست که میتوان محیطهایی را بر اساس قوانین فیزیکی زیربنایی ایجاد کرد و در نتیجه سناریوهای گیمپلی منحصربهفرد و بدون اسکریپت ایجاد شد.
۵- رایانش ابری و فیزیک بازی
رایانش ابری ممکن است برای تخلیه محاسبات پیچیده فیزیک از سختافزار محلی بهطور گستردهتری مورد استفاده قرار گیرد و امکان شبیهسازی فیزیک با وفاداری بالا را حتی در دستگاههای کمقدرتتر فراهم کند.
۶- فیزیک در VR و AR
واقعیت مجازی و افزوده همچنان مرزهای فیزیک بازی را جابجا خواهند کرد.
همانطور که این فناوریها بالغ میشوند، تقاضا برای شبیهسازیهای فیزیک فوقالعاده واقعگرایانه که به احساس قانعکننده حضور کمک میکنند، افزایش مییابد.
منبع
مهرسا امینی
برنامه نویس بازی و سایت
خوبه مهم باشی اما مهم تر از اون اینه که خوب باشی.