قابل توجه کاربران گرامی: تاپیک معرفی اعضاء برای آشنایی بیشتر با یکدیگر (حتما شرکت کنید) لینک
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از 11 به 12 از 12
Like Tree33Likes

موضوع: آپشن های گرافیکی چه کارهایی در بازی ها انجام می دهند ؟

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

    آپشن های گرافیکی چه کارهایی در بازی ها انجام می دهند ؟



    با سلام و درود خدمت تمام دوستان عزیز تر از جان

    همه ی ما بلا استثناء وقتی که یک بازی می گیریم و اجراش می کنیم ، اولین کاری که می کنیم وارد تنظیمات گرافیکی اون می شیم و تمام تنظیمات رو بر روی Ultra قرار میدیم و سپس شروع به بازی کردن می کنیم ، اما تا به حال شده از خودمون سوال کنیم که این همه آپشن رنگ و وارنگ که جلوی ما قرار دارند هر کدوم چه کار یا کارهایی انجام می دهند ؟
    چرا یک آپشن که فقط گزینه ی On و Off داره از یک آپشنی که درجه ی اون رو میشه از Very Low تا Ultra کم یا زیاد کرد بیشتر باعث افت پرفورمنس میشه ؟

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


    Anti-Aliasing ---AA ---

    Anti-aliasing یا به اختصار AA یکی از داغ ترین موضوعات مورد بحث در بازی های کامپیوتری در یک دهه گذشته یا بیشتر بوده است ، از آنجایی که گیمر ها همیشه به دنبال آن بوده اند که بازی های آنها از بهترین کیفیت و شارپ ترین تصاویر بهره مند باشد .
    یکی از ساده ترین و ابتدایی ترین ، اما در عین حال بی رحمانه ترین AA ها به نام Su.p.e.r Sampling که باعث افت پرفورمنس به مقدار قابل توجهی میشود تبدیل به چندین مورد های مختلف از انواع Anti-aliasing ها شده است.

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



    Anti-aliasing به طور خلاصه باعث می شود عکسی که GPU به شما به عنوان خروجی میدهد ، بدون نیاز به افزایش رزولیشن کیفیت بهتری داشته باشد که این عمل را با ترکیب لبه های تیز با استفاده از رنگ ها و کاهش خطوط نا هموار و لبه های تیز انجام میدهد .

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

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

    برای جلوگیری از بوجود آمدن این حالت و صاف کردن لبه های تیز از فرآیندی به نام نمونه گیری ( Sampling ) استفاده میشود .




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

    برای توضیحات بیشتر به تاپیک زیر مراجعه کنید
    [Only registered and activated users can see links. ]


    Anisotropic Fil.te.ring ---AF---

    به صورت بسیار ساده ، تکنیک AF کیفیت بافت ها یا همان تکسچر ها را به خصوص در مسافت های دور افزایش می دهد ، همچنین این تکنیک کیفیت بافت هایی را که بر روی سطح هایی قرار دارند که با زاویه دوربین یکی نیست ، به عنوان مثال یک خط اریب را نیز نرم می کند ، همانند کاری که تکنیک AA می کند .
    تکنیک AF از سه قسمت تشکیل شده است ، Bilinear و Trilinear و Anisotropic .




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

    ساده ترین حالت و در عین حال کم جزئیات ترین تکنیک Blinear است و در مقابل Trilinear از کیفیت کمتری برخوردار هستش و Anisotropic هم که بهترین تکنیک AF هستش .

    زمانی که یک شی و یا جسم طراحی می شود ، طراح باید برای آن جسم به عنوان مثال مثلآ یک شمشیر و یا اسلحه یک رزولیشن تعریف کند ، هر چقدر این رزولیشن بیشتر باشد ، کیفیت بافت ها و تکسچر ها بیشتر می شود ، البته دقت کنید که این رزولیشن جسم را با رزولیشن مانیتور اشتباه نکنید ، این دو با هم متفاوت هستند .
    این رزولیشن می تواند 4K یا همان 4096x4096 پیکسل باشد که کیفیت بافت ها فوق العاده چشم نواز می شوند و یا رزولیشن بسیار کیفیت پایین 64x64 پیکسل .

    خوب حالا به عنوان مثال رزولیشنی که طراح برای شمشیر در نظر می گیرد 512x512 پیکسل باشد و به طراحی شمشیر بپردازد ، حال زمانی که شما در حال بازی کردن هستید و رزولیشن مانیتور شما 1920x1080 پیکسل باشد ، اگر به آن شمشیر از نزدیک نگاه کنید ، چون رزولیشن آن از رزولیشن مانیتور شما پایین تر هستش ، میبینید که شمشیر کیفیت پایینی دارد و همینطور هر چقدر که شما از زاویه نزدیک تری به شمشیر نگاه کنید پیکسل های شمشیر بزرگتر می شوند و کیفیت بسیار پایین تر می آید .
    در اینجا تکنیک AF به کمک ما می آید و با ایجاد یک حالت Gradient بین پیکسل ها باعث می شود که کیفیت جسمی که ما در حال نگاه کردن به آن هستیم خیلی پایین نیاید و همینطور مات نشود .
    حال باز ما در قسمت بافت ها به مبحثی به نام Mipmap بر می خوریم که یک توضیح مختصری هم راجع به آن می دهیم .

    Mipmap ها در واقع مجموعه ایی از عکس های از قبل آماده شده و بهینه شده ایی هستند که یک Main Texture یا بافت اصلی را همراهی می کنند ، که باعث می شود هم سرعت رندر افزایش پیدا کند و هم میزان لبه های تیز و آرتیفکت ها کاهش پیدا کند .
    حال تکنیک Bilinear تنها بر روی یک Mipmap اثر می گذارد و با ایجاد Color Gradiant باعث افزایش کیفیت بافت ها می شود .
    اما تکنیک Trilinear بر روی چندین Mipmap اثر می گذارد که نتیجه ی آن افزایش بیشتر کیفیت بافت ها می شود .
    تکنیک Anisotropic که می توان میزان نمونه برداری را از محدوده ی 2x تا 16x برای آن تعریف کرد ، اگر بر روی 16x قرار بگیرد یعنی اینکه تعداد 16 عدد Mipmap را تحت تاثیر قرار می دهد که باعث افزایش کیفیت بافت ها به میزان بسیار قابل توجهی می شود .



    Vertical Sync ---VSync---

    تکنیک Vertical Sync که معمولآ با نام Vsync شناخته می شود هم دوست داشتنی است و هم در عین حال غیر قابل تحمل .
    به صورت بسیار ساده کار این تکنیک همگام کردن یا یکسان کردن فریمی است که بر روی مانیتور شما در حال نمایش است .

    به عنوان مثال فرض کنید که مانیتور شما Refrash Rate به میزان 60hz را ساپورت می کند ، این بدان معنی است که مانیتور شما فقط می تواند در یک ثانیه 60 فریم را نمایش دهد ، حال اگر سیستم شما بازی را با 100 فریم بر ثانیه به اجرا در آورده باشد ، مانیتور شما فقط 60 فریم از اون 100 فریم را در یک ثانیه نشان می دهد و بقیه 40 فریم رو هوا می ماند و نشان داده نمی شود ، در این حالت سیستم شما فقط زور بیخود می زند تا 100 فریم را رندر کند در حالی که شما فقط 60 فریم را میبینید .

    اگر در اینجا Vsync را روشن کنید ، میزان Refrash Rate یا فریم بازی با مانیتور شما یکسان می شود و فقط 60 فریم رندر می شود که فشار اظافی از روی سخت افزار نیز برداشته می شود .
    حال شما ممکنه که از خودتون بپرسید پس زمانی که برنامه ی های مانیتورینگ فریم در حال مانیتور کردن فریم در حین بازی هستند ، اون میزان فریم 100 یا بیشتر چیه ؟ ، در جواب باید گفت که آن میزان فقط یک عددی است که شما از فریمی که در حال حاظر رندر می شود آگاهی پیدا کنید ، در حالی که در اصل فقط 60 فریم از آن 100 فریم بر روی مانیتور شما به نمایش در می آید .

    تکنیک Vsync از پدیده ایی دیگر به نام پارگی ( Tearing ) در تصویر نیز جلوگیری می کند .
    پارگی پدیده ایی است که طی آن ممکن است در یک تصویر دو فریم در یک زمان رندر شوند و نصف تصویر یک فریم باشد و نصفه ی دیگر تصویر فریم دیگر که این عامل باعث ایجاد حالت پارگی در تصویر می شود .




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


    Tessellation

    زمانی که DirectX 11 معرفی شد ، یک ویژگی جدید هم همراه آن به نام Tessellation معرفی شد .

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

    همانطور که در بالا گفته شد ، Tessellation به معنی تکه تکه کردن یا تبدیل کردن یک چند ضلعی ( Polygon ) به قطعات کوچکتر است ، به عنوان مثال شما اگر یک مربع را بردارید و در سراسر قطر آن یک برش ایجاد کنید ، این بدان معنی است که شما این مربع را به دو تا مثلث Tessellate کردید .

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

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




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

    تکنیک Displacement Mapping همانند Tessellation از مدت های قبل وجود داشته است اما مشکلی که این وسط وجود داشت این بود که برای اینکه تکنیک Displacement Mapping عمل کند و تاثیر خود را اعمال کند ، سطحی که تسکچر بر روی آن اعمال می شود باید دارای رئوس هایی زیادی باشد ، اما با معرفی DirectX 11 کار طراح ها خیلی خیلی راحت تر شد و Tessellation و Displacement Mapping هر دو در یک ظرف قرار گرفتند .

    بازی های مشهوری نظیر Alien Vs Predator و Metro 2033 از Tessellation برای ساخت مدل ها و کاراکتر هایی زیبا و واقعی استفاده کردند .
    به تصویر زیر نگاه کنید ، در تصویر سمت چپ ابتدا مدل با چند ضلعی های بزرگ ساخته شد ، سپس در تصویر وسط Tessellation به مدل اظافه می شود که باعث صاف شدن چند ضلعی ها می شود ، سپس در آخرین قسمت در تصویر سمت راست Displacement Mapping به مدل اظافه می شود و مدل سازی کاراکتر کامل می شود و جزئیات آن نیز بسیار بالا می رود .




    Tessellation در دایرکس 11 قابلیت برنامه نویسی دارد و می تواند بسیاری از مشکلات گرافیکی را حل کند به عنوان مثال 4 عدد از قابلیت های Tessellation

    1 . Perfect Bump Mapping
    2 . Smoother Charecters
    3 . Seamless Level Of Detail
    4 . Scalable Artwork



    Bloom

    تکنیک Bloom که گاهی اوقات به آن Light Bloom و یا Glow نیز می گویند برای شبیه سازی و تولید مثل آرتیفکت هایی در بازی می باشد که هنگام تصویر برداری توسط لنز های دوربین در دنیا واقعی ایجاد می شود .

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




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

    شبیه سازی چنین آرتیفکت هایی در بازی ها برای هر چه واقعی شدن بازی باعث ایجاد شدن تکنیکی به نام Bloom شد .

    از این تکنیک برای اولین بار در بازی Ico استفاده شد و از سال 2004 به بعد به صورت بسیار گسترده ایی در اکثر بازی ها مورد استفاده قرار گرفت .
    اساس کار این تکنیک نیز دقیقآ به همان گونه ایی است که در بالا توضیح داده شد ، شبیه سازی نور و نورپردازی ، به عنوان مثال در بازی شما به یک منبع نور که مثلآ لامپ است نگاه می کنید ، اما نور آن لامپ از اطراف به اندازه ی یک متر و یا کمتر کشیده می شود که جلوه ی بسیار زیبایی به انبوه منبع های نوری که محیط بازی قرار دارند می بخشد .
    از بازی هایی که از این تکنیک Bloom در آنها به صورت بسیار گسترده ایی استفاده شد می توان به Syndicate و Mass effect اشاره کرد .





    High Dynamic Range ---HDR---

    تکنیک High Dynamic Range یا به اختصار HDR برای اولین بار توسط شخصی به نام Greg Ward در سال 1985 معرفی شد .
    قبل از اینکه به توضیح اظافه بپردازیم به تصویر زیر نگاه کنید :



    این تصویر که از درون بازی Half-Life 2 گرفته شده است در سمت چپ از تکنیک Standard Fixed-Aperture Rendering استفاده شده است و در سمت راست از تکنیک HDR Rendering .
    همانطور که مشاهده می کنید نور خورشید که بر روی زمین و درون آب منعکس شده است جزئی از تکنیک HDR است .

    یکی از اصلی ترین مزایای تکنیک HDR این است که زمانی که میزان کنتراست یک محیط به مقدار زیادی می رسد ، جزئیات صحنه و محیط توسط این تکنیک حفظ می شوند .
    بدون HDR ، محیط هایی که خیلی تاریک هستند به صورت کاملآ سیاه دیده می شوند و محیط های خیلی روشن به صورت کاملآ سفید .

    چشم انسان می تواند صحنه هایی که میزان کنتراست دینامیک آنها تا میزان 1.000.000:1 است را درک کند و ببیند که این میزان رنج کنتراست توسط عنبیه و همچنین تغییرات شیمیایی دیگری انجام می شود که به صورت آهسته این تغییرات صورت می گیرد .

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

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

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


    Ambient Occlusion ---AO ---

    تکنیک Ambient Occlusion یا به اختصار AO یکی دیگر از تکنیک های گرافیکی در است که تمرکز اصلی آن بر روی سایه ها است ، این تکنیک دارای سه شاخه ی اصلی به نام های SSAO و HBAO و HDAO است که تکنیک کاملآ شبیه به هم هستند و همشون یک کار را انجام می دهند ، اما در قسمت های بسیار جزئی با هم تفاوت دارند .


    Screen Space Ambient Occlusion ---SSAO ---

    ین تکنیک برای اولین بار توسط شخصی به نام Vladimir Kajalin ، یکی از کارکنان شرکت معظم Crytek توسعه یافت و اولین بازی ای که این تکنیک درش برای اولین بار به کار رفت Crysis بود که در سال 2007 منتشر شد .

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

    اما حالا این تکنیک را بشکافیم و به صورت دقیق تری مورد بررسی قرارش دهیم .
    تکنیک SSAO با بررسی یکی از پیکسل های آن-اسکرین ( On-Screen ) و سپس مقایسه موقعیت آن پیکسل با پیکسل های اطرافش کار می کند .
    پیکسل هایی که نزدیک یکدیگر هستند ، اما با هم همسطح نیستند برای شبیه سازی سایه نرم ، به آنها سایه اظافه می شود یا به اصطلاح آن پیکسل ها سایه دارمی شوند .




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




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

    Horizon Based Ambient Occlusion ---HBAO ---

    این تکنیک دقیقآ همان تکنیک SSAO است و همان کار ها را انجام می دهد ، اما تفاوت اصلی آن با SSAO تحت تاثیر قرار دادن تعداد بیشتری پیکسل در یک فریم است که در نتیجه سایه ها با عمق بیشتری تولید می شوند ، اما افت پرفورمنس هم بیشتر می شود .

    در واقع به صورت ساده HBAO نسخه ی قویتر SSAO است .
    اما تکنیک HBAO زیر مجموعه دیگری به نام HBAO+ دارد که بیشتر در صحنه هایی کاربرد دارد که نور خورشید به صورت مستقیم می تابد که باعث بوجود آمدن سایه هایی زیباتر می شود و ...

    High Definition Ambient Occlusion ---HDAO ---

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


    [Only registered and activated users can see links. ]

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


    Motion Blur

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




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

    مورد بعدی که این تکنیک بر روی آن تاثیر می گذارد این است .

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






    تکنیک Motion Blur به دو صورت وجود دارد ، اولین تکنیک که Full Screen Effect نام دارد و در بازی های کامپیوتری استفاده می شود و دومین تکنیک که Realistic Motion Blur نام دارد که در انیمیشن های از پیش رندر شده به کار می روند ، همانطور که از نام آنها پیداست معلوم است که کدام تکنیک زیباتر است و از دقت بیشتری برخوردار است اما ذکر این نکته ضروری است که در انیمیشن از پیش رندر شده زمانی کافی برای رندر این تکنیک وجود دارد ، اما در بازی چون همه چیز به صورت ریل تایم لود می شوند ، برای جلوگیری از افت پرفورمنس باید از تکنیک مربوط به خودش استفاده کرد تا بازی قابل بازی کردن باشد .


    Depth Of Field ---DOF ---

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





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

    در بازی های رایانه ایی نیز این تکنیک به همین صورت به کار می رود اما معمولآ در اکثر مواقع آپشنی در اختیار شخص قرار نمی گرد که میزان DOF را کم یا زیاد کند .

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

    تکنیک DOF به دو صورت وجود دارد :

    1 . Deep Focus که اگر میزان DOF در یک صحنه زیاد باشد به آن Deep Focus می گویند .
    2 . Shallow Focus که اگر میزان DOF در صحنه کم باشد به آن Shallow Focus می گویند .


    Field Of View ---FOV ---

    تکنیک FOV که در برخی از بازی ها با نام Draw Distance وجود دارد اصلآ نیاز به توضیحات اظافی و زیادی ندارد .

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




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

    همچنین تکنیک FOV در بعضی از بازی با نام Draw Distance شناسایی می شود .


    POST FX

    تکنیک Post FX مختص فقط یک آپشن خاص درون بازی نمی شود و فقط بر روی یک چیز تاثیر نمی گذارد .
    به صورت بسیار ساده کاری که این تکنیک انجام می دهد به صورت مستقیم به انجینی که بازی با آن ساخته شده است بر می گردد .
    تاثیر اصلی Post FX بر روی آپشن های Blur/Bloom/DOF و ... است و کمک می کند تا آشپن های ذکر شده از کیفیت بیشتری بر خوردار باشند و زیباتر شوند .

    در بعضی از بازی ها Post FX بر روی نورپردازی و سایه ها تاثیر مستقیم می گذارد مثل بازی Assassin's Creed و در بعضی از بازی ها نظیر Far Cry 3 بیشتر بر روی تکنیک های Bloom و Motion Blur و ... ، پس نمیشه تکنیک Post FX رو محدود به یک آشپن خاص کرد .

    نکته ی دیگر میزان کاهش پرفورمنس بازی توسط این آپشن است به عنوان مثال در بازی Far Cry 3 قرار داشتن این آشپن بر روی High یا Low باعث کاهش 15 تا 20 فریم بازی می شود .
    Post FX در بعضی از بازی فقط On و Off دارد و در بعضی از بازی میزان درجه ی تاثیر گذاری آن را می توان از High تا Low تغییر داد و میزان افت پرفورمنس هم بیشتر می شود اما واقعآ چرا فریم بازی توسط این آپشن کم می شود ؟

    در جواب باید گفت به عنوان مثال وقتی که شما Post FX را بر روی Low قرار می دهید امکان دارد که فقط تکنیک Bloom را تحت تاثیر قرار دهد ، زمانی که آن را بر روی Med قرار می دهید تکنیک Blur را نیز تحت تاثیر قرار می دهید و زمانی که آن را بر روی High را قرار می دهید ، تکنیک FXAA نیز فعال می شود ، به همین دلیل در اکثر مواقع میزان افت پرفورمنسی که آشپن Post FX ایجاد می کند خیلی زیاد است ، اگر سیستمی که بازی با آن اجرا شده است ضعیف باشد .


    Ambient Lighting

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

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

    یکی از اصلی ترین تکنیک هایی که در Cryengine وجود دارد و در همه ی بازی هایی که با این انجین هیولا ساخته شده اند همین تکنیک Ambient Lighting است .


    Subsurface Scattering

    تکنیک Subsurface Scattering یا به اختصار SSS که به آن Subsurface Light Transport یا به اختصار SSLT نیز می گویند ، تمرکز ویژه ایی بر روی نور و نور پردازی دارد .
    هنگامی که از یک منبع نور ، نور بر روی یک جسم شفاف می افتد ، تکنیک SSS در آنجا حضور دارد .

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




    تکنیک SSS برای رندر گیری متریال ها به صورت واقعی بسیار کاربرد دارد ، متریال هایی نظیر سنگ مرمر ، پوست بدن ، برگ ، چوب با متریال های انعکاسی و شفاف ، موم و .... و ....
    به تصویر زیر نگاه کنید ، تصویر سمت چپ پراکندگی سطحی مستقیم و زمانی که پراکندگی زیر سطحی ( تصویر وسط ) به آن اظافه شده است ، نتیجه ی آن تصویر سمت راست شده است که نور به زیبایی بر روی جسم پراکنده شده و منعکس شده است .




    یک مثال بسیار بسیار ساده ، دست خود را به سمت یک منبع نور قوی مثل خورشید بگیرید ، مشاهده می کنید نور از قسمت هایی از دست و پوست شما که نازک است عبور می کند و از پشت روشن می شود ، همین تکنیک Subsurface Scattering است .





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

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

    موتور های گرافیکی نظیر Cryengine پدیده ایی هستند که اگر فقط به توضیح آپشن هاو تکنیک های این موتور پرداخته شود مقاله تبدیل به طومار میشه

    امیدوارم که مورد پسند دوستان واقع شده باشه


    کپی برداری از مطلب تنها با ذکر منبع بلامانع است
    منبع : Overclockingheroes.com
    نویسنده : The Joker
    ویرایش توسط The Joker : 31st March 2014 در ساعت 11:54 PM
    Olesius, smrbh, ROULY and 11 others like this.


    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. 23 کاربر بابت این ارسال مفید از The Joker تشکر کرده اند:

    Agent 47 (31st March 2014),aliniceboy (1st April 2014),Aliover (31st March 2014),asdaf (31st March 2014),atisoc0936 (31st March 2014),Don_Corleone (31st March 2014),Emir (31st March 2014),ErfanDL (31st March 2014),Hamidreza (31st March 2014),magiteq (31st March 2014),masoudps3 (17th April 2015),Olesius (31st March 2014),Optimus Prime (1st April 2014),PeymanIrani (20th June 2017),Reza Y (1st April 2014),ROULY (31st March 2014),SaeedSYS (31st March 2014),sapple (22nd February 2015),SETIZEN (31st March 2014),smrbh (31st March 2014),TERRORIST (31st March 2014),TRIDENT (31st March 2014),ـ☢Devileytion☢ـ (31st March 2014)



  3. #11
    Moderator
    magiteq آواتار ها
    تاریخ عضویت
    Sep 2012
    محل سکونت
    تهران
    نام واقعی
    عطا
    سن
    35
    نوشته ها
    3,185
    تشکر شده 16,693 بار در 3,031 پست
    magiteq آنلاین نیست.
    نقل قول نوشته اصلی توسط Agent 47 نمایش پست ها
    دقیقا باهات موافق هستم عطا جان ، البته Adaptive همان پروسه هوشمند برای فریم دهی هست ( گاهی درست اعمال میشه گاهی خیر ) البته کاهش sttuter فقط به شرایط بستگی داره .
    جدا از این مسائل فریم ثابت بر روی 60 هیچ گاه sttuter ایجاد نمیکنه البته تا اونجایی که من تست کردم.

    فرشاد جان اگر tech demo های g-sync رو دیدی باشی میبینی در فریم 60 کاملا sttuter نشون میده البته برای شما مشخصه چون میدونی sttuter ولی برای یک کابر عادی
    قابل لمس نیست.
    یک نکته هم در مورد polygon که ذکر شده تو برسی بد نیست بدونیم: همین طور که میدونید برای افزایش حجم مدل ها و ایجاد یک مدل واقع گرایانه افزایش چند ضلعی های اجتناب ناپذیر هست. افزایش چند ضلعی ها با کاهش پرفرمنس همراهه تفاوت یک مدل با 200 هزار چند ضلعی با یک مدل دارای 1 میلیون چند ضلعی بسیار فاحش هست ولی تفاوت 1 میلیون با 1/5 چند ضلعی نه تنها دیگه چندان فاحش نیست و بلکه نیاز به پرفرمنس سخت افزاری رو هم بسیار افزایش میده در واقع افزایش polygon تا بیش از یک مقدار بر روی یک مدل بیش از اینکه مفید باشه صرفا منابع سخت افزاری رو هدر میده
    atisoc0936 likes this.


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply




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

    Agent 47 (1st April 2014),atisoc0936 (1st April 2014),SaeedSYS (1st April 2014),smrbh (1st April 2014),The Joker (31st March 2014)



  5. #12
    OCH Member

    تاریخ عضویت
    Sep 2012
    سن
    38
    نوشته ها
    272
    تشکر شده 1,534 بار در 261 پست
    ROULY آنلاین نیست.
    نقل قول نوشته اصلی توسط Agent 47 نمایش پست ها

    جدا از این مسائل فریم ثابت بر روی 60 هیچ گاه sttuter ایجاد نمیکنه البته تا اونجایی که من تست کردم.

    فرشاد جان تا اونجایی که من خودم تست کردم بین 50 تا 60 فریم بر ثانیه sttuter میشه گفت برای چشم انسان قابل تشخیص نیست اما به محض اینه فریم به محدوده 40 یا 30 فریم میرسه به یکباره احساس میکنی داری با 15 فریم بازی میکنی..البته به گمانم مانیتور خوب هم تاثیر داره در اینکه شما این مقدار رو بیشتر یا کمتر حسش کنی مثلا من قبلا یه مانیتور ips داشتم فریم که زیر 50 و 40 می اومد چشمام داشتن از حدقه در می اومدن از بس تصویر پارگی و پرش و بهتره بگم لرزش داشت علتشم زمان تاخیر بالای مانیتور بود ولی الان که یه مانیتور 1ms گرفتم احساس میکنم تصاویر برام روونترن
    atisoc0936 and Agent 47 like this.


    Motherboard : ASUS Z87 PRO Processor : Intel Core i7- 4770K
    Main Memory : GeiL Evo Potenza 16GB -2666MHZ Graphics Card : Gigabyte GeForce GTX 980Ti G1 Gaming
    Cooling Power Supply : Green GP1000B-OC

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

    Agent 47 (1st April 2014),atisoc0936 (1st April 2014),magiteq (1st April 2014),Reza Y (1st April 2014),The Joker (1st April 2014)



صفحه 2 از 2 نخستنخست 12

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

  1. آموزش از بین بردن محدودیت شناسایی رم در ویندوز های 32 بیتی
    توسط mohammad72 در انجمن ترفندها و آموزش های نرم افزاری (Tips)
    پاسخ: 7
    آخرين نوشته: 27th December 2016, 04:00 AM
  2. درخواست راهنمایی برای مغازه فروش و تعمیر قطعات کامپیوتر
    توسط Voldemort در انجمن گفت و گوی آزاد (Free Discussion)
    پاسخ: 12
    آخرين نوشته: 29th July 2014, 04:01 AM
  3. گردهمایی و ملاقات اعضا OCH در تهران
    توسط mohammad775 در انجمن گردهمايى اعضا (Members gathering)
    پاسخ: 10
    آخرين نوشته: 19th August 2013, 03:55 PM
  4. گردهمایی شرکت اسوس در تهران
    توسط Mr. DB در انجمن اخبار و اطلاعیه های سایت
    پاسخ: 51
    آخرين نوشته: 15th November 2012, 09:20 AM

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

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

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