بررسی نقش فیزیک در بازی‌های ویدئویی

امروزه به‌لطف فناوری، کاربرد قوانین فیزیک در بازی‌های ویدئویی افزایش یافته و شکل واقعی‌تری به بازی‌ها بخشیده است.

اغلب اوقات، نقش فیزیک در بازی‌های ویدئویی نادیده گرفته می‌شود. برای مثال در فرایند پرش، انتظار می‌رود آواتار بدون هیچ نوسانی روی زمین فرود بیاید. اگر تجربه‌ی بازی Skyrim را داشته باشید، چنین فرایندی دیده می‌شود. با وجود خطاها و تغییرات عمدی قوانین فیزیک در بازی‌ها، باید سطح درک‌پذیری از فیزیک را به مخاطب نمایش داد.

برنامه‌نویسی فیزیک در بازی می‌تواند به‌راحتی یک یا دو روتین باشد که هرکدام چند خط کد محدود داشته باشند یا می‌تواند به پیچیدگی استفاده از موتور مجزایی مثل Havok یا PhysX با میلیون‌ها خط کد باشد. صرف‌نظر از پیچیدگی یا نیاز به موتور بازی برای کنترل محاسبات، فیزیک بازی در دو دسته‌ی گسترده قرار می‌گیرد: بدنه‌ی سخت و بدنه‌ی نرم.

فیزیک بدنه سخت

فیزیک بدنه‌ی سخت شامل نیروهایی است که روی اجسام سخت اعمال می‌شود. کاربرد این نوع فیزیک در بازی‌های دوبعدی و سه‌بعدی ضروری است. فیزیک بدنه‌ی نرم به‌معنی اعمال نیروهای فیزیکی بر جرم‌های تغییرپذیری مثل پرچم است. شبیه‌سازی بدنه‌های نرم بسیار پیچیده‌تر است؛ به‌همین‌دلیل، کاربرد آن کمتر است و در بعضی موارد نیازی به آن نیست. در این مقاله، دو نوع فیزیک یادشده دقیق بررسیو چگونگی و دلیل کاربرد این دو فیزیک در بازی‌های ویدئویی توصیف می‌شود؛ البته به جنبه‌ی تخصصی فیزیک چندان توجه نمی‌شود.

اهمیت فیزیک در بازی

توسعه‌دهندگان به‌دلایل مختلفی از فیزیک در بازی‌های خود استفاده می‌کنند؛ اما مهم‌ترین معیارها، معیار درک و سرگرمی هستند. اگر شیئی در بازی براساس پیش‌بینی‌های جهانی واقعی رفتار نکند، بازیکن به‌سختی می‌تواند عملکرد بازی را درک کند. برای مثال، فرض کنید در بازی FIFA 20، توپ پس از فرود روی زمین چمن، در جهتی تصادفی نوسان کند. در این شرایط، به‌سختی می‌توان موقعیت فرود آن را روی زمین یا داخل دروازه پیش‌بینی کرد؛ بنابراین، تولیدکنندگان بازی تلاش می‌کنند نوسان توپ را براساس معیارهایی مثل مسیر حرکت و سرعت اولیه و دیگر معیارهای جهان واقعی شبیه‌سازی کنند تا بازیکن از عملکرد توپ یا هر شیء دیگر آگاه باشد. جالب اینجا است که فیفا ۲۰ به‌دلیل فیزیک دورازانتظار، با نقدهای منفی کاربران مواجه شده است.

بازی FIFA 20

البته نیازی هم به رعایت دقیق قوانین طبیعی فیزیک نیست و اغلب توسعه‌دهندگان برای افزایش جنبه‌ی سرگرم‌کننده‌ی بازی‌ها، قوانین فیزیک را دور می‌زنند. اگر نیروهای فیزیکی به‌شکلی دقیق تابع دنیای واقعی باشند، می‌توانند معیار سرگرمی را از بین ببرند. برای مثال، فرض کنید بخواهید بازی Grand Theft Auto V را با قوانین دقیق فیزیک اجرا کنید. در چنین شرایطی، حتی برخورد کوچک خودرو با شیئی در سرعت زیاد می‌تواند بازی را دشوارتر کند و جنبه‌ی سرگرم‌کننده‌ی آن را تحت‌تأثیر قرار دهد. بنابراین، مرز کم‌رنگی بین تولید بازی سرگرم‌کننده و واقع‌گرایی فیزیکی وجود دارد. وظیفه‌ی توسعه‌دهندگان رسیدن به تعادل مناسب بین این دو است که اغلب اوقات به نوع مخاطب بستگی دارد. بازی‌های مسابقه‌ای نمونه‌ی مناسبی از این دست هستند.

راندن خودرو در بازی GTA V

بسیاری از گیمرها از بازی‌های مسابقه‌ای به سبک آرکید مانند Need For Speed لذت می‌برند؛ زیرا در این بازی‌ها مجازاتی برای خسارت‌زدن به گاردریل‌ها یا رانندگی با سرعت زیاد وجود ندارد. بخش اندکی از مخاطبان هم بازی‌های شبیه‌سازی مسابقه‌ای مثل فورزا موتور اسپرت (Forza Motorsport) یا گرن توریزمو (Gran Turismo) را ترجیح می‌دهند که به واقعیت نزدیک‌ترند. با‌توجه‌به مخاطبان اندک بازی‌های شبیه‌سازی، بیشترین تمرکز تولیدکنندگان روی بازی‌های غیرشبیه‌سازی قرار دارد. فورزا و گرن توریزمو برای جذب مخاطب از واقع‌گرایی تصویر استفاده می‌کنند. شرکت Polyphony Digital، توسعه‌دهنده‌ی گرن توریزمو، برای افزایش جذابیت و گسترش بازار، حالت آرکید را اضافه کرده است و استودیو Turn10 با همکاری Playground Games نیز با معرفی سری Horizon تجربه‌ی آرکید را برای هواداران فورزا به ارمغان آورده است. درادامه، به روش استفاده از فیزیک در بازی و محاسبات متناسب با قابلیت‌های پردازش اشاره شده است.

فیزیک بدنه‌ی سخت

در بحث فیزیک بازی‌های ویدئویی، فیزیک بدنه‌ی سخت (RBP) از اهمیت بیشتری برخوردار و پیاده‌سازی آن اجتناب‌ناپذیر است. فیزیک بدنه‌ی سخت به شبیه‌سازی و متحرک‌سازی قوانین فیزیک برای اجسام سخت گفته می‌شود. برای مثال، این نوع فیزیک بر شیء توپ در FIFA 20 اعمال می‌شود. در بازی‌های دو‌بعدی مانند Pong یا سه‌بعدی مانند Skyrim، از فیزیک بدنه‌ی سخت خطی استفاده می‌شود.

فیزیک بازی‌های دوبعدی

در بازی دوبعدی Pong، دو بدنه‌ی سخت (توپ و راکت) به‌صورت تکراری با یکدیگر برخورد می‌کنند. این بازی قدیمی فیزیک دنیای واقعی را مدل‌سازی واقعی نمی‌کند. برای مثال، برنامه‌نویسان این بازی محاسباتی مثل جاذبه و اصطکاک و اینرسی را نادیده می‌گیرند و فقط توپی با سرعت ثابت نوسان می‌کند. همچنین در این بازی، زاویه‌ی برخورد توپ به راکت‌ها دقیق محاسبه نمی‌شود و نوسان توپ کاملا قانون انعکاس را نادیده می‌گیرد. بدون رعایت معیارهایی مثل چرخش، توپی که با زاویه‌ای مشخص به سطح برخورد می‌کند با همان زاویه بازمی‌گردد.

پیاده‌سازی فیزیک بدنه‌ی سخت برای تمام بازی‌ها ضروری است

در بازی Pong، زاویه‌ی بازگشت براساس مجاورت ضربه با مرکز راکت تعیین می‌شود. صرف‌نظر از مسیر اولیه، بازگشت توپ به میزان دوری از برخورد با مرکز راکت وابسته است؛ درنتیجه، بازیکنان می‌توانند بدون درنظرگرفتن بردار ورودی، تکانه‌ی توپ را معکوس کنند.

مسیر زاویه‌ای تکراری در بازی‌هایی مثل Breakout هم دیده می‌شود؛ با‌این‌حال، اعداد در این بازی بی‌معنی و دور از واقعیت هستند. دلیل این موضوع رعایت معیار سرگرمی است؛ چراکه شبیه‌سازی دقیق زاویه‌ی بازگشت زیاد سرگرم‌کننده نیست و بازی را دشوار می‌‌سازد.

فیزیک سخت دوبعدی

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

بدنه‌های سخت در بازی‌های توپخانه‌ای، موشک‌ها هستند که متحرک‌سازی و عملکرد آن‌ها متناسب با معیارهای متعدد است. تیرها یا موشک‌ها نمونه‌های خوبی از متحرک‌سازی بدنه‌ی صلب در چنین بازی‌هایی هستند. با اینکه پلان موشک در طول پرواز تغییر می‌کند، تیرها معمولا اشیای طویل و باریکی هستند که تغییر نمی‌کنند و در طول پرتاب هم خم نمی‌شوند. این مثال برای درک آسان‌تر ساده‌سازی شده است و به‌طور‌کلی، تشخیص حرکت تیر به‌عنوان بدنه‌ی سخت و درک تفاوت آن با بدنه‌ی نرم اهمیت زیادی دارد. در سیستم بدنه‌ی سخت، فاصله‌ی هر دو نقطه روی یک شکل همیشه ثابت باقی می‌ماند.

بازی‌هایی مانند Donkey Kong و مجموعه‌ بازی‌های Mario Bros، زمینه‌‌ی کاربرد فیزیک بر بازی‌های پس از خود به‌ویژه بازی‌های سه‌بعدی را فراهم کردند. بازی ماریو با قوانین کلی فیزیک مانند جاذبه و تکانه و اینرسی سروکار داشت و حرکت اصلی بازی پرش بود که از آن زمان به بخش ثابت بازی‌ها تبدیل شد. بدیهی است هنگام کار با پرش و جاذبه، شیئی که بالا می‌رود، باید فرود بیاید.

ماریو

نمایی از بازی ماریو

سؤال اینجا است که در فرایند پرش، جسم چقدر می‌تواند بالا برود و با چه سرعتی فرود بیاید؟ بنابراین، توسعه‌دهندگان باید با دقت زیادی به این سؤال پاسخ دهند: جاذبه‌ی بازی چقدر باید به جاذبه‌ی واقعی نزدیک باشد؟ اگر ماریو مجبور بود از قوانین دنیای واقعی تبعیت کند، شاید هرگز نمی‌توانست از مرحله‌ی یک بازی فراتر برود؛ پس، توسعه‌دهندگان باید بین امکان‌پذیری بازی و حفظ انتظارات بازیکنان درباره‌ی رفتار ماریو تعادل برقرار می‌کردند.

بازی‌های بعدی با معرفی پرش دوبل مرزها را کنار زدند. پرش دوبل در مجموعه‌ی ماریو اولین‌بار در بازی Super Mario 64 دیده شد؛ گرچه قبلا در سال ۱۹۸۴ در بازی‌هایی مثل Dragon Buster معرفی شده بود. بازیکنان با پرش دوبل می‌توانند مسافت پرش عمودی و افقی را افزایش دهند، از شکاف‌ها عبور کنند و به لبه‌ها برسند. این نوع مکانیک هنوزهم در میان بسیاری از بازی‌های امروزی، مثل Devil May Cry و Unreal Tournament به‌کار رفته است.

فیزیک بازی‌ ویدئوی سه‌بعدی

فیزیک بازی‌های ویدئویی سه‌بعدی تفاوت زیادی با فیزیک نمونه‌های دوبعدی ندارد. پرش‌های دوبل در برخی بازی‌های سه‌بعدی هم دیده می‌شوند؛ اما تفاوت اصلی آن‌ها، پیچیدگی محاسبات در بعد سوم (محور z) و اشیائی است که از چند بدنه‌ی سخت تشکیل شده‌اند. در اغلب بازی‌های دوبعدی، توسعه‌دهندگان باید برخورد چند شیء سخت را شناسایی کنند. برای مثال، در فرود ماریو روی سر باوزر (شخصیت ضدقهرمان ماریو)، هر قسمتی از ماریو می‌تواند هر قسمتی از باوزر را لمس کند. براساس نحوه‌ی برخورد دو نتیجه حاصل می‌شود: حذف باوزر یا از‌دست‌‌رفتن یکی از جان‌های ماریو. درهرصورت، تنها یک برخورد رخ می‌دهد.

بازی  سه بعدی

تعامل اجسام سخت با یکدیگر در اغلب بازی‌های سه‌بعدی دیده می‌شود. برای مثال، در مجموعه‌ی آنچارتد (Uncharted)، هدف برنامه جست‌وجوی برخورد با دست‌ یا پا است که بدنه‌های سخت مجزا هستند. در این بازی، انیمیشن یک دست هنگام پرش با انیمیشن دو دست متفاوت است. بازی‌های سه‌بعدی و برخی بازی‌های دوبعدی، مدل‌هایی با چند بدنه‌ی سخت دارند که ازطریق مفاصل به یکدیگر وصل شده‌اند. به بیان دیگر، بازوی یک مدل انسانی از دست و بازویی تشکیل شده است که در قسمت مچ به یکدیگر وصل شده‌اند. به این ساختار و چگونگی عملکرد آن، «فیزیک رگ‌دال» گفته می‌شود.

فیزیک رگدال

فیزیک رگ‌دال در اغلب بازی‌های بازیکن‌محور و مدل NPC کاربرد دارد. اتصال بدنه‌های سخت اعضای بدن در سیستم انیمیشن اسکلتی موتور بازی ایجاد می‌شود و هر بدنه‌ی سخت باید براساس مجموعه‌ای از قوانین عمل کند تا هنگام حرکت واقع‌گرایانه به‌نظر برسد. برنامه‌نویسان برای محاسبه‌ی این حرکت‌ها از تکنیک‌های متعددی استفاده می‌کنند. متداول‌ترین تکنیک الگوریتم Featherstone است. این الگوریتم روشی محدود به بدنه‌های سخت است که از حرکت پروانه‌ای اعضای بدن جلوگیری می‌کند. روش‌های دیگر کنترل رگ‌دال شامل یکپارچه‌سازی Verlet (بازی Hitman:Codename 47)، سینماتیک معکوس (بازی Halo: Combat Evolved و Half-Life)، رگ‌دال ترکیبی (بازی Uncharted Drake Fortune) و انیمیشن رویه‌ای (مجموعه بازی‌های مدال افتخار) است.

کنترل رگدال

هدف تمام روش‌های یادشده، حل مشکل لنگیدن و خمیدگی مفاصل است. معمولا دامنه‌ی حرکتی بدنه‌های سخت، محدود است؛ بنابراین، حتی اگر فیزیک بازی کاملا براساس واقعیت نباشد، معمولا رفتار مدل‌ها پیش‌بینی‌پذیر است. در بازی‌‌های سه‌بعدی نیز، تولید‌کنندگان باید بین واقعیت و سرگرمی به تعادل برسند؛ ازاین‌رو، هنگام محاسبه‌ی نیروهای فیزیکی داخل بازی، اغلب اوقات محاسبات کاملا دقیق نیستند. به این وضعیت «تقلب بازی» گفته می‌شود. برای مثال، مجموعه‌ی Sniper Elite را در نظر بگیرید. در دنیای واقعی، تیراندازان نظامی باید هر شلیک را محاسبه کنند؛ بنابراین برای ترازبندی هدف، معیارهایی مثل سرعت باد، جهت باد، بُرد، حرکت هدف، سراب، منبع نور، دما، فشار بارومتری و نیروی کوریولیس (زمین‌گرد) را درنظر می‌گیرند. برای مثال، اگر توسعه‌دهندگان بازی Rebellion شبیه‌سازی تیرانداز را دقیق انجام می‌دادند، نه‌تنها بازی برای اغلب بازیکنان دشوار می‌شد؛ بلکه تعداد محاسبه‌ها و حجم برنامه‌نویسی و توان پردازشی هم به‌‌طور چشمگیری افزایش می‌یافت. شبیه‌سازی این متغیرها برای پردازنده‌های کنونی سخت نیست؛ اما گیمر متوسط نیازی به این معیارها ندارد؛ درنتیجه، بهترین تصمیم حفظ سادگی بازی‌ است.

مأموریت تیراندازی در بازی Call Of Duty

البته ساده‌سازی به این معنی نیست که تلاشی برای پیچیدگی تیراندازی انجام نمی‌شود. به‌عنوان نمونه، یکی از سطوح مبارزه در بازی Call of Duty: Modern Warfare، انتخاب هدف از راه دور است. در این مأموریت، بازیکن باید از اثر کوریولیس و جهت یا سرعت باد استفاده کند. مأموریت به‌شدت دشوار است و هر گیمری نمی‌تواند آن را اجرا کند؛ البته دشواری این مأموریت چیزی از جذابیت آن کم نمی‌کند. حتی برخی کاربران آن را بهترین مأموریت بازی می‌دانند؛ ولی به صبر و حوصله‌ی زیادی نیاز دارد. بازی‌های مسابقه‌ای هم به محاسبات زیادی برای بدنه‌های سخت و نیروهای اعمال شده بر آن‌ها احتیاج دارند. لاستیک خودرو به جاده برخورد می‌کند، شاسی به چرخ‌ها وصل است، خودروها با یکدیگر برخورد می‌کنند و برخورد خودروها با یکدیگر به محاسبه نیاز دارند.

هرچه درجه‌ی شبیه‌سازی فیزیکی بازی بیشتر باشد، جذابیت آن کمتر خواهد بود

نیروهای فیزیکی واردشده بر خودروها حین نزدیک‌شدن به گوشه‌ها، به‌ویژه در بازی‌های آرکید، بی‌تأثیر هستند؛ بنابراین، حرکت دریفت در‌مقایسه‌با دنیای واقعی آسان‌تر می‌شود؛ البته برای برخی بازیکنان دشوار است. نیروی واردشده بر خودروها در بازی‌های مسابقه‌ای شبیه‌سازی مانند Gran Turismo یا Assetto Corsa واقعی‌تر هستند و معیارهای متعددی را در نظر می‌گیرند که معمولا در بازی‌های آرکید نادیده گرفته می‌شوند. برای مثال، بازی Assetto Corsa Competizione (نسخه‌ی ۱.۰.۷) مدل لاستیک پنج‌نقطه‌ای را به بازی معرفی کرده است. مدل فیزیکی پنج‌نقطه‌ای شامل دو نقطه‌ی تماس در لبه‌ی جلو رد لاستیک و دو نقطه در عقب و یک نقطه در وسط است. اغلب بازی‌های مسابقه‌ای دیگر فقط یک نقطه‌ی تماس روی هر لاستیک دارند و هر‌کدام از بخش‌ها به‌صورت بدنه‌ی سخت یکپارچه عمل می‌کنند و می‌توانند در سه بعد حرکت کنند و خم شوند و به‌صورت مستقل دربرابر نیروها و تماس سطح، واکنش نشان دهند. برای مثال، برخورد خودروها با یکدیگر یا لبه‌ها واکنش‌های واقعی‌تری به‌دنبال دارد.

لاستیک پنج‌نقطه‌ای در بازی Assetto Corsa

با‌این‌‌همه، هرچه نقاط تماس بیشتر شوند، حجم محاسبات هم به‌طور چشمگیری افزایش پیدا می‌کنند. خوشبختانه مهندسان ACC راه‌حلی برای حل این مشکل پیدا کرده‌اند که به افزایش بار محاسباتی نیازی ندارد و درنتیجه، بر عملکرد بازی تأثیر منفی نمی‌گذارد. مدل‌های فیزیکی بازی‌های سه‌بعدی بسیار پیچیده‌تر از نمونه‌های دوبعدی هستند؛ چراکه بسیاری از متغیرها و برخوردها باید برای حفظ تعادل فیزیکی ردیابی شوند. باوجوداین‌، اغلب محاسبات خطی هستند و سادگی آن‌ها از مدل‌های بدنه‌ی نرم بیشتر است.

فیزیک بدنه‌ی نر‌م

فیزیک بدنه‌ی نرم (SBP) که بسیار پیچیده‌تر از RBP است، بر اشیای تغییرپذیر اعمال می‌شود و به‌دلیل محاسبات زیاد برای شبیه‌سازی مدل، این نوع فیزیک درمقایسه‌با فیزیک RBP، کمتر به‌کار می‌رود و به‌دلیل محدودیت در پردازش، مدل‌های بدنه‌ی نرم در بازی‌های ویدئویی در سطحی مدیریت‌شدنی ارائه می‌شوند. برخی مثال‌های فیزیک بدنه‌ی نرم شامل لباس و مو و مجموعه ذرات مثل دود یا مه هستند. برخلاف بدنه‌ی سخت که در آن فاصله‌ی دو نقطه از یکدیگر ثابت می‌ماند، بدنه‌های نرم می‌توانند تغییرشکل دهند یا جابه‌جا شوند؛ به‌طوری‌که دو نقطه روی یک بدنه می‌توانند به‌هم نزدیک‌تر یا از یکدیگر دور شوند.

اجسام جامد در بدنه‌ی نرم

محدودیت حرکت برای بدنه‌های نرم زیاد است. برای مثال در پرچم، تمام نقاط باید روی پرچم باقی بمانند و نمی‌توانند وارد فضا شوند؛ با‌این‌حال، وقتی پرچم به‌حرکت درمی‌آید، فاصله‌ی بین نقاط تغییر می‌کنند. میزان دوری یا نزدیکی به فاصله‌ی بین نقاط در حالت مسطح پرچم وابسته است. به بیان دیگر، نقاط مجاور روی پرچم صرف‌نظر از نوع تغییر درکنار یکدیگر باقی می‌مانند؛ اما نقاط دورتر می‌توانند به یکدیگر نزدیک و به نقاط مجاور تبدیل شوند؛ اما نمی‌توانند از حد مشخصی دورتر شوند. با اینکه تعداد تنظیمات تمام نقاط روی پرچم متناهی است، پیاده‌سازی آن‌ها دشوار است.

CPU‌ها و GPU‌های تک‌پردازنده‌ای نمی‌توانند محاسبات لازم برای اهتزاز دقیق پرچم در مدل SBP را اجرا کنند؛ ازاین‌رو، اغلب اوقات توسعه‌دهندگان برای شبیه‌سازی حرکت تصادفی پرچم در حال اهتزاز از میان‌برها استفاده می‌کنند. «انیمیشن حلقه‌ای دستی» روش مناسبی برای پیاده‌سازی بدنه‌های نرم است؛ اما شاید پس از چند دقیقه خسته‌کننده شود. این روش زمانی مناسب است که پرچم در مرکز توجه نباشد. لباس‌ها هم ویژگی‌های مشابه پرچم دارند؛ اما پیاده‌سازی فیزیک برای آن‌ها دشوارتر است؛ زیرا معمولا در مرکز توجه قرار دارند و باتوجه‌به حرکت‌های مختلف بازیکن تغییر می‌کنند. بال بتمن در بازی‌های Arkham نمونه‌‌ای از پیاده‌سازی فیزیک برای لباس است.

شبیه‌سازی لباس بتمن

امکان شبیه‌سازی شنل بتمن با انیمیشن تکراری حلقه‌ای وجود ندارد؛ زیرا تغییرشکل آن به حرکت‌های بازیکن وابسته است. حرکت شنل بتمن مانند حرکت تصادفی پرچم نیست؛ زیرا اگر بازیکن به‌سمت چپ برود، شنل باید به‌سمت راست حرکت کند تا شبیه‌سازی واقعی نیروهای اینرسی و مقاومت باد را نشان دهد.

تولیدکنندگان بازی معمولا از موتور فیزیکی برای کنترل متغیرهای پیچیده استفاده می‌کنند. در بازی Batman: Arkham Knight، توسعه‌دهندگان Rocksteady از APEX Cloth PhysX استفاده کردند. طراحان با این ابزار می‌توانند ماسکی برای لباس‌ها بسازند و پارامترهای حرکتی آن‌ها را مقداردهی کنند. براساس نوع تنظیمات می‌توان هر پارچه‌ای مثل ابریشم تا کرباس را شبیه‌سازی کرد.

پیاده‌سازی فیزیک بدنه‌ی نرم نیاز به توان پردازشی بالایی دارد

برنامه‌نویسان با تنظیمات پارامتر می‌توانند نیروهای طبیعی واردشده بر پارچه را محدود کنند. برای مثال، Wind Method را می‌توان برابر با Accurate یا Legacy تنظیم کرد. حالت Legacy حالت کشش و بلندکردن را نادیده می‌گیرد؛ بنابراین، محاسبات موردنیاز را کاهش می‌دهد.

علاوه‌بر‌این، تمام نقاط روی پارچه برای حرکت لازم نیستند؛ بلکه با گروه‌بندی بخش‌ها، می‌توان تعداد رأس‌های موردنیاز را از میلیون‌ها رأس به ده‌هاهزار رأس کاهش داد. شایان ذکر است مانند سیستم بدنه‌ی نرم واقعی، کل گروه‌بندی‌ها با یکدیگر تعامل نمی‌کنند؛ بلکه فقط با نقاط مجاور ارتباط برقرار می‌کنند و بدین‌ترتیب، تعداد محاسبات ریاضی تا سطحی مدیریت‌شدنی کاهش پیدا می‌کند.

سیستم‌های ذره‌ای بدنه‌ی نرم

شبیه‌سازی ذراتی مانند دود یا ابر بسیار پیچیده‌تر از شبیه‌سازی پارچه یا مو است؛ زیرا هر دو نقطه در یک شیء می‌توانند براساس مدلی غیرخطی حرکت کنند. همچنین، نقاط به مرزهای بدنه‌ی نرم محدود نیستند؛ به‌طوری‌که یک یا چند نقطه می‌توانند تا فراتر از مرزهای تعیین‌شده‌ی اشیا حرکت کنند و حتی بدنه‌های نرم دیگری را تشکیل دهند.

تا چندی پیش، جلوه‌هایی مانند انفجار و آتش‌سوزی و دود یا غبار به‌دلیل استفاده از انیمیشن‌های دستی ظاهری غیرواقعی داشتند و حتی برخی بازی‌های جدید کمتر روی فیزیک ذرات تمرکز کردند؛ زیرا شبیه‌سازی آن‌ها دشوار است و بار زیادی را به پردازنده تحمیل می‌کند. با‌این‌حال، امروزه موتورهای فیزیکی به‌طور چشمگیری سیستم ذرات را بهبود داده‌اند. برای مثال در بازی Skyrim، جلوه‌های دود به واقعیت نزدیک شده‌اند. به‌طور‌کلی، هر ذره در سیستم بدنه‌ی نرم طول عمر ثابتی دارد و این بازه از پخش تا محو شدن دود ادامه پیدا می‌کند. در این زمان، نقطه براساس مجموعه‌ای از پارامترها حرکت می‌کند.

دود در skyrim

برای مثال در دود آتش، هرکدام از ذرات براساس مسیر از منبع (آتش) متحرک‌سازی می‌شوند. این ذرات در مسیر مستقیم و خطی حرکت نمی‌کنند؛ بلکه می‌پیچند و موقعیت آن‌ها در فضای سه‌بعدی به‌صورت تصادفی تغییر می‌کند. این حرکت‌ها تا زمان محوشدن کامل دود ادامه پیدا می‌کنند. طول عمر دود نشان می‌دهد سیستم ذرات چقدر به واقعیت نزدیک است. طول عمر زیاد ذرات به تولید دود واقعی‌تر و فشار زیاد بر پردازنده منجر می‌شود. طول عمر کوتاه ازنظر محاسباتی سبک‌تر است؛ اما ذرات راه کمی طی می‌کنند و زود ناپدید می‌شوند.

جلوه‌ی دود در بازی Skyrim، ظاهری بسیار واقعی دارد؛ زیرا در صفحه‌‌نمایش هیچ اتفاقی به‌جز انتخاب‌های منو رخ نمی‌دهد و این فرایند فقط به چند چرخه‌ی کوچک Cpu نیاز دارد؛ بنابراین، توان کامل CPU و GPU را می‌توان به شبیه‌سازی ذرات دود با طول عمر زیاد اختصاص داد. در اجرای بازی Skyrim، ظاهر دود اطراف آتش زیاد هم به واقعیت نزدیک نیست و با اینکه ظاهر دود قانع‌کننده است، با کمی دقت می‌توان فهمید دود براساس میان‌برهای تکرار سیستم ذرات ساخته شده است. توسعه‌دهندگان به شیوه‌های مختلف این کار را انجام می‌دهند؛ مثلا زمان حضور ذره در شبیه‌سازی را کاهش می‌دهند. یکی از روش‌های متداول در‌هم‌آمیختن لایه‌های ایستای دود است

به‌طورخلاصه، فیزیک بدنه‌ی نرم در تمام بازی‌ها محدود است. در درجه‌ی اول، به شبیه‌سازی کامل SBP نیازی نیست؛ زیرا معمولا هدف آن، افزایش جلوه‌های زیبایی است. در درجه‌ی دوم، شبیه‌سازی دقیق سیستم بدنه‌ی نرم به توان خانگی زیادی احتیاج دارد که پیاده‌سازی آن بر سیستم‌های بازی ناممکن است؛ ازاین‌رو، بهتر است شبیه‌سازی‌های کامل SBP در محدوده‌ی آزمایشگاه‌های فیزیک باقی بمانند.

سخن پایانی

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

اولویت اصلی تولید بازی سرگرم‌کننده است و واقع‌گرایی در اولویت بعد قرار می‌گیرد. بااین‌حال، فیزیک بازی اختیاری نیست؛ بلکه کاربرد آن اجتناب‌ناپذیر است؛ زیرا نبود فیزیک صحیح به بی‌نظمی و هرج‌و‌مرج در بازی منجر می‌شود. همچنین، طراحان می‌توانند برای افزایش جنبه‌ی سرگرمی بازی در قوانین فیزیک اغراق کنند؛ مثلا می‌توانند از پرش دوبل استفاده کنند. اگر به نکات تکنیکی و فنی فیزیک بازی‌های ویدئویی و استفاده از موتورهای فیزیکی علاقه‌ دارید، می‌توانید از منابع متعددی استفاده و بخش فیزیک در دستورالعمل Unity یا خودآموزهای Lumberyard را بررسی کنید.

منبع techspot

از سراسر وب

  دیدگاه
کاراکتر باقی مانده

بیشتر بخوانید