قابل توجه کاربران گرامی: تاپیک معرفی اعضاء برای آشنایی بیشتر با یکدیگر (حتما شرکت کنید) لینک

MSI Notebook
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 15
Like Tree32Likes

موضوع: Physics در بازی های رایانه ایی چیست ؟

  1. #1
    Retired assistant
    The Joker آواتار ها
    تاریخ عضویت
    Aug 2012
    محل سکونت
    مشهد
    نام واقعی
    محمد جواد
    نوشته ها
    775
    تشکر شده 7,068 بار در 737 پست
    The Joker آنلاین نیست.

    Physics در بازی های رایانه ایی چیست ؟

    با نام و یاد خدا



    موتور فیزیک یک برنامه ی کامپیوتری است که یک شبیه سازی تقریبی از سیستم های فیزیکی خاص مثل Rigid Body Dynamics و Soft Body Dynamics و Fluid Dynamics و ... در حوزه ی بازی های کامپیوتری و فیلم ها را فراهم می کند .

    به صورت کلی دو نوع موتور فیزیک پایه وجود دارد که تمامی موتور های فیزیک جزو این دو دسته قرار می گیرند :

    1 . موتور های Real Time
    2 . موتور هایی با دقت بالا یا High Precision

    موتور های High Precision به قدرت پردازشی بسیار بالایی برای محاسبه ی بسیار دقیق فیزیک نیاز دارند و معمولآ توسط دانشمندان و جلوه های ویژه در فیلم ها و ... مورد استفاده قرار می گیرند .

    موتور های Real Time که بیشتر در بازی های کامپیوتری مورد استفاده قرار می گیرند به نسبت موتور های High Precision به قدرت پردازشی کمتری نیاز دارند و محاسبات را ساده تر انجام می دهند و از دقت کمتری برخوردارند ، اما ذکر این نکته ضروری است که استفاده از این نوع موتور برای بوجود آوردن یک حالت تعادلی بین بازی و فیزیک و روانی گیم پلی و فریم ریت در بازی ضروری است و اگر قرار بود که در بازی ها از موتور های High Precision استفاده می شد ، قدرتمند ترین کارت های گرافیک حال حاظر هم از پردازش فیزیک بازی عاجز بودند .

    Scientific engines

    یکی از اولین کامپیوتر های چند منظوره ی ساخته شده به دست بشر به نام ENIAC برای اولین بار به عنوان یک موتور برای پردازش های فیزیک مورد استفاده قرار گرفت .
    از این موتور فیزیک برای اولین بار توسط ارتش ایالات متحده برای پردازش های فیزیکی قبل از پرتاب گلوله های توپ خونه ها و همچنین میزان تخریب گلوله ها و موشک ها در محل اصابت و همچنین میزان باروت مورد استفاده در گلوله ها و میزان انحراف گلوله ها توسط باد و ... مورد استفاده قرار می گرفت .

    از سال 1980 به بعد موتور های فیزیک به عنوان یکی از اساسی ترین قسمت ها در ابر کامپیوتر ها برای مدل سازی های دینامیک و سیالات محاسباتی مورد استفاده قرار می گرفت .
    از آنجایی که پردازش های فیزیک به سرعت و قدرت بسیار بالایی نیاز دارند ، پردازنده های ویژه ایی به نام Vector برای کامپیوتر ها ساخته شد تا این پردازش ها را انجام دهند .
    تکنیک های فیزیکی که این پردازنده ها قادر به پردازش آنها بودند عبارتند از پردازش الگو های آب و هوا در هوا شناسی ها ، الگو های باد و آب برای ساخت هواپیماها و قایق ها و همچنین خنک کننده های حرارتی برای بهبود هیت سینک ها بود.

    Physics Processing Unit یا به اختصار PPU یک ریزپردازنده (Microprocessor) است که به صورت اختصاصی فقط برای رسیدگی و پردازش محاسبات فیزیک به خصوص در موتور های فیزیک برای بازی ها ساخته شده است .
    به عنوان مثال شبیه سازی های فیزیکی که یک PPU قادر به انجام آنهای می باشد عبارتند از: rigid body dynamics ، soft body dynamics ، collision detection ، fluid dynamics و شبیه سازی های مو و لباس و شکستن و تخریب اجسام و ...
    هدف اصلی از ساخت PPU این بود که بار پردازشی شبیه سازی های فیزیکی از روی دوش CPU برداشته شود و به PPU واگذار شود .

    اولین پردازنده ایی که به عنوان یک PPU ساخته شد ، توسط شرکتی به نام AGEIA ساخته شد و Physx Chip نام گرفت .
    در سال 2008 انویدیا شرکت AGEIA را خریداری کرد و طی مرور زمان قابلیت پردازش فیزیک توسط PPU و GPU ها خوده انویدیا را در سیستم هایی که GPU های AMD/ATI به عنوان GPU اصلی در حال کار بودند را برداشت .
    با انجام این کار به نظر می رسید که تکنولوجی Physx به صورت 100% در انحصار انویدیا در آمده است اما بعدآ انویدیا اعلام کرد که تکنولوجی Physx را به صورت یک استاندارد باز برای استفاده همگان در خواهد آورد .

    با گذشت زمان و پیشرفت فوق العاده GPU ها و به لطف استفاده از فناوری General-Purpose Computing on Graphic Processing Units یا به اختصار GPGPU باعث شد یک GPU بسیار مناسب تر از یک PPU برای پردازش های فیزیکی به نظر آید .

    GPGPU به واحد های پردازش گرافیکی این امکان را می دهد که بعضی از کارهایی را که فقط واحد های پردازشی مرکزی قادر به انجام آنها بودند را در اختیار بگیرند ، GPU ها به نسبت CPU ها در پردازش های گرافیکی بسیار بسیار سریع تر هستند .



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

    Game Engines

    در بسیاری از بازی های کامپیوتری ، سرعت شبیه سازی و گیم پلی به نسبت دقت شبیه سازی های فیزیکی از اهمیت بیشتری برخوردار است .
    این موضوع باعث شد که موتور های طراحی بشوند که شبیه سازی ها را به صورت Real Time انجام دهند و تنها شبیه سازی فیزیکی برخی از موارد خاص و ساده همانند دنیای واقعی انجام شود .
    برخی از موتور های بازی همانند Source از فیزیک بیشتر در شبیه سازی های پازل و یا موقیت های جنگی استفاده می شود .

    در بازی های کامپیوتری از تکنیک های مختلفی برای شبیه سازی قوانین فیزیکی حاکم بر دنیا واقعی استفاده می شود که در زیر به بررسی این تکنیک ها می پردازیم .

    به صورت کلی تمام شبیه سازی هایی فیزیکی که در حوزه ی بازی های رایانه ایی و فیلم ها و ... استفاده می شود جزء دو دسته ی اصلی شبیه سازی های Rigid Body و Soft Body است .
    در شبیه سازی های Rigid Body ممکن است که چندین شیء زیر مجموعه ی یک شیء اصلی شوند و حرکاتی که شیء اصلی انجام می دهد بر اساس زیر مجموعه های آن شیء تعیین شود ، اما در شبیه سازی Soft Body ممکن است که بر روی قسمت های مختلف یک جسم شبیه سازی ها گوناگونی انجام شود که هر قسمت آن جسم حرکات مربوط به خود را داشته باشد .

    Rigid-Body Dynamics

    تمرکز اصلی تکنیک فیزیکی Rigid Body در بازی های رایانه ایی بر روی حرکات قسمت های به هم پیوسته بدن و یا یک شیء تحت تاثیر نیرو های وارده است .
    وقتی که می گویند یک چیز Rigid است ، بدان معنی است که آن چیز تحت عمل نیروی های وارده بر آن تغییر شکل نمی دهد و از حالت اصلی خود خارج نمی شود ، به عنوان مثال تکنیک Ragdoll بر اساس این تکنیک می باشد که بعدآ به آن اشاره می شود .



    اسکلت داخلی کاراکتر به عنوان یک جسم Rigid در نظر گرفته می شود

    Soft-Body Dynamics

    تکنیک فیزیکی Soft Body همانطور که از اسمش پیداست شبیه سازی بسیار واقع گرایانه از حرکات نرم اجسام و اشیاء مختلف در حوزه ی بازی های رایانه ایی و فیلم ها است .
    بر خلاف تکنیک Rigid Body شکل اجسامی و چیز هایی که تکنیک Soft Body در آنها استفاده می شود قابل تغییر است ، این بدان معنی است که فاصله نسبی بین دو نقطه بر روی یک جسم ثابت نیست .
    دامنه یتکنیک Soft Body به نسبت تکنیک قبلی بسیار گسترده تر است که این دامنه شامل شبیه سازی قسمت های نرم از عضوی از بدن مثل ماهیچه ها و عضلات بدن ، چربی ، مو و گیاهان و ... و همچنین شبیه سازی های بعضی از اجسام دگریس پذیر مثل لباس و پارچه و ... است .
    این شبیه سازی ها چون به صورت Real Time انجام می شوند ، سعی می شود تا حدودی زیادی واقع گرایانه باشند ، بر خلاف موتور های High Precise که این شبیه سازی ها توسط آنها بسیار بسیار زیبا و کاملا واقعی انجام می شوند .

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





    Fluid Dynamics

    به صورت خلاصه از این تکنیک به صورت گسترده برای شبیه سازی سیالات ( مایعات و گازها ) استفاده می شود .

    Collision detection

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

    در اکثر بازی های رایانه ایی یکی از مشکلاتی که باعث می شود بازیکن از بازی کردن دست بکشد که اکثرآ هم با نام باگ یاد می شود همین مشکل Collision Detection است ، زمانی که به عنوان مثال در یک بازی شوتر فضایی یک شهاب سنگ به سفینه ی بازیکن برخورد می کند ، باید پس از برخورد متلاشی شود و یا سفینه را متلاشی کند ، مسلمآ در اینجور مواقع اگر شهاب سنگ از داخل سفینه رد شود بدون اینکه حتی یک خط هم به سفینه بیفتد چه حسی به بازیکن دست می دهد ؟




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


    [Only registered and activated users can see links. ]

    به طور معمول برای هر شیء سه بعدی داخل بازی دو حالت در نظر گرفته می شود ، حالت اول که شکل ظاهری شیء مورد نظر می باشد ، به عنوان مثال یک گلدان همراه با دستگیره هایش ، و حالت دوم که یک حالت نامرئی برای شناساندن شیء به موتور فیزیک می باشد که موتور فیزیک آن گلدان را به عنوان یک استوانه ی بسیار ساده شناسایی می کند.
    در این حالت غیر ممکن است که بتوان به عنوان مثال یک میله و یا یک گلوله را از بین دسته های گلدان رد کرد ، زیرا موتور فیزیک در حالت پیش فرض آن گلدان را به عنوان یک استوانه ی کاملآ ساده می شناسد و از دسته های گلدان در این حالت خبری نیست و توسط موتور شناسایی نمی شود .

    همچنین به حالت نامرئی ای که برای شناساندن یک شیء به موتور فیزیک در نظر گرفته می شود هندسه برخورد یا Collision Geometry می گویند ، این حالت نامرئی ممکن است که به شکل یک جعبه ، یک استوانه ، یک دایره و ... باشد .

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

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

    Collision Resolution/Response

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

    ضربه ی وارده به صندلی و اینکه صندلی به روی زمین بی افتد و احتمالآ مقداری بلغزد و یا از جایش جابه جا شود با قوانین فیزیک ارتباط مستقیم دارد که در این جور مواقع موتور فیزیک بازی وظیفه ی شبیه سازی فیزیکی را بر عهده دارد .

    این دسته از واکنش ها که یکی از پیچیده ترین و شایع ترین واکنش هایی است که باید در یک بازی اتفاق بی افتد Collision Response نام دارد .

    به عنوان مثال شما فرض کنید که داخل بازی دو تا توپ در حال نزدیک شدن به یکدیگر باشند ، هنگامی که این دو توپ به یکدیگر می رسند و با هم برخورد می کنند موتور فیزیک این برخورد را شناسایی می کند ، این بدان معنی است که Collision در این مرحله شناسایی شده است ، اما هنگامی که دو توپ با یکدیگر برخورد می کنند باید یکدیگر را دفع کنند و هر کدام از آنها به سمت دیگری حرکت کند که این Collision Response است .

    اگر Collision Response وجود نداشته باشد ، دو تا توپ پس از برخورد با یگدیگر بدون اینکه یکدیگر را دفع کنند به روی زمین می افتادند .
    حال اگر قانون جاذبه یا Gravity در بازی وجود داشته باشد ، دو توپ پس از برخورد با یکدیگر بر روی زمین می افتند ، اگر جاذبه وجود نداشته باشد ، توپ ها پس از برخورد به همان حالت بر روی هوا باقی می ماندند .

    تمامی این شبیه سازی های فیزیکی توسط موتور فیزیک انجام می شوند .

    Particle System

    اصطلاح سیستم ذرات یا Particle System به یک تکنیک گرافیکی در کامپیوتر اشاره دارد که در آن با استفاده از ذرات بسیار بسیار ریز برای شبیه سازی یک سری پدیده های به اصطلاح Fuzzy که با استفاده از رندر های معمولی بسیار دشوار یا غیر ممکن است استفاده می کنند به عنوان مثال آتش ، انفجار ، آب در حال حرکت ( مثل آبشار ) ، جرقه ها ، برگ های درختان ، ابر ها ، برف ، مه ، گرد و خاک ، دنباله ی حرکات شهاب سنگ ها و ستارگان و یا جلوه های بصری مثل درخشش یک مسیر از راه و ... و ... .

    این ذرات معلق یا همان Particle ها پس از استفاده به سرعت محو می شوند و دوباره به سرعت از منبعشان ساطع می گردند .

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

    به صورت معمولی به منبعی که ذرات Particle در یک محیط از آنها ساطع می شوند Emiter گفته می شود که ممکن است این منبع یک مکعب بسیار ساده غیر متحرک و یا یک هواپیمای متحرک در آسمان باشد .




    ذرات پارتیکل که از یک Emiter ساطع می شوند دارای پارامتر های مختلفی می باشند ، یکی از این پارامتر ها spawning rate ( به تعداد ذراتی که در یک بازه زمانی خاص از منبع ساطع می شوند ) است و یکی دیگر از پارامتر ها velocity vector ( جهتی که ذرات از منبع ساطع می شوند ) است و یکی دیگر از پارامتر ها particle lifetime ( مدت زمانی که طول می کشد تا هر یک از ذرات پس از ساطع شدن ناپدید شوند ) است و همچنین بسیاری از پارامتر های دیگر مثل رنگ ذرات ساطع شده و ... .

    مقداری که برای پارامتر های هر یک از Emiter ها در نظر گرفته می شود به جای یک مقدار دقیق عددی ، یک مقدار به اصطلاح Fuzzy است ، به عنوان مثال مقدار زمانی که طول می کشد تا ذرات Particle پس از ساطع شدن از منبع ناپدید شوند به جای مثلآ 1 یا 2 ثانیه ، 50 فریم و یا بیشتر است .
    هر چقدر که میزان ذرات Particle ساطع شده از Emiter ها بیشتر باشد ، رندر این ذرات نیز سخت تر می شود و اگر سخت افزاری که اقدام به رندر ذرات می کند ضعیف باشد ، افت پرفورمنس و فریم در این حالت مشاهده می شود .

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





    Brownian motion

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

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

    مثال دیگری که در این باره می شود به آن اشاره کرد ، افتادن برگ درختان می باشد و همچنین گرد و غبار هنگام تخریب یک ساختمان و یا سوختن یک تکه چوب و آتش و ... اشاره کرد .

    حرکات براونی در بین ذرات Particle ها باعث می شوند که این ذرات در هربار ساطع شدن از Emiter به صورت کاملآ تصادفی در آن محدوده ایی که برای آنها در نظر گرفته شده است به اطراف حرکت کنند که باعث می شود به عنوان مثال یک آتش همیشه به یک صورت نسوزد و یا گرد و غبار حاصل از تخریب یک ساختمان همیشه به یک شکل به هوا بلند نشود و ... .


    Ragdoll physics

    در برخی از موتور های فیزیک کامپیوتری ، فیزیکی به نام Ragdoll وجود دارد که جایگزینی برای انیمیشن های سنتی مرگ کاراکتر ها در یک بازی کامپیوتری و ... است .

    در بازی های کامپیوتری قدیمی ، زمانی که یک کاراکتر می مرد ، انیمیشنی که برای مردن این کاراکتر در نظر گرفته می شد یک حالت از قبل طراحی شده و بسیار مصنوعی بود ، اما یکی از نکات مثبت این انیمیشن های از قبل طراحی شده این بود که مقدار فشاری که به CPU برای پردازش داده های مرگ این کاراکتر وارد می شد بسیار کم بود .

    زمانی که قدرت ساخت افزار ها و CPU ها افزایش پیدا کرد ، شبیه سازی فیزیکی مرگ کاراکتر ها به صورت Real Time در مدت زمان محدودی ممکن شد .

    در این حالت برای هر کاراکتر یک اسکلت داخلی طراحی می شد که هر یک از استخوان ها بویسله ی مفصل ها به دیگر استخوان ها متصل می شد که حرکت هر یک از استخوان ها بویسله ی مفاصلی که استخوان ها را به یکدیگر متصل ساخته اند ، از یک استخوان به استخوان دیگر منتقل شود ، درست مانند استخوان های بدن یک فرد اما به صورت بسیار ساده تر .

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

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



    یک طرح بسیار ساده و اولیه از اسکلت داخلی یک کاراکتر

    اولین بازی که در آن از فیزیک Ragdoll استفاده شده بازی Jurassic Park بود که هر چند به علت باگ های متعدد و مشکلاتی که داشت مورد توجه قرار نگرفت ، اما به عنوان اولین بازی که تکنیک جدیدی از فیزیک را وارد بازی های کامپیوتری کرد جای تقدیر و تشکر دارد .

    فیزیک Ragdoll که امروزه در بازی های کامپیوتری مورد استفاده قرار می گرد ، بسیار بسیار فراتر از شبیه سازی مرگ کاراکتر ها است .
    در بازی های سبک مبارزه ایی مثل Mortal Kombat نیز از این فیزیک به صورت بسیار گسترده تری مورد استفاده قرار می گیرد ، در این حالت بازیکن کنترل یک قسمت از بدن کاراکتری که در حال مبارزه است را در دست می گیرد و بقیه قطعات بدن کاراکتر به دنبال همان قسمتی از بدن که بازیکن کنترل آن را در دست دارد حرکت می کنند .

    Projectile

    یکی دیگر از تکنیک های فیزیکی که در بازی هایی مانند Fifa مورد استفاده قرار میگرد تکنیک Projectile است که این شبیه سازی بر روی توپ فوتبال انجام می گرد که به واقع گرایانه شدن حرکات توپ از جمله میزان ضربه ی وارده به توپ و مسافتی که توپ بر اساس آن ضربه باید بپیماید و همچنین قل خوردن توپ بر روز زمین و حرکات توپ در هوا و ... بسیار کمک می کند .


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

    هر کم و کاستی که در مطلب مشاهده می کنید به بزرگی خودتان ببخشید


    کپی برداری از مطلب تنها با ذکر منبع بلامانع است .
    منبع : Overclockingheroes.com
    نویسنده : The Joker
    ویرایش توسط The Joker : 31st December 2013 در ساعت 09:16 PM


    Motherboard : ECS A785GM-AD3 Processor : AMD Athlon II X4 635
    Main Memory : 2x2GB Geil+Kingmax Graphics Card : AMD Radeon HD 7770 GHZ Edition
    Cooling : DEEPCOOL Gammaxx 300 Power Supply : Green GP580B

  2. 40 کاربر بابت این ارسال مفید از The Joker تشکر کرده اند:

    .SouSHIanT. (2nd January 2014),Agent 47 (31st December 2013),Aliover (1st January 2014),AMD Radeon (31st December 2013),AMIR_HA (31st December 2013),Artemis (31st December 2013),asdaf (1st January 2014),Blue Rose (31st December 2013),CROSSHAIR (1st January 2014),Don_Corleone (1st January 2014),ErfanDL (31st December 2013),First.Last (31st December 2013),fly (31st December 2013),frankenstein (17th January 2014),Hamidreza (2nd January 2014),KaMi (1st January 2014),kral2008 (1st January 2014),magiteq (31st December 2013),majidrad (28th May 2014),masoudps3 (26th June 2014),Mehdi_FXX (31st December 2013),met (16th May 2014),moc (1st January 2014),morteza.p (1st January 2014),Mr. DB (6th January 2014),Olesius (5th May 2014),Optimus Prime (17th May 2014),overclock990 (1st January 2014),Raiden (1st January 2014),Reza Y (1st January 2014),ROG (1st January 2014),SaeedSYS (22nd September 2014),Saeid.aZm (1st January 2014),sapple (2nd March 2014),SASANOC (6th January 2014),SETIZEN (1st January 2014),smrbh (1st January 2014),TERRORIST (31st December 2013),VFSDF (17th May 2014),XoMa (1st January 2014)



  3. #2
    کاربر اخراجی

    تاریخ عضویت
    Sep 2012
    سن
    34
    نوشته ها
    3,013
    تشکر شده 24,322 بار در 2,633 پست
    Agent 47 آنلاین نیست.
    با تشکر از محمد جواد عزیز بخاطر مطالب بسیار ارزشمند در زمینه های تکنیکی گیم ..... مطالب بسیار شیوا و کامل بودند و از خودنش بسیار لذت بردم عزیزم...
    فقط یک سوال؛ فیزیک انویدیا جزوء و شامل کدام یک از دسته های پردازشی توضیح داده شده ، میشود؟
    خسته نباشی دوست عزیزم


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply

  4. 18 کاربر بابت این ارسال مفید از Agent 47 تشکر کرده اند:

    Aliover (1st January 2014),Artemis (5th January 2014),Blue Rose (1st January 2014),Don_Corleone (1st January 2014),First.Last (31st December 2013),KaMi (1st January 2014),kral2008 (1st January 2014),magiteq (1st January 2014),Mehdi_FXX (1st January 2014),met (16th May 2014),morteza.p (1st January 2014),Raiden (1st January 2014),Reza Y (1st January 2014),ROG (1st January 2014),sapple (2nd March 2014),SETIZEN (1st January 2014),smrbh (1st January 2014),The Joker (31st December 2013)



  5. #3
    Retired assistant
    The Joker آواتار ها
    تاریخ عضویت
    Aug 2012
    محل سکونت
    مشهد
    نام واقعی
    محمد جواد
    نوشته ها
    775
    تشکر شده 7,068 بار در 737 پست
    The Joker آنلاین نیست.
    نقل قول نوشته اصلی توسط Agent 47 نمایش پست ها
    با تشکر از محمد جواد عزیز بخاطر مطالب بسیار ارزشمند در زمینه های تکنیکی گیم ..... مطالب بسیار شیوا و کامل بودند و از خودنش بسیار لذت بردم عزیزم...
    فقط یک سوال؛ فیزیک انویدیا جزوء و شامل کدام یک از دسته های پردازشی توضیح داده شده ، میشود؟
    خسته نباشی دوست عزیزم
    خواهش می کنم آقا فرشاد عزیز دل ، این چنین مطالب در مقابل دانش اعضا هیچی نیست

    فیزیک انویدیا جزو دسته ی Real Time هستش که تمرکز اصلی اون بر روی GPGPU هستش .
    فناوری GPGPU اکثرآ شبیه سازی های Rigid Body رو در بازی های رایانه ایی بر عهده می گرد و شبیه سازی های Soft Body هنوز هم روی دوش cpu هستش
    اما انویدیا تکنولوجی جدیدی به نام APEX را معرفی کرد که شبیه سازی های Soft هم توسط GPU و هسته های CUDA انجام شود که این شبیه سازی ها عبارتند از ذرات معلق ، تخریب ، شبیه سازی لباس و مو و طوفان و گیاهان و ...
    این تکنولوجی APEX هم برای اولین بار در بازی Mafia 2 مورد استفاده قرار گرفت


    Motherboard : ECS A785GM-AD3 Processor : AMD Athlon II X4 635
    Main Memory : 2x2GB Geil+Kingmax Graphics Card : AMD Radeon HD 7770 GHZ Edition
    Cooling : DEEPCOOL Gammaxx 300 Power Supply : Green GP580B

  6. 20 کاربر بابت این ارسال مفید از The Joker تشکر کرده اند:

    Agent 47 (1st January 2014),Aliover (1st January 2014),Artemis (5th January 2014),asdaf (1st January 2014),Blue Rose (1st January 2014),CROSSHAIR (1st January 2014),Don_Corleone (1st January 2014),KaMi (1st January 2014),kral2008 (1st January 2014),magiteq (1st January 2014),Mehdi_FXX (1st January 2014),morteza.p (1st January 2014),overclock990 (1st January 2014),Raiden (1st January 2014),Reza Y (1st January 2014),ROG (1st January 2014),SaeedSYS (22nd September 2014),sapple (2nd March 2014),SETIZEN (1st January 2014),smrbh (1st January 2014)



  7. #4
    Retired Moderator
    SETIZEN آواتار ها
    تاریخ عضویت
    Sep 2012
    محل سکونت
    اصفهان
    نام واقعی
    حسین
    نوشته ها
    1,128
    تشکر شده 5,030 بار در 886 پست
    SETIZEN آنلاین نیست.
    بسیار بسیار ممنون محمد جواد جان

    فوق العاده بود

    The Joker and Aliover like this.


    Motherboard : MSI Big Bang Marshal - B3 Processor : Intel Core i7 2600k
    Main Memory : G.SKILL Trident X Series 16GB (2 x 8GB) :D Graphics Card : MSI N580 GTX Lightning
    Cooling : Cooler Master V8 Power Supply : Thermaltake toughpowe 1350w
    <a href=http://och.boxup.ir/images/10685481067149458153.jpg target=_blank rel=nofollow>http://och.boxup.ir/images/10685481067149458153.jpg</a>

  8. 13 کاربر بابت این ارسال مفید از SETIZEN تشکر کرده اند:

    Agent 47 (1st January 2014),Aliover (1st January 2014),Artemis (5th January 2014),asdaf (1st January 2014),Blue Rose (1st January 2014),Don_Corleone (1st January 2014),KaMi (1st January 2014),kral2008 (1st January 2014),magiteq (1st January 2014),Mehdi_FXX (1st January 2014),morteza.p (1st January 2014),sapple (2nd March 2014),The Joker (1st January 2014)



  9. #5
    Active Member
    asdaf آواتار ها
    تاریخ عضویت
    Oct 2013
    محل سکونت
    qom
    نام واقعی
    Mohammad.Ali
    نوشته ها
    222
    تشکر شده 1,641 بار در 228 پست
    asdaf آنلاین نیست.
    البته به جز تکنولوژی انویدیا شرکت دیگری هم هست اما کمی از انویدیا پایین تر بود
    Havok که بعد از 5 سال تلاش نسخه ی جدید فیزیک خودش رو ارائه کرد (2013) که گفته کارایی دوبرابر افزایش داشته و مصرف حافظه 10 برابر کمتر شده و در پلتفرم ها کار میکنه
    [Only registered and activated users can see links. ]
    و فکر کنم دلیل اصلی برای ازاد شدن فیزیک انویدیا همین مسئله باشه
    یوبی سافت که معمولا شریک انویدیا بود توی اساسین بلک فلگ و ... از هاووک به جای انویدیا استفاده کرد
    [Only registered and activated users can see links. ]
    ویرایش توسط asdaf : 2nd January 2014 در ساعت 09:29 AM


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply

  10. 9 کاربر بابت این ارسال مفید از asdaf تشکر کرده اند:

    AMD Radeon (1st January 2014),Don_Corleone (1st January 2014),KaMi (1st January 2014),kral2008 (1st January 2014),magiteq (1st January 2014),moc (1st January 2014),morteza.p (1st January 2014),Reza Y (1st January 2014),The Joker (1st January 2014)



  11. #6
    کاربر اخراجی

    تاریخ عضویت
    Sep 2012
    سن
    34
    نوشته ها
    3,013
    تشکر شده 24,322 بار در 2,633 پست
    Agent 47 آنلاین نیست.
    نقل قول نوشته اصلی توسط asdaf نمایش پست ها
    البته به جز تکنولوژی انویدیا شرکت دیگری هم هست اما کمی از انویدیا پایین تر بود
    Havok که بعد از 5 سال تلاش نسخه ی جدید فیزیک خودش رو ارائه کرد (2013) که گفته کارایی دوبرابر افزایش داشته و مصرف حافظه 10 برابر کمتر شده و در تمام گرافیک ها کار میکنه
    و فکر کنم دلیل اصلی برای ازاد شدن فیزیک انویدیا همین مسئله باشه
    یوبی سافت که معمولا شریک انویدیا بود توی اساسین بلک فلگ و ... از هاووک به جای انویدیا استفاده کرد
    با سلام خدمت شما دوست عزیزم ، مبحث کلی این تاپیک پرداختن به فیزیک بازی هست. نه مربوط به Physx انویدیا میشود و نه به HAVOK .. برای ادامه دادن به این مبحث
    در این تاپیک ادامه مطالب خود را دنبال کنید.
    [Only registered and activated users can see links. ]

    با تشکر


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply

  12. 9 کاربر بابت این ارسال مفید از Agent 47 تشکر کرده اند:

    Aliover (1st January 2014),Artemis (5th January 2014),Don_Corleone (1st January 2014),KaMi (1st January 2014),magiteq (1st January 2014),Mehdi_FXX (1st January 2014),morteza.p (1st January 2014),Reza Y (1st January 2014),The Joker (1st January 2014)



  13. #7
    OCH Member
    KaMi آواتار ها
    تاریخ عضویت
    Jan 2013
    محل سکونت
    MaHaBaD
    نام واقعی
    KaZeM
    سن
    24
    نوشته ها
    43
    تشکر شده 114 بار در 38 پست
    KaMi آنلاین نیست.
    بسیار آموزنده...
    دستتون درد نکنه دوست خوبم


    Motherboard : BIOSTAR TA890FXE Processor : PhenomII X6 1100T
    Main Memory : Apacer2*4gig DDR3 desktop model CL1 Graphics Card : EVGA GTX570 SC HD+
    Cooling : Thermalright Archon Rev.A Power Supply : Cooler Master GX750W

  14. 7 کاربر بابت این ارسال مفید از KaMi تشکر کرده اند:

    Agent 47 (1st January 2014),Aliover (1st January 2014),Don_Corleone (1st January 2014),Mehdi_FXX (2nd January 2014),morteza.p (1st January 2014),sapple (2nd March 2014),The Joker (1st January 2014)



  15. #8
    moc
    OCH Member

    تاریخ عضویت
    Sep 2012
    نوشته ها
    239
    تشکر شده 843 بار در 229 پست
    moc آنلاین نیست.
    با این وجود کارت های AMD که GPGPU خیلی بالاتری نسبت به انودیا دارند فقط یه موتور فیزیک کم دارن وگرنه می تونستن خیلی سرتر باشن.درسته؟
    درضمن خود موتورهای بازی سازی مگر خودشون فیزیک مخصوص ندارن یا اینکه فقط از فیزیک این دو شرکت استفاده می کنن؟
    اگه از موتور خودشون استفاده می کنن پس چرا فریم گیری کرات های انویدیا تو فیزیکس بیشتره؟


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply

  16. 5 کاربر بابت این ارسال مفید از moc تشکر کرده اند:

    Aliover (1st January 2014),Mehdi_FXX (2nd January 2014),morteza.p (5th January 2014),Reza Y (1st January 2014),The Joker (1st January 2014)



  17. #9
    Retired assistant
    The Joker آواتار ها
    تاریخ عضویت
    Aug 2012
    محل سکونت
    مشهد
    نام واقعی
    محمد جواد
    نوشته ها
    775
    تشکر شده 7,068 بار در 737 پست
    The Joker آنلاین نیست.
    نقل قول نوشته اصلی توسط moc نمایش پست ها
    با این وجود کارت های AMD که GPGPU خیلی بالاتری نسبت به انودیا دارند فقط یه موتور فیزیک کم دارن وگرنه می تونستن خیلی سرتر باشن.درسته؟
    درضمن خود موتورهای بازی سازی مگر خودشون فیزیک مخصوص ندارن یا اینکه فقط از فیزیک این دو شرکت استفاده می کنن؟
    اگه از موتور خودشون استفاده می کنن پس چرا فریم گیری کرات های انویدیا تو فیزیکس بیشتره؟
    موتور های بازی سازی فیزیک ندارند( یا اگر هم دارند به نسبت فیزیک انویدیا یا Havok ضعیف تره) و برای فیزیک باید کد ها جداگانه برای موتور نوشته شود .
    به همین دلیل شرکت های بازی سازی میان و از کد های از قبل نوشته شده ی موتور هایی نظیر Physx اانویدیا یا Havok یا Bullet و یا ... استفاده می کنند .

    در حال حاظر هم تمام عناوین مشهور بازی ها موتور فیزیکیشون Havok هستش ، برای نمونه عناوینی نظیر Splinter cell-BL و Far cry 3 و BF 3-4 و ... ( بیشتر از 400 تا 500 عنوان بازی هستش )
    کارت های انویدیا هم به لطف هسته های CUDA تو بعضی از بازی ها فریم بیشتری میگیرن


    Motherboard : ECS A785GM-AD3 Processor : AMD Athlon II X4 635
    Main Memory : 2x2GB Geil+Kingmax Graphics Card : AMD Radeon HD 7770 GHZ Edition
    Cooling : DEEPCOOL Gammaxx 300 Power Supply : Green GP580B

  18. 12 کاربر بابت این ارسال مفید از The Joker تشکر کرده اند:

    Agent 47 (2nd January 2014),Aliover (1st January 2014),AMD Radeon (2nd January 2014),Artemis (1st January 2014),asdaf (2nd January 2014),magiteq (2nd January 2014),Mehdi_FXX (2nd January 2014),moc (5th January 2014),morteza.p (5th January 2014),overclock990 (2nd January 2014),Reza Y (2nd January 2014),sapple (2nd March 2014)



  19. #10
    Retired assistant

    تاریخ عضویت
    Sep 2012
    محل سکونت
    Tehran
    نام واقعی
    Reza
    سن
    23
    نوشته ها
    641
    تشکر شده 3,897 بار در 585 پست
    AMD Radeon آنلاین نیست.
    دوستان این نکته رو هم اضافه کنم که فیزیک Havok از پردازنده برای پردازش های فیزیکی استفاده می کنه ولی فیزیک انویدیا از هسته های کودا برای پردازش فیزیک استفاده می کنه.در کل فیزیک انویدیا بسیار چشم نوازتر عمل می کنه دلیلشم نوع کدهای متفاوت و استفاده از هسته های کودا به جای پردازنده اصلی هست.






    [Only registered and activated users can see links. ]








    Sent from my GT-S6310
    ویرایش توسط AMD Radeon : 2nd January 2014 در ساعت 01:01 PM
    VFSDF likes this.


    Motherboard : Asrock Z97 Pro 4 Processor : Intel® Core i7 4770K
    Main Memory : Kingston HyperX FURY 2133 2x8GB(16GB) DDR3 Graphics Card : AMD Radeon™ R9 290X
    Cooling : DeepCool ICEEDGE 300 with CFIII Thermalright Power Supply : EVGA Supernova 850G2 80Plus Gold

  20. 16 کاربر بابت این ارسال مفید از AMD Radeon تشکر کرده اند:

    Agent 47 (2nd January 2014),Artemis (5th January 2014),asdaf (2nd January 2014),Blue Rose (2nd January 2014),Hamidreza (2nd January 2014),KaMi (2nd January 2014),kral2008 (2nd January 2014),magiteq (2nd January 2014),Mehdi_FXX (2nd January 2014),moc (5th January 2014),morteza.p (5th January 2014),Reza Y (2nd January 2014),sapple (2nd March 2014),smrbh (2nd January 2014),The Joker (2nd January 2014),ـ☢Devileytion☢ـ (2nd January 2014)



صفحه 1 از 2 12 آخرینآخرین

موضوعات مشابه

  1. نمایشگاه کامپیوتر ارومیه و گردهمایی اعضا
    توسط Olesius در انجمن گردهمايى اعضا (Members gathering)
    پاسخ: 1
    آخرين نوشته: 31st October 2013, 11:27 PM
  2. رونمایی از مادربردهای z87 گیگابایت در هتل همای تهران
    توسط Behnam_2337 در انجمن اخبار و اطلاعیه های سایت
    پاسخ: 2
    آخرين نوشته: 4th July 2013, 09:43 AM
  3. گردهمایی شرکت اسوس در تهران
    توسط Mr. DB در انجمن اخبار و اطلاعیه های سایت
    پاسخ: 51
    آخرين نوشته: 15th November 2012, 09:20 AM
  4. به زودی کامپیوترهایی با سیستم عامل اندرویدی بسیار ارزان به بازار
    توسط fly در انجمن اخبار فناوری اطلاعات (IT news)
    پاسخ: 0
    آخرين نوشته: 12th October 2012, 06:23 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •