نحوه بهینه سازی نقشه در Hammer Editor: 10 مرحله (همراه با تصاویر)

فهرست مطالب:

نحوه بهینه سازی نقشه در Hammer Editor: 10 مرحله (همراه با تصاویر)
نحوه بهینه سازی نقشه در Hammer Editor: 10 مرحله (همراه با تصاویر)
Anonim

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

مراحل

بهینه سازی نقشه در Hammer Editor مرحله 1
بهینه سازی نقشه در Hammer Editor مرحله 1

مرحله 1. اتاق ها را ببندید

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

  • در شکل 1a ، اتاق به طور واضح مهر و موم نشده است. اگر این نقشه را با آن نشت کامپایل کنید ، vvis (بخشی از کامپایل که داده های دید را تعیین می کند) قادر به تعیین مرزهای نقشه نخواهد بود ، زیرا لایه های visleave فقط در فضای سیاه خارج از نقشه ما "نشت" می کنند.
  • در شکل 1 ب ، اتاق مهر شده است و به درستی کامپایل می شود.
  • برای بررسی نشتی ها ، ابتدا مطمئن شوید حداقل یک نهاد در نقشه وجود دارد (مانند "info_player_start") ، در غیر این صورت این کار نمی کند. BSP را با فشار دادن F9 یا رفتن به File -> Run Map ذخیره و کامپایل کنید. برای "عادی" را انتخاب کنید BSP را اجرا کنید ، و "No" را برای هر دو انتخاب کنید VIS را اجرا کنید و RAD را اجرا کنید (همچنین حتماً آن را بررسی کنید "بازی را پس از کامپایل اجرا نکنید" جعبه) پس از اتمام کامپایل ، log کامپایل را ببندید و به Map -> Load Point File بروید. در صورت وجود نشتی ، از شما می خواهد عملیات را تأیید کنید (به عنوان مثال "بارگذاری فایل پیش فرض pointfile؟ [C: / Program Files / ----])" Yes "را انتخاب کنید ، و خط قرمز رنگی را مشاهده خواهید کرد از نزدیکترین نهاد* خارج از ناحیه نشت. (* به همین دلیل است که شما نیاز به یک موجودیت دارید ، چه بروس و چه نقطه در نقشه شما. با برس های جهانی یا جزئیات کار نمی کند.) نشتی را مهر و موم کنید ، دوباره کامپایل کنید BSP ، و pointfile را بارگذاری کنید. اگر همه آنها مهر و موم شده باشد ، فقط باید به یک پوشه خالی در Steam / steamapps / GAMERTAG / GAME / mapsrc پوشه همیشه قبل از انتشار نقشه برای عموم ، نشتی را بررسی کنید.
بهینه سازی نقشه در Hammer Editor مرحله 2
بهینه سازی نقشه در Hammer Editor مرحله 2

مرحله 2. با "tools/toolsnodraw" برس ایجاد کنید

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

بهینه سازی نقشه در Hammer Editor مرحله 3
بهینه سازی نقشه در Hammer Editor مرحله 3

مرحله 3. تعداد برس ها و صورت ها را کاهش دهید

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

در شکل 3a ، دو برس وجود دارد: یکی در سمت چپ با استفاده از ابزار Arch ایجاد شده است که یک برس 8 طرفه با 40 صورت ایجاد کرده است ، و یکی در سمت راست از یک قلم موی بریده شده تنها با 11 صورت ساخته شده است. دومی با استفاده از Clipping Tool (Shift + X) به دست آمد. برای دستیابی به مورد دوم ، توصیه می شود ابتدا برای مرجع شکل هندسی مورد نظر را از ابزار Arch ایجاد کنید. سپس ، یک برس با طول ، عرض و ارتفاع مشابه قوس مرجع ایجاد کرده و آن را کمی بالاتر از مرجع قرار دهید. قلم مو را انتخاب کرده و زاویه ها را ببرید. (ممکن است لازم باشد اندازه شبکه را تغییر دهید ("-" برای کاهش ، " +" برای افزایش) و/یا به صورت دستی رئوس (Shift + V) قوس مرجع را حرکت دهید تا به نزدیکترین نقطه شبکه محکم شود.) یک برس هندسی یکسان ، اما فقط با چهره های کمتر

بهینه سازی نقشه در Hammer Editor مرحله 4
بهینه سازی نقشه در Hammer Editor مرحله 4

مرحله 4. از برس های جزئیات به خوبی استفاده کنید

برس های جهانی دید را مسدود می کنند ، نقشه را مهر می کنند و BSP را به "برگ" تقسیم می کنند ، که اساساً روش کامپایلر برای تعیین مواردی است که در هر زمان و مکان مشخص دیده می شود یا نمی شود. برس های دقیق طوری طراحی شده اند که اساساً برای کامپایلر "نامرئی" باشند. تنها برس هایی که باید برس های جهانی باشند دیوارها ، کف و سقف یک اتاق هستند. تقریباً هر چیز دیگری در اتاق که یک نهاد فعال نیست و دید بازیکن را به طور قابل توجهی مسدود نمی کند ، باید به یک قلم مو func_detail (با استفاده از Ctrl + T) ببندید. از آنجا که برس های جزئی دید را مسدود نمی کنند ، در آن کامپایل نمی شوند vvis محاسبه می شود و نقشه را به قسمت های دیدنی بیشتر تقسیم نمی کند (که در بیشتر موارد خوب است). هر چند هشدار دهید که روی نقشه نیز مهر نمی زند. فقط اطمینان حاصل کنید که تمام برس های جهان نقشه را مهر می زنند و هیچ مشکلی وجود ندارد.

بهینه سازی نقشه در Hammer Editor مرحله 5
بهینه سازی نقشه در Hammer Editor مرحله 5

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

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

بهینه سازی نقشه در Hammer Editor مرحله 6
بهینه سازی نقشه در Hammer Editor مرحله 6

مرحله 6. از مسدود کننده ها (کم) استفاده کنید

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

بهینه سازی نقشه در Hammer Editor مرحله 7
بهینه سازی نقشه در Hammer Editor مرحله 7

مرحله 7. جعبه های Sky 3D را اضافه کنید

کاملاً ضروری نیست ، اما به شما کمک می کند نقشه را بدون کاهش شدید FPS (فریم بر ثانیه) بسیار بزرگتر نشان دهید. اسکای باکس های سه بعدی معمولاً برای نقشه های "بزرگ" در فضای باز ساخته می شوند ، اما اگر می توانید نمای بیرونی را از پنجره یا چیز دیگری مشاهده کنید ، می توانید آن را برای نقشه داخلی تهیه کنید. ارائه اسکای باکس های سه بعدی بسیار ارزان است و می تواند باعث ایجاد یک نقشه کوچک تا 16 برابر بزرگتر شود زیرا اسکای باکس های سه بعدی در مقیاس 1/16 در Hammer تنظیم شده و سپس در هنگام کامپایل مقیاس بندی می شوند.

بهینه سازی نقشه در Hammer Editor مرحله 8
بهینه سازی نقشه در Hammer Editor مرحله 8

مرحله 8. مه اضافه کنید

در نقشه های بزرگ فضای باز ، مه می تواند میزان جزئیات ارائه شده را محدود کند و می تواند نقشه شما را در این روند واقعی تر نشان دهد. به سادگی یک نهاد env_fog_controller را در نقشه خود اضافه کنید. در گزینه "فعال کردن مه" در ویژگی های شی برگه را انتخاب کنید "بله". بعد ، ویرایش کنید Far Z Clip Plane به دلخواه شما ، که تمام برس ها را بعد از این فاصله برداشته و موتور را از بین می برد و اجسام غیر ضروری را از بین می برد (The Far Z Clip Plane مقدار باید بیشتر از پایان مه ارزش).

بهینه سازی نقشه در Hammer Editor مرحله 9
بهینه سازی نقشه در Hammer Editor مرحله 9

مرحله 9. در مقیاس Lightmap دیوانه نشوید

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

بهینه سازی نقشه در Hammer Editor مرحله 10
بهینه سازی نقشه در Hammer Editor مرحله 10

مرحله 10. اگر نقشه شما دارای آب است ، یک موجودیت "water_lod_control" را در نقشه قرار دهید

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

نکات

  • جابجایی ها دید را مسدود نمی کنند ، بنابراین برای اطمینان از مهر بودن نقشه ، یک براش جهانی با آن ایجاد کنید ابزارها/ابزارها بافت زیر جابجایی را انجام دهید و نقشه را با آن ببندید (یعنی گوشه های قلم مو گوشه های آسمان را لمس کنید). مانند مرحله اول ، همیشه از مهر و موم بودن نقشه اطمینان حاصل کنید ، در غیر این صورت تقریباً هر تکنیک بهینه سازی که ذکر شد از پنجره به بیرون پرتاب شده و به خلاء سیاه موتور منبع وارد می شود.
  • هنگام ایجاد پرتال های منطقه (با ایجاد یک قلم مو با بافت با ابزارها/ابزارها پورتال و اتصال آن به func_areaportal) ، بسیار مهم است که کناره های یک پورتال منطقه ای که از طریق آن مشاهده نمی شود ، برس های جهانی را لمس کند. به عنوان مثال ، اگر می خواهید یک منطقه محلی را در یک درگاه قرار دهید ، اما آن ورودی دارای یک قاب است که به func_detail گره خورده است ، می توانید نه قلم مو منطقه ای را لمس کنید تا درب به دلیل func_detail باشد (و از آنجا که برس های func_detail بر دید تأثیر نمی گذارد ، گزارش کامپایل با نشتی باز می گردد). در عوض ، برس برس منطقه باید دیوارها ، سقف و کف در را لمس کند (که همه باید برس های جهانی باشند) و چارچوب در را قطع کند. نگران نباشید که ممکن است در اطراف درب "z-clipping" وجود داشته باشد. فریم هنوز در بازی به درستی نمایش داده می شود. به به این به سادگی در ویرایشگر Hammer وجود دارد تا کامپایلر در حین استفاده از آن استفاده کند vvis.
  • در این مقاله فرض می شود که شما از رابط کاربری Hammer Editor (ایجاد قلم مو ، قرار دادن موجودیت ها ، پیوند دادن موجودیت ها و غیره) اطلاعات اولیه دارید.
  • هنگام ایجاد قلم موهای اشاره ، فقط صورتها را به عنوان سطوح راهنما (صورتهایی که BSP را تقسیم می کنند) با ابزار/نشان ابزار بافت روی هر قلم موی صورت بافت بزنید و مانند یک صفحه اشاره با آن عمل نکنید tools/toolsskip ، در غیر این صورت شما بیش از آنچه که می خواهید برگ های چروکنده ایجاد می کنید.
  • شما می توانید حالت باز/بسته یک پورتال منطقه را به یک درب کار مانند func_door ، func_door_rotating یا یک موجود مشابه مرتبط کنید. برای انجام این کار ، دری که می خواهید سایت منطقه به آن پیوند داشته باشد به یک "نام" منحصر به فرد نیاز دارد. (نام را با دوبار کلیک بر روی درب باز کنید تا در آن باز شود ویژگی های شی پنجره را باز کرده و نام ساده ای در زیر قرار دهید نام در برگه اطلاعات کلاس.) هنگامی که نام درب را دارید ، به بخش منطقه ای بروید ویژگی های شی و به پایین "نام درب پیوند خورده" بروید و دری را که می خواهید پورتال منطقه را به آن پیوند دهید انتخاب کنید. همچنین (و این بسیار مهم است) باید تنظیم کنید حالت اولیه از منطقه مهم به حالت اولیه از درب این کار این است که اطمینان حاصل شود که وقتی در بسته می شود ، منطقه محلی با آن بسته می شود. اگر کنجکاو هستید که ایالت های منطقه ای باز/بسته دقیقاً چه چیزی را تعیین می کند ، اگر یک ناحیه پورتال باز است ، تمام visleave هایی که از طرف دیگر پورتال منطقه قابل مشاهده هستند ارائه می شوند. در مقابل ، اگر منطقه ناحیه بسته شود ، هیچ چیزی فراتر از منطقه ارائه نمی شود. بنابراین اگر راهروی باز وجود داشته باشد که همیشه بتوانید از آن دیدن کنید ، حالت اولیه از areaportal باید روی Open تنظیم شود ، نه بسته. و وقتی به در متصل می شوید ، به هر حال قادر نخواهید بود از در خارج دیدن کنید ، بنابراین در صورت بسته شدن درب آن را روی Closed قرار دهید (مگر اینکه پنجره ای شفاف داشته باشد ، سپس باید منطقه اصلی را روی Open و don قرار دهید) حتی به خود زحمت ندهید که آن را به در وصل کنید).

هشدارها

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

توصیه شده: