Сайт по маппингу Source SDK
 
 
 
 Материалы
6 лет назад

Оптимизация карты. Туман и func_detail

В этой статье мы узнаем, какими способами можно оптимизировать карту и подробнее узнаем об оптимизации с помощью тумана и func_detail
        Сегодня я расскажу про оптимизацию карты. Вообще, оптимизировать можно следующим образом:

1. Не делать огромных открытых пространств

2. Не добавлять слишком много деталей и моделей (если вы хотите сделать высокодетализированную карту, то вам придётся выбирать между реалистичностью и быстродействием, но, учитывая, что компьютеры становятся всё мощнее и мощнее, возможно, скоро отпадёт необходимость оптимизации)

3. Когда делаете длинные тоннели, коридоры, не делать их прямыми, изгибать их, чтобы в начале коридора нельзя было увидеть конец

4. Стороны брашей, которые не будут видны игроку, красить текстурой TOOLS/TOOLSNODRAW

5. Туман и отсечение пространства

6. Энтити func_detail

7. Ареапорталы

8. Хинты

        С первыми четырьмя всё ясно, а про остальные я сейчас расскажу подробнее.

Туман как средство оптимизации


        Допустим, у вас всё же огромная карта и на ней много открытых пространств. Здесь можно использовать туман. Та часть карты, которая затуманена, не будет отрисовываться движком. Для этого в любом месте карты создаём энтитю env_fog_controller и прописываем ей следующие параметры:

оптимизация

  1. Fog Enable. Установите Да, чтобы туман отображался
  2. Fog Blend. Будет ли туман двухцветным (из одного цвета туман кажется однообразным)
  3. Primary Fog Color. Первый цвет тумана
  4. Secondary Fog Color. Второй цвет тумана
  5. Fog Start. Расстояние от игрока, на котором туман начинает отрисовываться (в юнитах)
  6. Fog End. Расстояние от игрока, на котором наш туман станет наиболее густой
  7. Far Z Clip Plane. Расстояние от игрока, на котором игровое пространство перестанет отображаться движком. Лучше ставить значение, равное Fog End

        В результате, какой бы огромной ни была карта, для игрока она будет отображаться не дальше, чем значение Far Z Clip Plane в юнитах. Но ещё следует учитывать, что цвет тумана должен быть похож на цвет скайбокса. Подробнее об этом мы поговорим в туториале "Создание тумана"

        Во время компиляции карты пространство разбивается на области - листья (leafvis). Разбиение происходит от геометрии карты (т.е. обычных брашей, не энтити-брашей). В игре для игрока отображается не только та область, в которой он находится, но и те области, части которых он видит, какими большими бы они не были. Например:



        Когда игрок (зелёный квадрат) находится в области №1 и смотрит на красную точку, то для него будут отрисовываться области №1, №2 и №3. Как это можно оптимизировать

func_detail


        Как я уже написал выше, разбиение на листья происходит от геометрии карты. Но когда слишком много листьев, процессор тратит много ресурсов на расчёты при отрисовке. Решить эту проблему можно, превратив некоторые браши в энтити. Лучше всего в целях оптимизации подходит func_detail. Например, в комнате есть маленький ящик-браш. Если его оставить брашем, то в комнате будет создано несколько лишних листьев, которые бессмысленно просчитывать, так как игрок 100% будет их видеть. Но, тем не менее, они просчитываются.

        Теперь превратим наш ящик в func_detail. В итоге при компиляции в комнате будет создан только один лист. Конечно, разница в производительности будет небольшая, но ведь у нас только один ящик. А если вы делаете высокодетализированную винтовую лестницу, которая состоит из сотни брашей? Превращение этой лестницы в func_detail не только улучшит производительность при отрисовке, но и сократит время компиляции.

Автор: Лорд Беккет Понравилось: 12  Не понравилось: 1 

Похожие материалы:
Карты-примеры
Учебник по Source Engine SDK
Оптимизация: Окклудеры. Отрисовка
env_fog_controller
Декомпиляция и компиляция моделей


Комментарии пользователей сайта:
MrGajimurad1, 4 месяца назад
выбираешь нужный func_detail, затем нажимаешь "toWorld" рядом с "toEntity"
Аристотель, 4 месяца назад
Может и тупой вопрос, но как func_detail вернуть в браши ?

Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё:
 
 
 
 
 
 
Здравствуйте, Гость


РегистрацияВход
 
 
 
 
 
 
23 дней назад
Профиль пользователя RoxST
CobuLight, я пофиксил, спасибо
28 дней назад
Профиль пользователя CobuLight
RoxST, Или дай скрин пружины
28 дней назад
Профиль пользователя CobuLight
RoxST, В учебнике же исходник есть, скачай и посмотри
29 дней назад
Профиль пользователя RoxST
Кто-нибудь помогите с пружинящей доской, она на вес игрока не реагирует, можно это как-то поправить?
Месяц назад
Профиль пользователя CobuLight
Shiro, Да и соло маппером не особо весело быть
Месяц назад
Профиль пользователя CobuLight
Shiro, Мало кто увлекается этим, сильно огорчает
Месяц назад
Профиль пользователя Shiro
CobuLight, так то сайт прикольный и полезный
Месяц назад
Профиль пользователя CobuLight
Shiro, Жаль народу мало
Месяц назад
Профиль пользователя CobuLight
Shiro, Да как всегда, по кд захожу
Месяц назад
Профиль пользователя Shiro
CobuLight, Я вижу, что ты тут в активе, приятно видеть ;)
Месяц назад
Профиль пользователя CobuLight
BSPSource Если точнее
Месяц назад
Профиль пользователя Shiro
Creatormaster, BSPscr скачай
4 месяца назад
Профиль пользователя CobuLight
Фух... решил проблему
4 месяца назад
Профиль пользователя CobuLight
Кто шарит в NMRIH? с префиксом nmo_

4 месяца назад
Профиль пользователя крякпку
:D
5 месяцев назад
Профиль пользователя Creatormaster
А то открываю BSPDeComp для декомпиляции, а там консоль. Это я хочу отредактировать menu_3d.bsp
5 месяцев назад
Профиль пользователя Creatormaster
Всем привет. Кто может расказать нубу, как декомпилируются карты? :ugeek:
5 месяцев назад
Профиль пользователя Gazgen
А я уж позарился свой Rainbow 6 Siege делать :)
5 месяцев назад
Профиль пользователя Gazgen
Да, лагает... как ни крути.
5 месяцев назад
Профиль пользователя MrGajimurad1
Gazgen, сто процентов будет лагать
5 месяцев назад
Профиль пользователя Deluks
Админы, почините уже Учебник по Source Engine SDK. там картинок нет. =(
5 месяцев назад
Профиль пользователя Gazgen
Поиск на сайте сломался, приходится через Гугл :(
5 месяцев назад
Профиль пользователя Gazgen
Что будет, если сделать все стены на карте таким способом? Жуткие лаги, или долгая компиляция?
5 месяцев назад
Профиль пользователя Gazgen
Посмотрел Разрушительное Ранчо, захотелось сделать разрушаемую стенку сделать.
Думается func_physbox использовать в качестве блоков, а func_breakable в качестве арматуры.
7 месяцев назад
Профиль пользователя MARSHAL ZA
vorti с помощью vide
7 месяцев назад
Профиль пользователя Аня
:?: :?: :?:
9 месяцев назад
Профиль пользователя Аристотель
Хороший сайт многой полезных статьей))
9 месяцев назад
Профиль пользователя vorti
Как извлечь ресурсы , которые вшиты в карту ?
11 месяцев назад
Профиль пользователя DerkMorris
:P
Год назад
Профиль пользователя MrGajimurad1
Я уже думал, что сайт сломался
Год назад
Профиль пользователя DNS_DNS_DNS
Нет туториала по созданию сложного лифта, тутор добавится или можно добавить материал к существующему самому? (чтоб другие не парились особо с этим) И имеет ли это смысл
Год назад
Профиль пользователя rtv132
asusn1, в GO отсутствуют некоторые из описанных здесь энтити
Год назад
Профиль пользователя rtv132
asusn1, 85% из этих материалов пригодны для GO
Год назад
Профиль пользователя asusn1
Извините за тупой вопрос. Эти уроки сейчас актуально для CS:GO? Они идентичны?
Год назад
Профиль пользователя MARSHAL ZA
Ну ты работаешь по garry, а я по 34, а он еще по чему то. Так что тут это тоже влияет.
Год назад
Профиль пользователя rtv132
MARSHAL ZA, тип моделей не нужно изменять, проблема в освещении, сам проверял. Должно быть рабочее солнце
и минимум 1 источник света-энтити
Год назад
Профиль пользователя MARSHAL ZA
Если именно текстуры то попробуй на Normal RAD компилировать. Если модели то в можно изменить static на dynamic.
Год назад
Профиль пользователя rtv132
ERICHARRIS, возможно, новый bsp не находился на момент запуска в папке maps
Год назад
Профиль пользователя rtv132
ERICHARRIS, возможно новый bsp не находился на момент запуска в папке maps
Год назад
Профиль пользователя ERICHARRIS
что делать когда нажимаю run map а он мне старую верси карты запусакет, тоесть нет обьектом текскутрных к примеру которые есть в самом редакторе, в игре они тупо не отображаются.
Год назад
Профиль пользователя MARSHAL ZA
VIDE лучше. В Вк ответил.
Год назад
Профиль пользователя ERICHARRIS
можно ли с помощь рипера в хаммер перенести модель?и будет она багнутая или еще какая? (для garrys mod надо)
Год назад
Профиль пользователя rtv132
и если нет, то как можно создать колесо альтернативным способом?
Год назад
Профиль пользователя rtv132
может ли phys_motor двигать func_physbox так, чтобы physbox тянул родителей(прочие func-объекты и тд), к которым прикрелплен, как колесо?
Год назад
Профиль пользователя MARSHAL ZA
Проще меня в вк добавь, все равно только мы тут: https://vk.com/marshalza
Год назад
Профиль пользователя vorti
Но при этом остался бы world-геометрией
Год назад
Профиль пользователя vorti
И еще вот что... в какой ентити можно превратить браш чтобы он не отбрасывал ни статичную ,ни динамичную тень?
Год назад
Профиль пользователя vorti
А как можно зделать сам фильтр ?
Год назад
Профиль пользователя MARSHAL ZA
Вроде можно, но я лично не делал покапайся в настройках. Если не получиться то может можно определенный фильтр поставить на дамаг от взрывов, я делал чтобы только от грен был урон.
Год назад
Профиль пользователя vorti
Попадании (например снайперская винтовка из дополнения "m9k".
Обновить  
 
 
 
 
 
 
Маппинг, картостроение, моделлинг в CS:Source и не только
 
 
 
 
 
Копирование и перепечатка материалов разрешена только со ссылкой на первоисточник!