Мало кто обращает внимание на параметры воды, то есть энтити-объекта func_water. Ведь чтобы сделать простую воду вполне хватает выставить свойства отображения, чтобы вода была прозрачной и высоту волн.
Но ведь вода обладает всеми параметрами объекта func_door (!!!) такими, как скорость и направление движения. Таким образом, мы можем заставить воду двигаться.
Итак, разместим обычную воду func_water в бассейне (смотрите картинку ниже).
Выставим для воды следующие свойства:
Angle — Down (вода будет опускаться вниз, поэтому данное значение); Name — water1 (это название мы укажем в параметрах кнопки, при нажатии на которую, вода начнёт спускаться); Render Mode — Texture (данный режим сделает воду полупрозрачной); FX Amount — 50 (степень прозрачности воды. Чем ближе к нулю, тем прозрачнее и, наоборот, чем ближе к 255, тем непрозрачнее); Speed — 20 (скорость юнитов в секунду, с которой вода будет спускаться/подниматься); Lip «-2» (отрицательное значение заставит воду опуститься ниже
дна бассейна на 2 юнита. Это нужно, чтобы вода полностью скрылась под
бассейном); Wave Height 0.5 (высота волн в юнитах);
Флажки:
Toggle — нужно отметить данный флажок, чтобы вода не поднималась автоматически, а только при активации кнопкой.
На дне бассейна мы разместили пару-тройку маленьких энтити-объектов func_water произвольной формы, полученной обрезанием инструментом Clip
(смотрите картинку ниже). Высота данных следов воды — один юнит. Данные
«лужи» будут имитировать остатки воды, после того, как она сольется
(уйдет вниз).
Свойства этих лужиц следующие:
Render Mode — Texture (данный режим сделает лужицы полупрозрачными); FX Amount — 15 (степень прозрачности воды. Отметим, что лужицы
сделаны более прозрачными, чем основная вода (значение: 50). Это
сделано, чтобы снаружи, когда вода еще находится в бассейне, данных луж
не было видно).
Ну, и последнее. Сделаем кнопку энтити-объектом func_button (смотрите картинку ниже) и запишем в параметре «Targetted object» — название воды, то есть water1.
Также выставим «Delay before reset»: 7 секунд (в течении данного
времени кнопку нельзя будет нажать повторно. Время рассчитано, исходя из
размера воды по высоте и скорости ее движения (высота/скорость). 124 :
20 = примерно 6 секунд. Мы добавили одну секунду на всякий случай :-) Во
флагах мы также отметили «Don't move» и «Toggle».
Вот и всё, бассейн готов! При нажатии на кнопку вода начнет медленно
сливаться в течении 6-7 секунд. Когда она полностью уйдет под бассейн
(благодаря параметру Lip = -2), на его дне останется 3 маленьких лужицы
воды. Повторное нажатие на кнопку (через 7 секунд) вызовет подъем воды, и
лужицы станут незаметны из-за своей более высокой прозрачности.
А так выглядит бассейн в игре:
Как видите, всё достаточно просто! Но если что-то осталось для вас
непонятым, или вы просто хотите попрыгать с трамплина в бассейн :-), то в
любой момент можете скачать наш уровень-пример.