هندسه

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

بخش‌هایی از این مقاله بر اساس آثار ارائه‌شده و دارای حق چاپ توسط Arm Limited است.

تعریف هندسه

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

شکل 1. رئوس، لبه ها و مثلث های یک مکعب.

هندسه از بخش های زیر ساخته شده است:

  • رئوس: اسم جمع راس. این نقاط ساختار یک شی را در فضای سه بعدی تعریف می کنند.

  • لبه ها: دو راس که با یک خط مستقیم به هم متصل شده اند.

  • مثلث: سه راس که توسط سه یال به یکدیگر متصل شده اند، یک مثلث ایجاد می کنند. گاهی اوقات به این چند ضلعی یا صورت نیز گفته می شود. در نرم افزارهای سه بعدی مانند 3ds Max، Maya یا Blender، معمولاً با quads کار می کنید. Quad ها یک چند ضلعی چهار وجهی هستند و اصلاح و کار با آنها آسان تر است. هنگامی که رندر می شوند، این چند ضلعی ها به صورت مثلث روی صفحه نمایش داده می شوند.

برای آشنایی بیشتر با هندسه از بخش های زیر استفاده کنید:

استفاده از مثلث و چند ضلعی

این بخش بهترین روش ها را برای استفاده از مثلث ها و چندضلعی ها بیان می کند. این شامل توصیه های زیر است:

تعداد مثلث ها را کاهش دهید

اگر مثلث های زیادی را وارد کنید، عملکرد بازی آسیب می بیند.

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

تصویر زیر نشان می دهد که می توانید کیفیت را با مثلث های کمتر حفظ کنید:

جسم سمت چپ دارای 584 مثلث است در حالی که جسم سمت راست دارای 704 مثلث است.

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

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

دلیل این محدودیت این است که همه پردازنده‌های گرافیکی فقط از شاخص‌های 16 بیتی پشتیبانی می‌کنند که می‌توانند محدوده‌ای از 0 تا 65535 راس را نشان دهند. بیشتر، اما نه همه، پردازنده‌های گرافیکی مدرن از شاخص‌های 32 بیتی پشتیبانی می‌کنند که محدوده‌ای از 0 تا 4،294،967،295 راس را نشان می‌دهند. اگر هنگام استفاده از شاخص های 16 بیتی از محدوده پشتیبانی شده فراتر بروید، هندسه از دست رفته یا نادرست ارائه می شود.

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

توصیه می کنیم از مثلث های بیشتر در اشیاء پیش زمینه و کمتر در اشیاء پس زمینه استفاده کنید. این برای بازی هایی با دید دوربین ثابت (POV) سودمندتر است. مثال زیر استفاده مناسب از جزئیات را در اشیاء مختلف نشان می دهد.

جزئیات در اشیاء پیش زمینه با مثلث ایجاد می شود. جزئیات پس زمینه در سطوح صاف پخته می شوند.

شکل 3. این مثال سطح بالایی از جزئیات را در اشیاء پیش زمینه در مقایسه با اشیاء پس زمینه نشان می دهد.

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

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

شکل 4. مقایسه تعداد مثلث برای دو مورد استفاده متفاوت. در سمت چپ، ربات CircuitVR دارای 11000 مثلث است. در سمت راست، سرباز ارتش دارای 360 مثلث است.

مثال استفاده از مثلث

شکل زیر نمونه ای از مثلث های مورد استفاده در نسخه نمایشی فناوری ارتش است.

در نسخه ی نمایشی Armies، که یک نسخه ی نمایشی فناوری موبایل 64 بیتی است که در Unity ساخته شده است، دوربین با بسیاری از شخصیت های متحرک ثابت است. در مجموع، هر فریم حدود 210000 مثلث را ارائه می دهد. این شمارش مثلث باعث می‌شود نسخه نمایشی با سرعت تقریباً 30 فریم در ثانیه (FPS) به طور پایدار اجرا شود.

شکل 5. رندر نمونه ای از نسخه ی نمایشی فناوری The Armies که تعداد مثلث های استفاده شده را نشان می دهد.

بزرگترین اشیاء در صحنه، برج های توپ، تقریباً 3000 مثلث هستند زیرا بخش بزرگی از صفحه را اشغال می کنند.

کاراکترها تقریباً از 360 مثلث استفاده می کنند. از آنجایی که تعداد آنها بسیار زیاد است و فقط از دور دیده می شوند، از مثلث های زیادی استفاده نمی کنند. از دوربین POV، آنها مناسب به نظر می رسند.

شکل 6. نمایی از سربازان مثلث پایین در دموی فناوری ارتش.

از مثلث ها در قسمت های مهم استفاده کنید

Vertices در سیستم عامل های تلفن همراه بسیار گران هستند. برای جلوگیری از اتلاف بودجه پردازش خود، رئوس را در قسمت هایی قرار دهید که به کیفیت بصری بازی کمک می کند. ممکن است جزئیات کوچک روی یک شی 3 بعدی در صفحه نهایی بازی قابل مشاهده نباشد. به دلیل اندازه کوچک صفحه نمایش و قرارگیری اشیاء سه بعدی، دیدن جزئیات کوچک ممکن است غیرممکن باشد.

به جای جزئیات ظریف، روی اشکال بزرگی که به شکل ظاهری کمک می کنند تمرکز کنید. تصویر زیر نمونه ای از فوکوس روی سیلوئت است:

شکل 7. خط قرمز اطراف ربات نمایانگر شبح آنهاست.

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

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

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

شکل 8. مقایسه یک مدل با و بدون یک نقشه معمولی اعمال شده.

مثلث های کوچک را حذف کنید

مثلث های ریز مثلث های بسیار کوچکی هستند که به جلوه های بصری نهایی یک صحنه کمکی نمی کنند.

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

مثلث های کوچک توسط دو چیز ایجاد می شوند:

  • جزئیاتی که خیلی کوچک هستند و از مثلث های زیادی تشکیل شده اند.
  • اجسام دورتر از دوربین با مثلث های زیاد.

شکل 9. اثر فاصله بر مثلث های کوچک.

در شکل 9، ربات پیش زمینه دارای مثلث های کوچک نیست. ربات پس زمینه این کار را انجام می دهد زیرا اندازه هر مثلث فقط 1 تا 10 پیکسل است.

شکل 10. مقایسه ریز مثلث ها در مدل های با جزئیات بالا. بیشتر مثلث های موجود در ناحیه برجسته شده برای دیدن روی صفحه نمایش گوشی بسیار کوچک هستند.

برای شیئی که دورتر از دوربین است، از سطح جزئیات (LOD) استفاده کنید. این امر پیچیدگی یک شی را کاهش می دهد و آن را ساده تر می کند. نتیجه یک جسم کم تراکم با مثلث است.

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

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

از مثلث های بلند و نازک خودداری کنید

اینها مثلث هایی هستند که وقتی در تصویر نهایی رندر می شوند، در یک بعد کوچکتر از 10 پیکسل هستند و در سراسر صفحه نمایش می شوند. پردازش مثلث‌های بلند و نازک معمولاً گران‌تر از مثلث‌های دیگر است.

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

شکل 11. اریب روی ستون یک مثلث بلند و نازک است.

توصیه می کنیم در صورت امکان مثلث های بلند و نازک را از همه اشیاء جدا کنید.

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

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

سطح جزئیات

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

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

در سمت چپ، رباتی با بیشترین جزئیات و بیشترین تعداد مثلث وجود دارد. در سمت راست، ربات دورتر است، جزئیات کمتری دارد و از مثلث های کمتری استفاده می کند.

شکل 12. مقایسه تعداد رئوس مورد استفاده به عنوان تغییر LOD.

در شکل 12، دیدن تفاوت بین یک جسم که از 200 مثلث یا 2000 مثلث در فاصله تشکیل شده است، دشوار است. یک شی با مثلث های بیشتر هزینه منابع زیادی را اضافه می کند، اما وقتی از فاصله دور دیده می شود، ظاهر را بهبود نمی بخشد.

شکل 13. مقایسه مدل های دور با تعداد مثلث های مختلف.

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

ما LOD را برای هیچ بازی ای که دوربین و اشیاء ثابت هستند توصیه نمی کنیم. بزرگترین مزیت LOD برای اجسامی است که به سمت دوربین حرکت می کنند و از آن دور می شوند. اجسام ساکن حرکت نمی کنند، بنابراین هیچ فایده ای برای LOD وجود ندارد.

شکل 14. یک صحنه دوربین ایستا از نسخه نمایشی فناوری ارتش که از LOD استفاده نمی کند.

نسبت های LOD

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

از LOD روی اشیاء ساده استفاده نکنید. اشیایی که از قبل تعداد مثلث کم دارند از LOD بهره نمی برند. مثال زیر از نسخه ی نمایشی فناوری The Armies نشان می دهد که بازی با یک تصویر ثابت و اشیاء مثلث پایین چگونه به نظر می رسد.

شکل 15. مقایسه بین مدل ها با کاهش LOD.

بررسی کنید که سطوح LOD در فواصل مناسب از دوربین تغییر کند. تحلیل خود را بر اساس نحوه استفاده از آنها در بازی قرار دهید.

شکل 16. مقایسه ظاهر مدل LOD 3 از نزدیک و در فاصله مورد نظر.

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

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

دو راه برای ایجاد مش های LOD وجود دارد: دستی و خودکار.

  • شما می توانید به صورت دستی مش های LOD را با هر نرم افزار سه بعدی ایجاد کنید.
    • برای انجام این کار، حلقه های لبه را حذف کنید یا تعداد رئوس روی شی 3 بعدی را کاهش دهید.
    • این به هنرمند بیشترین کنترل را بر محصول نهایی می دهد، اما ممکن است زمان بیشتری طول بکشد.
  • مش های LOD را می توان به طور خودکار ایجاد کرد.
    • شما می توانید از یک اصلاح کننده در داخل یک بسته سه بعدی مانند ProOptimizer در 3ds Max یا Generate LOD Meshes در Maya استفاده کنید.
    • می توانید از نرم افزارهای تولید LOD مانند Simplygon یا InstaLOD استفاده کنید.
    • برخی از موتورهای بازی دارای ویژگی تولید خودکار LOD هستند که به شما امکان می دهد مش های LOD را ایجاد و اعمال کنید.

بهترین شیوه ها

تکنیک های اضافی برای کاهش منابع مورد نیاز برای بازی شما وجود دارد که همچنین وفاداری گرافیکی را حفظ می کند.

گروه های صاف یا نرمال های راس سفارشی

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

نمونه ای از گروه هموارسازی. در سمت چپ، ربات دارای یک گروه هموارسازی است.

شکل 17. مقایسه مدل با و بدون گروه هموارسازی.

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

توپولوژی مش

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

شکل 18. توپولوژی، وایرفریم و نسخه نهایی یک سنگ از نسخه ی نمایشی فناوری ارتش.

اغراق شکل

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

برای مثال، می‌توانید شخصیت‌هایی را با دست‌های بزرگ‌تر بسازید تا راحت‌تر دیده شوند.

شکل 19. مدل نمونه ای که نسبت های اغراق آمیز را برای دید بهتر نشان می دهد.

،

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

بخش‌هایی از این مقاله بر اساس آثار ارائه‌شده و دارای حق چاپ توسط Arm Limited است.

تعریف هندسه

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

شکل 1. رئوس، لبه ها و مثلث های یک مکعب.

هندسه از بخش های زیر ساخته شده است:

  • رئوس: اسم جمع راس. این نقاط ساختار یک شی را در فضای سه بعدی تعریف می کنند.

  • لبه ها: دو راس که با یک خط مستقیم به هم متصل شده اند.

  • مثلث: سه راس که توسط سه یال به یکدیگر متصل شده اند، یک مثلث ایجاد می کنند. گاهی اوقات به این چند ضلعی یا صورت نیز گفته می شود. در نرم افزارهای سه بعدی مانند 3ds Max، Maya یا Blender، معمولاً با quads کار می کنید. Quad ها یک چند ضلعی چهار وجهی هستند و اصلاح و کار با آنها آسان تر است. هنگامی که رندر می شوند، این چند ضلعی ها به صورت مثلث روی صفحه نمایش داده می شوند.

برای آشنایی بیشتر با هندسه از بخش های زیر استفاده کنید:

استفاده از مثلث و چند ضلعی

این بخش بهترین روش ها را برای استفاده از مثلث ها و چندضلعی ها بیان می کند. این شامل توصیه های زیر است:

تعداد مثلث ها را کاهش دهید

اگر مثلث های زیادی را وارد کنید، عملکرد بازی آسیب می بیند.

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

تصویر زیر نشان می دهد که می توانید کیفیت را با مثلث های کمتر حفظ کنید:

جسم سمت چپ دارای 584 مثلث است در حالی که جسم سمت راست دارای 704 مثلث است.

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

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

دلیل این محدودیت این است که همه پردازنده‌های گرافیکی فقط از شاخص‌های 16 بیتی پشتیبانی می‌کنند که می‌توانند محدوده‌ای از 0 تا 65535 راس را نشان دهند. بیشتر، اما نه همه، پردازنده‌های گرافیکی مدرن از شاخص‌های 32 بیتی پشتیبانی می‌کنند که محدوده‌ای از 0 تا 4،294،967،295 راس را نشان می‌دهند. اگر هنگام استفاده از شاخص های 16 بیتی از محدوده پشتیبانی شده فراتر بروید، هندسه از دست رفته یا نادرست ارائه می شود.

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

توصیه می کنیم از مثلث های بیشتر در اشیاء پیش زمینه و کمتر در اشیاء پس زمینه استفاده کنید. این برای بازی هایی با دید دوربین ثابت (POV) سودمندتر است. مثال زیر استفاده مناسب از جزئیات را در اشیاء مختلف نشان می دهد.

جزئیات در اشیاء پیش زمینه با مثلث ایجاد می شود. جزئیات پس زمینه در سطوح صاف پخته می شوند.

شکل 3. این مثال سطح بالایی از جزئیات را در اشیاء پیش زمینه در مقایسه با اشیاء پس زمینه نشان می دهد.

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

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

شکل 4. مقایسه تعداد مثلث برای دو مورد استفاده متفاوت. در سمت چپ، ربات CircuitVR دارای 11000 مثلث است. در سمت راست، سرباز ارتش دارای 360 مثلث است.

مثال استفاده از مثلث

شکل زیر نمونه ای از مثلث های مورد استفاده در نسخه نمایشی فناوری ارتش است.

در نسخه ی نمایشی Armies، که یک نسخه ی نمایشی فناوری موبایل 64 بیتی است که در Unity ساخته شده است، دوربین با بسیاری از شخصیت های متحرک ثابت است. در مجموع، هر فریم حدود 210000 مثلث را ارائه می دهد. این شمارش مثلث باعث می‌شود نسخه نمایشی با سرعت تقریباً 30 فریم در ثانیه (FPS) به طور پایدار اجرا شود.

شکل 5. رندر نمونه ای از نسخه ی نمایشی فناوری The Armies که تعداد مثلث های استفاده شده را نشان می دهد.

بزرگترین اشیاء در صحنه، برج های توپ، تقریباً 3000 مثلث هستند زیرا بخش بزرگی از صفحه را اشغال می کنند.

کاراکترها تقریباً از 360 مثلث استفاده می کنند. از آنجایی که تعداد آنها بسیار زیاد است و فقط از دور دیده می شوند، از مثلث های زیادی استفاده نمی کنند. از دوربین POV، آنها مناسب به نظر می رسند.

شکل 6. نمایی از سربازان مثلث پایین در دموی فناوری ارتش.

از مثلث ها در قسمت های مهم استفاده کنید

Vertices در سیستم عامل های تلفن همراه بسیار گران هستند. برای جلوگیری از اتلاف بودجه پردازش خود، رئوس را در قسمت هایی قرار دهید که به کیفیت بصری بازی کمک می کند. ممکن است جزئیات کوچک روی یک شی 3 بعدی در صفحه نهایی بازی قابل مشاهده نباشد. به دلیل اندازه کوچک صفحه نمایش و قرارگیری اشیاء سه بعدی، دیدن جزئیات کوچک ممکن است غیرممکن باشد.

به جای جزئیات ظریف، روی اشکال بزرگی که به شکل ظاهری کمک می کنند تمرکز کنید. تصویر زیر نمونه ای از فوکوس روی سیلوئت است:

شکل 7. خط قرمز اطراف ربات نمایانگر شبح آنهاست.

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

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

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

شکل 8. مقایسه یک مدل با و بدون یک نقشه معمولی اعمال شده.

مثلث های کوچک را حذف کنید

مثلث های ریز مثلث های بسیار کوچکی هستند که به جلوه های بصری نهایی یک صحنه کمکی نمی کنند.

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

مثلث های کوچک توسط دو چیز ایجاد می شوند:

  • جزئیاتی که خیلی کوچک هستند و از مثلث های زیادی تشکیل شده اند.
  • اجسام دورتر از دوربین با مثلث های زیاد.

شکل 9. اثر فاصله بر مثلث های کوچک.

در شکل 9، ربات پیش زمینه دارای مثلث های کوچک نیست. ربات پس زمینه این کار را انجام می دهد زیرا اندازه هر مثلث فقط 1 تا 10 پیکسل است.

شکل 10. مقایسه ریز مثلث ها در مدل های با جزئیات بالا. بیشتر مثلث های موجود در ناحیه برجسته شده برای دیدن روی صفحه نمایش گوشی بسیار کوچک هستند.

برای شیئی که دورتر از دوربین است، از سطح جزئیات (LOD) استفاده کنید. این امر پیچیدگی یک شی را کاهش می دهد و آن را ساده تر می کند. نتیجه یک جسم کم تراکم با مثلث است.

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

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

از مثلث های بلند و نازک خودداری کنید

اینها مثلث هایی هستند که وقتی در تصویر نهایی رندر می شوند، در یک بعد کوچکتر از 10 پیکسل هستند و در سراسر صفحه نمایش می شوند. پردازش مثلث‌های بلند و نازک معمولاً گران‌تر از مثلث‌های دیگر است.

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

شکل 11. اریب روی ستون یک مثلث بلند و نازک است.

توصیه می کنیم در صورت امکان مثلث های بلند و نازک را از همه اشیاء جدا کنید.

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

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

سطح جزئیات

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

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

در سمت چپ، رباتی با بیشترین جزئیات و بیشترین تعداد مثلث وجود دارد. در سمت راست، ربات دورتر است، جزئیات کمتری دارد و از مثلث های کمتری استفاده می کند.

شکل 12. مقایسه تعداد رئوس مورد استفاده به عنوان تغییر LOD.

در شکل 12، دیدن تفاوت بین همان جسمی که از 200 مثلث یا 2000 مثلث در فاصله تشکیل شده است، دشوار است. یک شی با مثلث های بیشتر هزینه منابع بالایی را اضافه می کند اما وقتی از فاصله دور دیده می شود ظاهر را بهبود نمی بخشد.

شکل 13. مقایسه مدل های دور با تعداد مثلث های مختلف.

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

ما LOD را برای هیچ بازی ای که دوربین و اشیاء ثابت هستند توصیه نمی کنیم. بزرگترین مزیت LOD برای اشیایی است که به سمت دوربین حرکت می کنند و از آن دور می شوند. اجسام ساکن حرکت نمی کنند، بنابراین هیچ فایده ای برای LOD وجود ندارد.

شکل 14. یک صحنه دوربین ایستا از نسخه نمایشی فناوری ارتش که از LOD استفاده نمی کند.

نسبت های LOD

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

از LOD روی اشیاء ساده استفاده نکنید. اشیایی که از قبل تعداد مثلث کم دارند از LOD بهره نمی برند. مثال زیر از نسخه ی نمایشی فناوری The Armies نشان می دهد که بازی با یک تصویر ثابت و اشیاء مثلث پایین چگونه به نظر می رسد.

شکل 15. مقایسه بین مدل ها با کاهش LOD.

بررسی کنید که سطوح LOD در فواصل مناسب از دوربین تغییر کند. تحلیل خود را بر اساس نحوه استفاده از آنها در بازی قرار دهید.

شکل 16. مقایسه ظاهر مدل LOD 3 از نزدیک و در فاصله مورد نظر.

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

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

دو راه برای ایجاد مش های LOD وجود دارد: دستی و خودکار.

  • شما می توانید به صورت دستی مش های LOD را با هر نرم افزار سه بعدی ایجاد کنید.
    • برای انجام این کار، حلقه های لبه را حذف کنید یا تعداد رئوس روی شی 3 بعدی را کاهش دهید.
    • این به هنرمند بیشترین کنترل را بر محصول نهایی می دهد، اما ممکن است زمان بیشتری طول بکشد.
  • مش های LOD را می توان به طور خودکار ایجاد کرد.
    • شما می توانید از یک اصلاح کننده در داخل یک بسته سه بعدی مانند ProOptimizer در 3ds Max یا Generate LOD Meshes در Maya استفاده کنید.
    • می توانید از نرم افزارهای تولید LOD مانند Simplygon یا InstaLOD استفاده کنید.
    • برخی از موتورهای بازی دارای ویژگی تولید خودکار LOD هستند که به شما امکان می دهد مش های LOD را ایجاد و اعمال کنید.

بهترین شیوه ها

تکنیک های اضافی برای کاهش منابع مورد نیاز برای بازی شما وجود دارد که همچنین وفاداری گرافیکی را حفظ می کند.

گروه های صاف یا نرمال های راس سفارشی

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

نمونه ای از گروه هموارسازی. در سمت چپ، ربات دارای یک گروه هموارسازی است.

شکل 17. مقایسه مدل با و بدون گروه هموارسازی.

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

توپولوژی مش

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

شکل 18. توپولوژی، وایرفریم و نسخه نهایی یک سنگ از نسخه ی نمایشی فناوری ارتش.

اغراق شکل

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

برای مثال، می‌توانید شخصیت‌هایی را با دست‌های بزرگ‌تر بسازید تا راحت‌تر دیده شوند.

شکل 19. مدل نمونه ای که نسبت های اغراق آمیز را برای دید بهتر نشان می دهد.