При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Картостроение > Туториалы
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.09.2017, 17:11  #1
St.Snoop
St.Snoop
Mockingj4y
Регистрация: 10.02.2012
Адрес: Hidden Pool
Возраст: 19
Сообщения: 1,930


Book [GS] Продвинутая компиляция

Данное руководство является переводом зарубежного руководства: https://sites.google.com/site/svenm...s/advancedlight

Продвинутая компиляция
_________________________

Размещение light на карте - это только начало управления освещением - профессиональные трюки и использование специальных параметров компиляции значительно улучшают освещение на вашей карте. Управляйте тенями, сглаживанием, отражениями света и многими другими параметрами освещения с помощью параметров ZHLT и VHLT, энтити-объектов и ключей (я использую только VHLT для этих руководств).

Вы также узнаете некоторые интересные трюки, связанные не только с освещением. Вы можете проверить документацию ZHLT (которая также используется в инструментах VHLT) здесь: ZHLT.
  • Создайте карту и поместите на ней light, или используйте уже существующую карту для данного руководства. Некоторые трюки требуют использование специально созданных/настроенных брашей и энтити-объектов. Не забудьте поместить info_player_deathmatch!
Параметры и процессы компиляции
_________________________

Важно знать, что используя параметры компиляции, вы управляете наиболее важными параметрами освещения карты.
Выбрав параметры компиляции в зависимости от ваших потребностей, обратите внимание, что для тестирования карты вам не потребуется большая часть этих параметров — компиляция с ними займет больше времени, поэтому когда вы просто хотите проверить свою карту, то не стоит беспокоиться об освещении до окончательной компиляции.
Когда карта готова к выпуску, используйте столько параметров, сколько вам нужно, увеличьте детали света и тени, вы также можете контролировать процесс в окно процесса компиляции, чтобы получать более подробную информацию о компиляции в целом.
Весь процесс компиляции можно разделить на 4 программы, которые собирают вашу карту:
  • HLCSG.exe — браши превращаются в полигоны, создается геометрия карты, создается 4 .hull-файла для HLBSP.exe.
  • HLBSP.exe — строится карта, энтити-объекты становятся готовыми к использованию. Карта готова, но браши невидимы.
  • HLVIS.exe — карта делается видимой, просчитывается, что игрок может видеть и что не может, отрисовываются поверхности, видимые игроком.
  • HLRAD.exe — просчитывается освещение.
Каждая программа имеет собственный список команд, но некоторые команды являются общими. В этом руководстве будут использоваться лишь некоторые параметры, чтобы визуально показать их влияние на карту.
Нажмите на иконку (Run map), и нажмите на кнопку «Expert» для перехода в расширенное окно компиляции.
Здесь вы можете изменить все параметры и опции компиляции:


Краткое описание пунктов данного окна:
  1. Текущая используемая конфигурация, вы можете сохранить несколько конфигураций для каждой игры или типа компиляции.
  2. Команда, нужно оставить как есть.
  3. Поле для параметров, они указываются здесь, выберите команду из списка «Compile/Run Commands» и затем вписывайте параметры (каждый новый параметр начинается с символа «-»). Последняя команда — запуск игры:
    Если вы отключите её, игра не запустится после компиляции. Работает также, как и пункт «Don't run the game»
    в обычном окне «Run map».
  4. Если отмечено, будут обработаны только видимые браши — все скрытые браши (скрытые соответвующей функцией в редакторе) будут проигнорированы.
  5. Кнопка для возврата к обычному окну.
Ниже список команд, которые вы можете использовать:
HLCSG
_________________________
  • -onlyents — обновление свойств энтити-объектов; применяется при небольших изменениях их параметров.
  • -nowadtextures — компилятор включит все текстуры в .bsp-файл. Это действительно полезная функция, но если файл слишком большой, может возникнуть ошибка при передаче карты сервером клиенту.
  • -wadautodetect — при использовании .wad-файлов сообщает компилятору, что не нужно включать .wad-файлы, текстуры из которых не используются на карте.
  • -noskyclip — отключить функцию блокирования движения игроков брашами с текстурой «sky» (не относится к NPC).
  • -wadinclude <file>.wad — включение .wad-файлов в .bsp-файл вручную. Каждый .wad-файл требует дублирование данной команды (пример: -wadinclude reytext01.wad -wadinclude reytex02.wad -wadinclude opfor.wad» и т.д.).
  • -wadcfgfile <file>.txt — позволяет выбрать файл конфигурации WAD'ов. Не поддерживается при использовании Jackhammer вместо Hammer Editor.
HLBSP
_________________________
  • -maxnodesize # — максимальный размер портала. Меньшие значения = меньшие порталы = большие значения r_speed = быстрая/более точная отрисовка в определенных ситуациях.
  • -noinsidefill — отключить автоматическое заполнение пустых зон. Обычно, пустые зоны, где нет энтити-объектов, заполняются также, как если бы там был браш. Этот параметр отключает это и пустые зоны остаются после компиляции.
  • -nobrink — отключает исправление границ (если создадите пирамиду, то при включенной функции вы не сможете всать на её вершину)
  • -noclipnodemerge — при использовании, отключает объединение clipnode'ов.
HLVIS
_________________________
  • -fast|-full — определяет метод компиляции («-fast» для тестирования — плохая оптимизация и быстрая компиляция, «-full»
    для хорошей оптимизации и медленной компиляции).
HLRAD
_________________________
  • -extra — включает особый режим компиляции, при котором улучшается освещение. В основном используется для финальной компиляции, параметры ниже используются с этим параметром:

  • -smooth # — управляет сглаживанием на соседних поверхностях, соприкасающихся под разными углами:

  • -smooth2 # — работает как «-smooth», но предназначен для поверхностей, покрытых разными текстурами.
  • -minlight # — используйте для определения минимального уровня освещенности, значения в пределах от 0 до 255. Карты освещения темнее этого значения повышаются до минимального значения:

  • -maxlight # — также как и верхний параметр, но ограничивает максимальный уровень освещенности. Яркость карт освещенности выше этого значения будут уменьшена до максимального уровня.
  • -bounce # — кол-во отражений света. Во-первых, это помогает осветить темные области отражением света, где нет источников освещения окружения. Во-вторых, сглаживает тени. Цвет отраженного света определяется цветом текстуры. По-умолчанию, свет отражается 8 раз.

  • -blur # — управляет резкостью теней. С более высоким значением тени более размытые. Значение по-умолчанию: 1.5 (значения ниже 1.0 работать не будут).

  • -scale # — глобально масшатабирует освещение (действует на все источники света). Если ваша карта нужнается в немного более ярком освещении, увеличьте данное значение. Также вы можете уменьшать значения. Значение по-умолчанию: 1.0 (значение «0.5» сделает яркость источников света в 2 раза меньше, «1.3» усилит на 30.
  • -dscale # — похож на верхний параметр, но влияет на прямой свет.
  • -noskyfix — отключает использование только одного light_environment, каждая зона будет требовать свой light_environment.
  • -gamma # — гамма для вашей карты, которая влияет на все карты освещения. Значение по-умолчанию: 0.55.

  • -fade # — глобальное затухание света. Не забывайте, что большинство light-объектов имеет собственный параметр «ZHLT Fade» который заменяет глобальное значение. Чтобы использовать глобальное значение, оставьте поле у light-объектов пустым.

  • -softsky 0|1 — улучшает рассеивание света от light_environment (особенно с улицы в помещениях). Включено по-умолчанию.
  • -texreflectscale # — обычно, яркость отраженного света зависит от нанесенной текстуры на поверхность, от которой отражается этот свет. Значение по-умолчанию: 0.7.
  • -textreflectgamma # — обычно, поверхность, задетая отраженным светом имеет гамму, зависящую от этого света. Значение по-умолчанию: 1.76.
  • -depth # — управляет допустимой толщиной стен, на которые влияет info_translucent.
  • -noemittedrange — отключает уменьшение яркости на поверхностях, освещенных светящимися текстурами, а также отключает исправление теней в темных углах.
  • -texlightgap # — смещает освещение от светящихся текстур на указанное кол-во юнитов, что убирает проблему «light bleeding».


ОБЩИЕ
_________________________
  • -lightdata # — размер lump'а под карты освещения (в кб).
  • -texdata # — максимальный размер памяти, выделяемый для текстур (в кб).
  • -estimate — показывает оставшееся время для каждого компилятора.
  • -chart — показывает статистику .bsp-файла после каждого процесса.
  • -low | -high — указывает приоритет запуска компилятора. Используйте «low», если вы хотите использовать компьютер во время процесса.
  • -threads # — кол-во процессов, используемых каждой программой (например, 2 или 4). Вы можете проверить кол-во процессов в окне компиляции:


Batch-файл для особой компиляции
_________________________

Использование редактора — не единственный способ компиляции вашей карты. Может быть, вы хотите иметь простой файл и компилировать карты, щелкнув по нему или просто сохранить все параметры в один файл? Это можно сделать очень быстро и легко!
  1. Создайте новый .txt-файл. Поместите его в одну папку со всеми компиляторами. Также поместите карту в формате .map в эту папку.
  2. Откройте .txt-файл, и поместите туда 4 команды:
    Код:
    hlcsg.exe mymap
    hlbsp.exe mymap
    hlvis.exe mymap
    hlrad.exe mymap
    Не включайте расширение .map в параметрах. Превратите .txt-файл в .bat-файл. Теперь этот файл можно запустить.
  3. Ваша карта готова для компиляции! Запустите даннный файл и если все работает хорошо, должен сгенерироваться .bsp-файл.
    Автоматически создается лог-файл, имеющий название yourmap.txt.
    Пример .bat-файла, используемого Trempler-, одним из дизайнеров уровней в Sven Co-op:
    Код:
    hlcsg.exe mymap -threads 4 -texdata 90000 -cliptype simple -estimate -chart -nowadtextures
    hlbsp.exe mymap -threads 4 -texdata 90000 -estimate -chart
    hlvis.exe mymap -threads 4 -texdata 90000 -estimate -chart -low -full
    hlrad.exe mymap -threads 4 -texdata 90000 -estimate -chart -extra -dscale 1.5 -fade 1 -minlight 1 -scale 0.8 -smooth 90 -low -bounce 12 -blur 1.5
Как вы заметили, процесс добавления параметров очень простой, очень похожей на процесс добавления параметров в редакторе.

Ключи ZHLT
_________________________

Некоторые энтити-объекты имеют общие параметры, вы можете найти настройки типа Render Mode или Render FX в большинстве брашевых и некоторых точечных энтити-объектов. Аналогичная ситуация с флагами ZHLT. Вы можете настроить освещение брашевых энтити-объектов, и свет от «light_»-энтити-объектов. Многие параметры описанные ниже похожи на эффекты от использования параметров HLRAD.exe.
  1. Light Origin: освещение для энтити-объектов всегда берется из центра энтити-объекты. Освещение просчитывается один раз, не зависимо от того, является ли энтити-объект движимым или нет. Train'ы, pushabl'и, door'ы, button'ы, rotating'и, tracktrain'ы — они не освещаются динамически — поэтому, если например, func_pushable стоит сначала в темном углу, его текстуры постоянно будут темными. Это может выглядеть так:


    Но не волнуйтесь, есть простое и легкое решение для этого! Мы будем использовать параметр Light Origin. Во-первых, нам нужно знать, из какой точки будет браться освещение энтити-объекта. Поместите info_target на карте, дайте ему имя и напишите его в поле Light Origin у func_pushable. Расположить info_target не всегда легко. Вам нужно будет выбрать точку, в которой освещение энтити-объекта будет реалистичным. Расположить info_target наиболее сложно для объектов, которые могут перемещаться на большие расстояния, как например, func_tracktrain, где путь для этого объекта длинный, а освещение в каждой области, через которую он проходит, отличается. Вы можете создать комнату с освещением, специально настроенным для этого объекта, и поместить там info_target.
    Конечный результат:


    Вы также можете использовать особый Light Origin для model-based-энтити-объектов с флагом zhlt_copylight.
  2. Minimal Light Level: используется чтобы установить минимальный уровень свечения энтити-объекта.
    Представьте себе экран компьютера в темноте, машинные диоды или просто лампу, которая испускает свет и должна быть полностью освещена.
    Используйте ключ Minimum light level для этого. Он поддерживает 2 состояния: «0» (обычное освещение) и больше «0» (полностью яркий).
    Установите «1» или любое другое значение для того, что браш начал полностью светиться.
    Здесь приведено несколько примеров:


    Обратите внимание, что светясь браш не освещает окружающее пространство (на первом изображении свет добавлен вручную).
    Во втором примере создано два браша — первый покрытый текстурой «NULL» со всех сторон кроме передней (где текстура экрана), и второй, по размерам схожий с первым, затекстурированный сбоку и сверху, но с текстурой «NULL» спереди. Первый браш (представляющий экран) имеет Minimum light level установленный в «1». Оба браша расположены одинаково. Это делает светящейся только переднюю сторону (первый браш), боковые стороны освещены как обычно (2 браш).
    Третий браш использует режим отображения «Additive», текстуру «NULL» и параметр Minimum light level.
  3. ZHLT Lightflags: изменяет настройки излучения или получения освещения. Самая полезная функция — «Opaque» которая позволяет указать, будет ли энтити-объект отбрасывать тень.
    Возможные значения ZHLT Lightflags:
    • Default: настройки освещения выбираются автоматически.
    • Embedded Fix: отключить исправление bleed-эффекта на энтити-объекте. Иногда при пересечении объектом стены, он может непраивльно осветиться на одной из сторон. Используйте этот параметр при появлении такой проблемы.
    • Opaque (blocks light): может быть полезно для func_door или func_illusionary:


      «Opaque» может также генерировать тени с «{»-текстурами с режимом отображения «Solid» и «FX Amount» = 255):


      Заметьте, что резкость тени зависит от значения параметра «-blur». Значение «-blur» на карте, показанной выше на скриншоте = 0.5 (по-умолчанию 1.5).
    • Opaque + Embedded Fix: объединенные настройки Opaque и Embedded Fix.
    • Opaque + Concave Fix: вместо использования Embedded Fix вы можете использовать Concave Fix. В основном используется для изогнутых энтити-объектов, используйте, если вы видите черные швы на изогнутых (дугообразных) энтити-объектах.
  4. Цвет и интенсивность тени: вы можете добавить ключ «zhlt_customshadow» для определения цвета теней или их прозрачности у блокирующих свет энтити-объектов. Используйте одно значение (от 0.0 до 1.0) для изменения только интенсивности тени, или три значения (каждое от 0.0 до 1.0) для задания цвета тени:


    Этот ключ отсутсвует в списке ключей энтити-объектов, вам нужно добавить ключ «zhlt_customshadow» вручную:

  5. Отключение коллизии любого энтити-объекта: добавьте ключ «zhlt_noclip» к брашевому энтити-объекту со значением больше 0, что отключит коллизию энтити-объекта. Заметьте, что это может отключить касания, прямую и пулевую коллизию, делая func_breakable не разрушаемым обычными пулями, или func_pushable не передвигаемым.
  6. Делаем любой энтити-объект невидимым: добавьте ключ «zhlt_invisible» к брашевому энтити-объекту с непустым значением, и этот объект станет невидимым. Можно проще: используйте текстуру «NULL».
  7. Изменение затухания света light, light_spot и light_environment: ключ, управляющий дистанцией распространения света. Вы можете сделать распространение света более дальним или коротким. Установите это ключом «zhlt_fade». Значение по-умолчанию: 1.0:

  8. Изменение метода спада света light, light_spot и light_environment: «zhlt_falloff» заменяет метод распространения света.
Коллизия брашей
_________________________
  • Блокирует игрока и NPC, неблокирует пули.
    • Браш, покрытый текстурой «CLIP».
  • Блокирует только пули.
    • Проходимый func_detail, покрытый текстурой «NULL».
  • Блокирует все.
    • Браш или «func_»-объект, покрытый текстурой «NULL».
  • Блокирует выбранных NPC.
    • Энтити-объект func_monsterclip.
  • убирает коллизию у браша.
    • Текстура «SKIP» на любой стороне.
  • Убирает коллизию у браша и неразббивает пересекаемые браши.
    • «SKIP» + «NULL» (рекомендуется) или «SKIP» + «HINT»
Продвинутые светящиеся текстуры
_________________________

Info_texlights позволяет создать светящуюся текстуру простым способом, но он не поддерживает включение/выключение, поведение и тип света (light/light_spot). Light_surface решает эту проблему, позволяя изменить каждый аспект освещения от текстуры, включая применение светящихся текстур на определенные объекты или в определенном радиусе.
  1. Поместите light_surface на вашей карте. Задайте ему имя для последующего управления (вкл/выкл) в игре (если требуется).
  2. Измените параметры для настройки освещения:
    • name --> имя light_surface. Требуется если вы хотите включать/выключать свет.
    • texture name --> имя текстуры, которая будет светящейся, например, «+0~LIGHT4A».
    • filter max distance --> если вы укажете здесь значение, light_surface будет искать текстуры в указанном радиусе (основываясь на центрах текстур).
    • filter max distance to plane --> как верхний параметр, но включает в поиск всю текстуру, не только центр.
    • filter entity classname --> испускать свет будут текстуры, нанесенные на указанный класс объектов (например, func_wall).
    • filter entity name --> испускать свет будут текстуры, нанесенные на объекты с указанным именем.
    • texture brightness --> яркость текстуры (обратите внимание, что эта яркость указывается как для обычных light-объектов, а не как у info_texlight, где яркость зависит от размера текстур).
    • inner/outer angle --> если используется, свет будет направленным (как light_spot). Значения работают как у light_spot.
    • adjust emit scale --> масштаб направленного света при использовании верхнего параметра.
    • grid size of sampling --> масштаб выборочной сетки, используется для масшабированных текстур (в редакторе) для более красивых теней.
    • fast --> установите «Yes» для больших поверхностей с низкой яркостью.
    • color --> цвет освещения. Если не используется, компилятор выберет цвет на основе цвета текстур.
    • (custom)appearance --> поведение света на этой текстуре, работает также как у обычных light-объектов.
  3. Напоследок — вы можете отметить флаг «Initially dark» чтобы выключить свет по-умолчанию. Активация light_surface включит свет. Вы можете сделать наоборот и переключать свет при каждой активации.
    Не забудьте указать имя light_surface, если вы хотите переключать свет.
Переключаемые light_environment
_________________________

На карте можно разместить несколько light_environment, отключив глобальный light_environment соответсвующими параметрами компиляции, поэтому можно заставить его работать так же, как и обычный light. Light_environment переключаем, мы можем выключить и включить его, когда захотим.

В первом разделе рассказывается, как сделать несколько light_environment для разных зон.
Во втором разделе рассказывается как использовать несколько light_environment, но для одной зоны, и как между ними переключаться.
  1. Несколько light_environment: поместите на вашу карту. Для отключения глобального light_environment, включите «-noskyfix« для HLRAD. Теперь вы можете использовать несколько light_environment для создания разного освещения в разных зонах, для энтити-объектов и моделей.
  2. Переключаемые light_environment: определите, какой свет при старте будет включен, а какой выключен.
    Параметр »-noskyfix« нужно отключить.
    В данном примере используется три объекта light_environment:
    le_day (включен при запуске)
    le_sunset (отключен)
    le_night (отключен)
    Цель состоит в создании func_button, при активации которого будет использоваться другое время суток:
    День -->Кнопка нажата<-- Закат -->Кнопка нажата<-- Ночь -->Кнопка нажата<-- День и т.д.
    1. Для начала, выключим le_sunset и le_night при старте карты. Для этого поместите на карту 2 объекта trigger_auto,
      у одного из них целью должен быть «le_sunset», у другого — «le_night». У обоих объектов состояние должно быть установлено «Off».
    2. Теперь нужно создать один func_button, три trigger_changetarget и три multi_manager. Кнопка запускает multi_manager, который запускает соответствующий light_environment, а trigger_changetarget меняет цель кнопки на другой multi_manager. В целом событие сложное, но изображение ниже разъяснит его:


Зеркальный пол
_________________________

Данный эффект можно увидеть в HL: Blue Shift:

  1. Для начала, полностью создайте помещение. Разместите все light и брашевые энтити-объекты, фурнитуру и детали. Также можно поместить NPC, но нужно учитывать несколько вещей при использовании данного трюка:
    Вам нужны два monster-энтити-объекта для каждого NPC — один для обычного, и другой для отражения.
    Лучше, если с NPC никак нельзя будет взаимодействовать.
    Они должны быть привязаны к scripted_sequence без перерывов, поэтому они не могут быть отделены от своих отражений.
    Для NPC, взаимодейтсвующих с игроком, вы можете не делать отражение.
    Игрок не может быть отражен
    Декали не будут отражены.
    Выпадающее оружие и предметы не будут отражены также.
    Вращающиеся по осям X/Y энтити-объекты должны иметь флаг «Reverse direction» у отраженных копий.
  2. (Если используются NPC) поместите NPC (например, monster_scientist) и scripted_sequence, настройте их параметры:

  3. Время перевернуть помещение! Выберите все, кроме scripted_sequence, пола и точки игрока:


    Затем скопируйте и вставьте помещение, перейдите в Tools-->Flip object-->Vertically, и помещение отразиться. Теперь соедините два помещения:


    Превратите пол в func_wall и дайте ему режим отображения «Texture» и FX Amount на ваш выбор. Продублируйте scripted_sequence и измените имена отраженных NPC. Сделайте новыми целями scripted_sequence изменные имена NPC.
    Размещение scripted_sequence может быть немного сложным. Вы должны учитывать углы scripted_sequence для некоторых анимаций, и смещения для отраженных скриптов.

    Положение анимации NPC и scripted_sequence должны находиться в одном месте в редакторе, поэтому анимация будет отображаться правильно, как и планировалось. Тогда необходимо указывать углы для отраженной анимации в зависимости от обычной анимации:


    В приведенном выше примере показана анимация «sit1» для monster_barney. Когда мы переворачиваем NPC и scripted_sequence нам необходимо реориентировать позицию scripted_sequence, и изменить его углы (например, с «45» на «135», на примере выше угол scripted_sequence для обычной модели равен «45»). Но для анимаций типа «idle» вы увидите, что центр scripted_sequence, также как и центр NPC при анимации «idle» находятся в одной точке, даже после переворота NPC. Это потому, что он находится в ногах NPC, поэтому, когда мы вращаем NPC, ноги будут все еще касаться пола, поэтому scripted_sequence для зеркального NPC будет иметь точно такое же положение, как и scripted_sequence обычного NPC.
Переключаемые тени и отражение света от блокирующих свет энтити-объектов
_________________________

При переключении блокирующего свет энтити-объекта со значением «Opaque» в параметре ZHLT Lightflags, тень неисчезает/появляется правильно.
Надеюсь здесь легкое решение этой проблеме. Обратите внимание, что это не будет при использовании нескольких или переключаемых light_environment:

  1. Поместите на карту light_shadow и light_bounce. Второй объект расширяет функционал light_shadow и не обязателен.
    Однако рекомендуется использовать оба объекта для достижения лучших результатов. Дайте имя энтити-объекты, который будем переключать (например, func_wall_toggle)
    и дайте такое же имя light_shadow и light_bounce. Кроме того, дайте целевому энтити-объекту тоже имя, что и все эти объекты. Расположение light_shadow и light_bounce не имеет значения.
  2. Если блокирующий свет энтити-объект видимый на старте, отметьте флаг «Initially dark» в настройках light_bounce. Если энтити-объект невидимый, отметьте этот флаг у light_shadow. Суть в том, что когда light_shadow включен, light_bounce должен быть выключен, и наоборот.
  3. Активация всех трех объектов (они имеют одинаковое имя) переключает отбрасываемые тени и отраженный свет. Вы также можете дать всем трем объектам разные имена и активировать их отдельно (обычно при уничтожении браша вместо переключения).
Управление сглаживанием света на отдельных текстурах
_________________________

Вы можете изменить значение сглаживания для выбранных текстур, работает как параметр «-smooth» для HLRAD.
  • Поместите info_smoothvalue на вашей карте. Положение не имеет значения. Перейдите к настройкам данного объекта, отключите режим «SmartEdit», добавьте ключ, где Name — название текстуры, и Value — значение сглаживания для нее.
    По-умолчанию для всех текстур на карте сглаживание = 50:


Распространение теней во внешних зонах
_________________________

Вы можете управлять тенями light_environment. Это полезно, когда вы хотите более реалистичные тени, зависящие от типа освещения - для солнечного дня тени будут более резкими, а для облачной или дождливой погоды будут более размытыми.
  • Перейдите к настройкам light_environment, добавьте новый ключ «_spread».
    Значение ключа — сила размытия:


Результаты могут отличаться в зависимости от параметров light_environment, параметров компиляции и масштаба текстур.

Яркость прозрачных текстур
_________________________

Настройте яркость прозрачных текстур, таких как стекло, которые по-умолчанию не отображаются должным образом.
  • Перейдите к настройкам прозрачного объекта и добавьте два новых ключа:
    «zhlt_embedlightmap» со значением «1».
    «zhlt_embedlightmapresolution» со значениями 2,4 или 8 и т.д. (по-умолчанию: 1, рекомендуется 4).
Первый ключ создает фейковую карту освещения на прозрачных текстурах (для данного объекта), что делает текстуры более натуральными и соответствующими окружающей среде:


Второй ключ для оптимизации — масштабирует масштаб карты освещения для уменьшения используемой памяти (рекомендуется).

Эффект прозрачности
_________________________

Другой трюк VHLT позволяет применять эффект прозрачности на отдельных текстурах.
  1. Создайте браш(-и), которые будут получать освещение с каждой стороны. Данные браши не должны быть тоньше 2 юнитов и не должны являться брашевыми энтити-объектами.
  2. Поместите объект info_translucent на вашу карту. Добавьте новый ключ(-и), где название ключа — название текстуры для симуляции прозрачности, и значение — значение получения света (0.0 — полностью получать свет спереди, 1.0 - получать свет сзади, 0.5 — получение света с обоих сторон одинаково:


    Браш получает свет с другой стороны помещения, что дает отличный эффект — в синем помещении браш получает свет из красного помещения, а в красном — из синего.
Этот эффект может быть полезен в некоторых ситуациях. Представьте себе дом в ночное время - свет в комнате включен, и мы можем сказать, что из дома, потому что окна полупрозрачны, и эти окна получают свет изнутри здания. Тот же эффект мы увидим внутри этого дома - комната хорошо освещена, но вне здания темнота, что можно увидеть, глядя в окно. Используйте это на пластике, грязном стекле, ткани и т.п.

Уменьшение затухания света на текстурах
_________________________
Выюерите текстуры, чтобы дать им эффект схожий с использованием параметра «-fade» у HLRAD.
  • Поместите info_angularfade на вашей карте и добавьте ключ, у которого название - название используемой текстуры, и значение - затухание (1.0 - затухание по-умолчанию).

Особое освещение для моделей
_________________________

Настройте освещение моделей (.mdl) на своей карте, используя новую служебную текстуру. Это похоже на освещение текстур, но влияет только на модели. Также вы можете посто скопировать даные об освещении от другого объекта.

Метод 1: Поместите info_texlights на вашу карту и добавьте новый ключ «BLACK_HIDDEN» со значением цвета и яркости света. это рабоатет также как обычное освещение от текстур, но это будет освещать только модели на всеми брашами с текстурой «BLACK_HIDDEN». Теперь центр каждой модели, помещенной над брашем, полностью покрытым текстурой «BLACK_HIDDEN» освещается светом, указанным в info_texlight.
Рекомендуется превратить этот браш в func_detail и затекстурировать все его стороны, кроме верхней, текстурой «SKIP», чтобы отключить его коллизию. Обратите внимание, что это влияет на все модели, которые появляются над этим брашевым энтити-объектом, даже NPC и игроки:


Метод 2: Гораздо более простой метод — использование ключа «zhlt_copylight». Добавьте этот ключ и в качестве значения впишите имя брашевого энтити-объекта, с которой скопировать данные об освещении. В качестве цели можно info_target.

Приоритет накладывающихсяя поверхностей
_________________________

Теперь можно определить приоритет отображения текстур, когда два браша перекрывают друг друга.
  1. Выберите два браша, которые перекрывают друг друга, превратите их в func_detail и убедитесь, что «detail level» для обоих этих объектов одинаков.
  2. Измените значение приоритета на ваш выбор (разные для каждого браша). При перекрывании текстур будут отображаться текстуры браша с более высоким приоритетом:


Вы также можете смешать detail-браши с мировыми брашами, изменив «detail level» на «0», а затем использовать приоритет, когда стороны перекрываются. Это делает detail-браши похожими на декали:


Огромное спаcибо пользователям Дядя Миша и Greatfox за помощь, а также FiEctro за находку руководства!

Последний раз редактировалось St.Snoop, 02.10.2017 в 16:55. Причина: Картинки не в спойлерах
St.Snoop сейчас на форуме Ответить с цитированием
Старый 28.09.2017, 17:59  #2
Lantrat
Lantrat
Hancock
Регистрация: 10.09.2006
Возраст: 34
Сообщения: 5,579


По умолчанию

Немножко перевёл а потом надоело? Я с английским не очень дружу, так что мне не зашло.
Lantrat вне форума Ответить с цитированием
Старый 28.09.2017, 18:07  #3
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,789


По умолчанию

Нифига себе как можно.

2 St.Snoop:
Давай допереводи, раз взялся, интересно же.
Raid вне форума Ответить с цитированием
Старый 28.09.2017, 18:22  #4
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 26
Сообщения: 16,377


По умолчанию

2 Lantrat:
2 Raid:
Я думаю перевод еще в процессе.
FiEctro вне форума Ответить с цитированием
Старый 28.09.2017, 19:01  #5
Greatfox
Greatfox
аватар ктулху
Регистрация: 27.09.2010
Адрес: не дом и не улица
Сообщения: 40


По умолчанию

Тебе помочь? А ты мне с моделлингом поможешь, я в нём нигугу.
Greatfox вне форума Ответить с цитированием
Старый 28.09.2017, 19:47  #6
St.Snoop
St.Snoop
Mockingj4y
Регистрация: 10.02.2012
Адрес: Hidden Pool
Возраст: 19
Сообщения: 1,930


По умолчанию

Блин, сорян господа. Перевод в процессе, пока удалите плиз тему
St.Snoop сейчас на форуме Ответить с цитированием
Старый 28.09.2017, 20:04  #7
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,111


По умолчанию

2 St.Snoop: ну ты же можешь редактировать первый пост. Заменишь потом английский текст на русский.
Дядя Миша вне форума Ответить с цитированием
Старый 28.09.2017, 20:12  #8
St.Snoop
St.Snoop
Mockingj4y
Регистрация: 10.02.2012
Адрес: Hidden Pool
Возраст: 19
Сообщения: 1,930


По умолчанию

2 Дядя Миша:
я знаю, тогда будь добр поменяй название на "[GS] Продвинутая компиляция"
St.Snoop сейчас на форуме Ответить с цитированием
Старый 28.09.2017, 20:21  #9
npocTo_LaM
npocTo_LaM
Подполковник
Регистрация: 27.10.2012
Сообщения: 1,169


По умолчанию

Весьма позновательно, большую часть знал но есть новинки Самое главное есть картинки, на которых визуально видно влияние при изменении значений.
npocTo_LaM вне форума Ответить с цитированием
Старый 28.09.2017, 20:23  #10
TRUSISHKA
TRUSISHKA
Старший прапорщик
Регистрация: 19.04.2009
Адрес: Одесса
Возраст: 42
Сообщения: 627
Замечания: 7


По умолчанию

2 St.Snoop:
Хорошее дело делаешь!Заранее спасибо!.
TRUSISHKA вне форума Ответить с цитированием
Старый 28.09.2017, 20:35  #11
Hypax
Hypax
хайпэкс
Регистрация: 18.07.2013
Адрес: Россия
Возраст: 26
Сообщения: 528


По умолчанию

За такую находку и старания,можно человеку и репы накинуть Интересно будет прочитать,жду полного перевода
Hypax вне форума Ответить с цитированием
Старый 28.09.2017, 21:16  #12
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,111


По умолчанию

2 St.Snoop: поменял.
Дядя Миша вне форума Ответить с цитированием
Старый 28.09.2017, 21:23  #13
St.Snoop
St.Snoop
Mockingj4y
Регистрация: 10.02.2012
Адрес: Hidden Pool
Возраст: 19
Сообщения: 1,930


Сообщение

2 Дядя Миша:
Благодарю
------------------------------
До переводил раздел с параметрами, но не совсем, т.к. не совсем понятно значение след. параметров:
-lightdata
-noemittedrange
-blockopaque
-cliptype
Буду премного благодарен кто поможет с ними

Последний раз редактировалось St.Snoop, 28.09.2017 в 21:31.
St.Snoop сейчас на форуме Ответить с цитированием
Старый 28.09.2017, 21:51  #14
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,111


По умолчанию

-cliptype можно вообще опустить, там в крации, зонеры добавляли несколько вариантов генерации хуллов, по итогам - все некорректные. Китаец добавил еще свой вариант и поставил его по умолчанию. Он самый правильный и экономичный. А остальные типы остались для истории.
Дядя Миша вне форума Ответить с цитированием
Старый 28.09.2017, 22:18  #15
Greatfox
Greatfox
аватар ктулху
Регистрация: 27.09.2010
Адрес: не дом и не улица
Сообщения: 40


По умолчанию

-lightdata - вручную задаёшь максимальный объём памяти (в мегабайтах), выделяемый под освещение. Производительность резко упадёт (тут, полагаю, имеется в виду рост времени компиляции), но ошибки компиляции, связанные с превышением дефолтного лимита, уже не появятся.
-noemittedrange - выключает две фичи, введённые в версии 30: фикс увеличенной яркости освещения возле светящихся текстур (https://forums.svencoop.com/attachm...19&d=1354285750) и фикс теней в углах, образованных тонкой стенкой (https://forums.svencoop.com/attachm...20&d=1354285776).
-blockopaque - по умолчанию китайские компиляторы с версии 23 не дают тёмным участкам на блокирующих свет энтитях "вытекать" на фейсы, которые с этими энтитями пересекаются. Выставив данный параметр на 0, эту фичу можно выключить.

2 Дядя Миша:
По умолчанию - это который simple? Там про фикс алгоритма precise написано, мол, при пересечении 3 плоскостей клипов в одной точке игрок в ней застревает, и характерно это для более точных алгоритмов, для чего введена дополнительная проверка для выявления и починки таких ситуаций.
Greatfox вне форума Ответить с цитированием
Старый 28.09.2017, 22:25  #16
St.Snoop
St.Snoop
Mockingj4y
Регистрация: 10.02.2012
Адрес: Hidden Pool
Возраст: 19
Сообщения: 1,930


По умолчанию

2 Дядя Миша:
Ок
[ Цитата ] Сообщение от Greatfox: -lightdata - вручную задаёшь максимальный объём памяти (в мегабайтах), выделяемый под освещение. Производительность резко упадёт (тут, полагаю, имеется в виду рост времени компиляции), но ошибки компиляции, связанные с превышением дефолтного лимита, уже не появятся.
Спасибо, но зачем выделение памяти под освещение например HLCSG/HLBSP, если они его не просчитывают?
St.Snoop сейчас на форуме Ответить с цитированием
Старый 28.09.2017, 23:55  #17
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,111


По умолчанию

[ Цитата ] Производительность резко упадёт
Это просто размер лумпа под лайтмапы. Чтобы не словить ошибку MAX_MAP_LIGHTING. На скорость не влияет.
[ Цитата ] Там про фикс алгоритма precise написано
Precise не лучше simple, а клипнодов жрёт гораздо больше.
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2017, 15:36  #18
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 26
Сообщения: 16,377


По умолчанию

К слову на удивление даже здесь не встречается ключ _diffuse_light, очень полезная штука, но к сожалению ей мало кто пользуется, и в документации она почти никогда не встречается.
FiEctro вне форума Ответить с цитированием
Старый 30.09.2017, 15:48  #19
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,111


По умолчанию

2 FiEctro: потому что это хак
Дядя Миша вне форума Ответить с цитированием
Старый 30.09.2017, 23:56  #20
St.Snoop
St.Snoop
Mockingj4y
Регистрация: 10.02.2012
Адрес: Hidden Pool
Возраст: 19
Сообщения: 1,930


Ok

Собсно доделал перевод. Возможны опечатки, мелкие косяки — пишите о них, исправлю.

Последний раз редактировалось St.Snoop, 02.10.2017 в 20:13.
St.Snoop сейчас на форуме Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 21:20.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2017 by CS-Mapping.com.ua Community