How do I use Water?
Unity Manual > FAQ > Graphics Questions > How do I use Water?

How do I use Water?
Как использовать воду?

Unity содержит несколько префабов воды (включая нужные шейдеры, скрипты и художественные ресурсы) в пакетах Standard Assets и Pro Standard Assets. Версия Indie содержит базовую воду, а версия Pro содержит воду с отражениями и преломлениями в реальном времени. В обеих версиях также есть отдельные префабы для дневного и ночного освещения.

Дневное освещение, отражения (Unity Pro).

Дневное освещение, отражения и преломления (Unity Pro).

Water setup

В большинстве случаев достаточно разместить в сцене один из существующих префабов.

* Unity Indie имеет Daylight Simple Water и Nighttime Simple Water в Standard Assets>Water.
* Unity Pro имеет Daylight Water и Nighttime Water в Pro Standard Assets>Water (но для этого необходимы некоторые рессурсы из Standard Assets>Water). Режим воды (Simple, Reflective, Refractive) устанавливается в Inspector.

Префеаб использует меш овальной формы для воды. Если нужно использовать другой меш, проще всего изменить настройку Mesh Filter.

Creating water from scratch (Advanced)

Простая (simple) вода в Unity Indie требует прикрепления скрипта и использования водного шейдера:

  1. Возьмите меш для воды. Это должен быть плоский меш, расположенный в горизонтальной плоскости. UV-координаты не требуются. Объект воды должен быть расположен на слое (layer) Water, что настраивается в Inspector.
  2. Прикрепите скрипт WaterSimple (из Standard Assets/Water/Sources)
  3. Используйте шейдер FX/Water (simple) в материале или настройте один из предоставляемых материалов воды (Daylight Simple Water или Nighttime Simple Water).

Вода с отражениями или преломлениями в Unity Pro требует следующих шагов:

  1. Возьмите меш для воды. Это должен быть плоский меш, расположенный в горизонтальной плоскости. UV-координаты не требуются. Объект воды должен быть расположен на слое (layer) Water, что настраивается в Inspector.
  2. Прикрепите скрипт Water (из Pro Standard Assets/Water/Sources) к объекту.
    • Режим визуализации воды настраивается в Inspector: Simple, Reflective или Refractive.
  3. Используйте шейдер FX/Water в материале или настройте один из предоставляемых материалов воды (Daylight Water или Nighttime Water).

Properties in water materials

Эти свойства используются в шейдере воды с отражениями и преломлениями. Многие из них используются и в шейдере простой воды.

Wave scale Размер карты рельефа (bumpmap) волн. Чем меньше значение, тем больше волны.
Reflection/refraction distortHow much reflection/refraction is distorted by the waves bumpmap.
Refraction color Дополнительный цветовой оттенок преломления.
Environment reflection/refraction Визуализация текстуры для отражения и преломления в реальном времени.
Bumpmap Определяет форму волн. The final waves are produced by combining two these bumpmaps, each scrolling at different direction, scale and speed. The second bumpmap is half as large as the first one.
Wave speedScrolling speed for first bumpmap (1st and 2nd numbers) and the second bumpmap (3rd and 4th numbers).
Fresnel Текстура с альф-каналом, управляющая эффектом Френеля — how much reflection vs. refraction is visible, based on viewing angle.

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

Reflective color/cube and fresnel Текстура, определяющая цвет воды (RGB) и эффект френеля (A), основанный на угле зрения.
Horizon color Цвет воды на горизонте . (используется только в шейдере simple water)
Fallback texture Текустура, использующаяся для представления воды на очень старых видеокартах, не поддерживающих шейдеры.

Hardware support

Вода с отражениями и преломлениями (Reflective+Refractive) работает с видеокартами, поддерживающими шейдеры 2.0 (GeForce FX и выше, Radeon 9500 и выше, Intel 9xx). На более старых картах, работает вода только с отражениями.
Вода с отражениями работает на видеокартах с поддержкой шейдеров 1.4 (GeForce FX и выше, Radeon 8500 и выше, Intel 9xx). На более старых картах работает только простая (simple) вода.
Простая вода работает на чём угодно.