оптимізація карти
матеріали
4 роки тому
У цій статті ми дізнаємося, якими способами можна оптимізувати карту і докладніше дізнаємося про оптимізацію за допомогою туману і func_detail Сьогодні я розповім про оптимізацію карти. Взагалі, оптимізувати можна наступним чином:
1. Не робити величезних відкритих просторів
2. Не додавати занадто багато деталей і моделей (якщо ви хочете зробити високодеталізованими карту, то вам доведеться вибирати між реалістичністю і швидкодією, але, з огляду на, що комп'ютери стають все потужнішими і могутніше, можливо, скоро відпаде необхідність оптимізації)
3. Коли робите довгі тунелі, коридори, не робити їх прямими, згинати їх, щоб на початку коридору можна було побачити кінець
4. Сторони Брашей, які не будуть видні гравцеві, фарбувати текстурою TOOLS / TOOLSNODRAW
5. Туман і відсікання простору
6. Ентіті func_detail
З першими чотирма все ясно, а про інші я зараз розповім докладніше.
Туман як засіб оптимізації
Припустимо, у вас все ж величезна карта і на ній багато відкритих просторів. Тут можна використовувати туман. Та частина карти, яка затьмарена, що не буде отрісовиваться движком. Для цього в будь-якому місці карти створюємо ентітей env_fog_controller і прописуємо їй наступні параметри:

Під час компіляції карти простір розбивається на області - листя (leafvis). Розбиття походить від геометрії карти (тобто звичайних брашей, що не ентіті-Брашей). У грі для гравця відображається не тільки та область, в якій він знаходиться, але і ті області, частини яких він бачить, якими великими б вони не були. наприклад:

Коли гравець (зелений квадрат) знаходиться в області №1 і дивиться на червону крапку, то для нього будуть отрісовиваться області №1, №2 та №3. Як це можна оптимізувати
func_detail
Як я вже написав вище, розбиття на листя походить від геометрії карти. Але коли занадто багато листя, процесор витрачає багато ресурсів на розрахунки при відображенні. Вирішити цю проблему можна, перетворивши деякі браши в ентіті. Найкраще в цілях оптимізації підходить func_detail. Наприклад, в кімнаті є маленький ящик-Браш. Якщо його залишити брашем, то в кімнаті буде створено кілька зайвих листя, які безглуздо прораховувати, так як гравець 100% буде їх бачити. Але, тим не менш, вони прораховуються.
Тепер перетворимо наш ящик в func_detail. В результаті при компіляції в кімнаті буде створений тільки один лист. Звичайно, різниця в продуктивності буде невелика, але ж у нас тільки один ящик. А якщо ви робите високодеталізованими кручені сходи, яка складається із сотні Брашей? Перетворення цих сходів в func_detail не тільки поліпшить продуктивність при відображенні, але й скоротить час компіляції.
Якщо Вам сподобалася ця сторінка, Ви можете розмістити де-небудь посилання на неї:
29 днів тому
nbspvorti
Чи можна зробити щоб пропити вибухали і після вибуху міняли модель. наприклад машина вона вибухає і на її місці залишається зламана машина
Місяць тому
nbspeagle_wee
Хлопців як робити Скрімер різного виду? Падаючий зі стелі зомбі, Різко з'являється і пропадає зомбі. Щоб при відкритті дверей на тебе летів рагдолл зомбі. Як це все здійснити? Допоможіть Пожалу
2 місяці назад
nbspShiro
Ти хоча б Еніт юзаешь?
3 місяці тому
nbspGazgen
Як скомпілювати карту з усіма моделями на ній? Причому, коли я Компільо без моделей - вона компілюється
3 місяці тому
nbspGazgen
Доброго вам дня!
Моделі знайшов, але ось як їх вставити в Hammer? Засунув в Half-Life 2 (models / materials) і вони з'явилися в Hammer. Понатикали - компілює і ловлю помилку: "The command failed"
3 місяці тому
nbspYarik
хлопців
У мене проблема з компіляцією карти в кс го sdk. Видає помилку empty map. Чи не бачив ніде вирішенні цієї проблеми. Що робити?
3 місяці тому
nbspMonokuma
3 місяці тому
nbspGazgen
Доброго вам дня! Потрібні моделі дерев для HL2. Чи не підкажете, де взяти? Чи не красти, звичайно ж
Ну і як вшити їх в карту.
Дякуємо!
3 місяці тому
nbsppeabodyomg
На карта mg_50arenas_v1 версія CS: S є ничку далеко в кутку. Там можна вибирати скіни
3 місяці тому
nbsppeabodyomg
Питання для старійшин, як дізнатися modelindex будь-якого скіна. Я хочу зробити щоб по trigger_multiple видавався модель гравця іншої. І ніяк не можу дізнатися modelindex своєї модельки
3 місяці тому
nbspShiro
4 місяці тому
nbspМалігос
Shiro, OnPressed! Activator SetHealth 0
4 місяці тому
nbspМалігос
OnPressed! Activator SetHeatlh 0
4 місяці тому
nbspShiro
Як вбити гравця через кнопку.
4 місяці тому
nbspShiro
Як дати зброю через кнопку з текстурою invisible?
4 місяці тому
nbspEmoticon
4 місяці тому
nbspbloody56
Не виходить накласти звук погоди на карту. Що робити?
Допоможіть.
5 місяців тому
nbspDerkMorris
Тобто, якщо значення math_counter'a дорівнює 1, то включається перша лампочка. Якщо число дорівнює двом, то друга, якщо число 5, то п'ята лампочка, і так для всіх десяти лампочок.
5 місяців тому
nbspDerkMorris
І щоб оутпути були різними! Наприклад, в math_counter'e задано початкове число 1, а кінцеве число 10. Мені потрібно щоб на кожну цифру від одного до десяти спрацьовували різні оутпути.
5 місяців тому
nbspDerkMorris
Хлопців! Срочно нужна помощь по механізмам. Коротше. Як можна зробити так, щоб у math_counter'a були оутпути не тільки на перше, і останнє число, а й на будь-яку кількість яке мені потрібно, і щоб
5 місяців тому
nbspDerkMorris
На вікі по Propper'у написано що потрібно поставити де-небудь браш звичайний. Це не допомогло. Компілятор краш.
5 місяців тому
nbspDerkMorris
Народ. У мене не виходить за допомогою Propper'a зробити модель з Displacement'a. Як виправити? Propper просто фарбований.
5 місяців тому
nbspDerkMorris
MARK2580, Оу, спасибі Братишів ^ - ^ булева змінна вирішила проблему)
5 місяців тому
nbspMARK2580
@DerkMorris
Спробуй заюзать мінімальну логіку logic_branch там через команду test можна реалізувати щось типу toggle
5 місяців тому
nbspEmoticon
Як зробити сплески на воді від крапель дощу, поясніть хто під курсом
5 місяців тому
nbspDerkMorris
Привіт хлопців! Голова кипить. Не можу здогадатися, як можна симулювати свій Toogle? Ну просто на Entity point_spotlight нету оутпута Toogle. Як можна подобу зробити?
5 місяців тому
nbspMARK2580
Ваш останній візит відбувся:
11 місяців тому ..
Ух, як часто я сюди заходжу. точніше логін.
DerkMorris, кури Proxy в vmt типу texturescroll. Га dev wiki знайдеш.
6 місяців тому
nbspDerkMorris
Привіт народ! Як зробити рухається текстуру, нібито як у конвеєра.
6 місяців тому
nbspFortie
"1201 / -func_wall: UTIL_SetModel: not precached * 1001"
Що це за помилка.
6 місяців тому
nbspFortie
Є питання, про максимальне число Брашей, ентіті і т.п.
Хто знає підкажіть
7 місяців тому
nbspДімка
спробуй за координатами проп знайти і прибрати
7 місяців тому
nbspGazgen
Прибирати все пропив не охота - занадто багато. Сміття всякий, укриття
7 місяців тому
nbspGazgen
Подлагівает, та ще й пропити бісяться. Стрибають, падають крізь текстури, літають, немов без гравітації і всі справи. Що вдіяти?
7 місяців тому
nbspGazgen
Доброго! В консоль довбає "Ignoring unresonable position (координати) from vphysics! (Entity prop_physics)
Як це виправити? Начебто нічого випасти за карту з пропилу не могло.
7 місяців тому
nbspДімка
Знає хто ще сайти по мапінг?
7 місяців тому
nbspДімка
8 місяців тому
nbspGazgen
Хм, сайт впав? Знову постало?
8 місяців тому
nbspGazgen
Добрейшего времени суток! (Безглуздий питання, напевно) "Як поміняти здоров'я prop_physics?"
Адже не можна перетворити prop в func_physbox з відповідними настройками? Дякуємо!
8 місяців тому
nbspShiro
8 місяців тому
nbsparsuhinars