User:Adding Water russian translation

From Valve Developer Community
Revision as of 20:29, 7 June 2024 by Zakecoc41 (talk | contribs)
Jump to navigation Jump to search
English (en)

Вода — Это очень сложный шейдер в движке Source: она анимирована, отражающая, освещена туманом, преломляющая, с рельефом, и может также течь, в зависимости от версии движка. Со всей этой сложностью существуют правила и ограничения по тому, как ее размещать и какой вид воды использовать в различных ситуациях.

"Дорогая" вода

В таком виде выглядит лучше всего, но это также самое дорогое. Этот шейдер будет отражать мир вокруг него, преломлять и затуманивать мир под ним (на основе линейного интеграла через объем воды), анимировать текстуру с рельефной картой на поверхности. Хотя результаты фотореалистичны, стоимость иногда может быть слишком высокой для сложных сцен.

Note.pngNote:Дорогая вода будет работать правильно только при условии соблюдения всех требований.

"Дешевая" вода

Для ситуаций, когда требуется более простое водное решение (обычно из-за производительности), можно использовать "дешевую" воду. Эта версия воды не отражает мир вокруг нее, что делает ее менее реалистичной, но также значительно более дешевой. Дорогая вода переходит на дешевую воду на видеокартах, которые не могут поддерживать необходимые для правильного рендеринга настройки. Она также переходит на этот материал, если пользователь переопределяет настройки качества изображения воды во вкладке видео в игре.

Требования

Чтобы сделать более эффективно, вода также обладает набором правил относительно ее размещения и использования на карте.

  • В одном PVS может быть только один уровень высоты воды, если вода дорогая.
  • "Дорогая" и "Дешевая" вода не могут быть использованы одновременно в одном PVS.
Note.pngNote:Так как 3D Skybox не считается частью PVS, дорогая вода в PVS не мешает использовать дешевую воду в Skybox. Комбинирование дорогой и дешевой воды внутри Skybox тоже кажется возможным, хотя для этого требуется экспериментировать.
Note.pngNote:Поскольку 3D Skybox не считается частью PVS, то увидеть дорогую воду в skybox без дорогой воды в PVS приведет к тому, что отражения на воде будут отображаться неточно.
  • Поверхность воды никогда не должна наклоняться по оси Z; она всегда должна быть параллельна линии горизонта на карте.
  • Вода создается путем применения водного материала к верхней поверхности браши, при этом остальные грани покрываются текстурой tools\toolsnodraw.
  • Сущность water_lod_control управляет дистанцией, на которой дорогая вода переходит в дешевую.
  • Чтобы поверхность воды правильно отображалась на аппаратных средствах ниже DX9, необходим наличие сущности env_cubemap.
  • Ареапорталы и Визкластеры никогда не должны пересекать поверхность воды.
  • Браш воды не закрывает seal (лики) вашей карты.

Вода не работает с браш-объектами и не должна быть привязана к объекту. Брашевые объекты с водой включенной в них не будут правильно отображаться. Единственные исключения это — func_water_analog и func_water.

Note.pngNote:Дорогая вода не отражает 3D Skybox, даже если она находится в 3D skybox. Дорогая вода в skybox будет отражать мир. (Однако отражения не будут правильно отображаться, если нет дорогой воды в PVS.)

Создание

Чтобы добавить воду на вашу карту, выполните следующие шаги:

  1. Создайте браш размером с объем воды с помощью инструмента блоков (Block Tool).
  2. Откройте Texture Browser нажав кнопку Browse на панели текстур.
  3. Дважды щелкните по материалу tools\toolsnodraw в Браузере текстур (Texture Browser).
  4. Выберите браш с водой и нажмите кнопку Apply Current Texture, чтобы нанести текстуру tool textures|tools\toolsnodraw.
  5. Выберите инструмент Texture Application, который открывает режим Face Edit.
  6. Щелкните левой кнопкой мыши на верхней грани браша с водой в виде 3D, чтобы выбрать ее.
  7. Нажмите Browse чтобы снова открыть Texture Browser.
  8. Введите water в поле filter. Это покажет вам все текстуры с ключевым словом water в их названии.
  9. Выберите текстуру воды для применения, дважды щелкнув по ней. Одна из текстур воды для тестов nature/water_canals_water2.
  10. Нажмите кнопку Apply на панели Face Edit.
  11. Браш должен быть правильно окрашен водой со всех нужных сторон. Скомпилируйте, запусти и протестируйте свою карту (с включенным VVIS и VRAD).

Чтобы корректно отображались поверхности воды, на карте должен быть skybox (небо), а браш воды должен быть прямоугольной формы. Браш может пересекаться с другими брашами, чтобы скрыть ненужные области. Если вода не отображается правильно (её не видно), значит где-то есть утечка (дыра в карте).

Особенности игры

  • Left 4 Dead 2 Карты L4D2 также требуют наличия env_fog_controller.
  • Alien Swarm Все водные браши в Alien Swarm должны быть прикреплены к func_brush с названием "structure_seal".
  • Portal Чтобы создать радиоактивную воду в Portal, необходимо использовать текстуру nature/hazard_liquid.

Cubemaps и Вода

Cubemaps важно использовать с водными поверхностями. На видеокартах ниже уровня DX9 невозможно отрисовать рефлективный шейдер воды в реальном времени. Для таких карт используется сущность env_cubemap, которая предоставляет предварительно рассчитанную карту окружения для отрисовки воды на картках ниже уровня DX9.

Добавление env_cubemap к водным поверхностям:

  1. Добавьте env_cubemap с помощью инструмента Entity Tool.
  2. Разместите env_cubemap над поверхностью воды, близко к центру.
  3. Дважды щелкните на env_cubemap в 3D виде, чтобы открыть диалоговое окно Свойства объекта (Properties).
  4. Нажмите на Brush faces в свойствах объекта Object Properties.
  5. Нажмите кнопку Pick... — Курсор мыши изменится на иконку пипетки.
  6. Кликните на верхнюю поверхность воды, чтобы выбрать ее с помощью пипетки. Поверхность подсветится красным, чтобы показать, что она связана с сущностью env_cubemap.
  7. Закройте окно Object properties (Свойства объекта).
  8. Скомпилируйте и запустите свою карту. После загрузки карты откройте консоль разработчика и введите в консоль команду buildcubemaps. Движок рассчитает карту окружения для каждой сущности env_cubemap и сохранит данные в файл BSP.

Смотрите также

Внешние ссылки