|
Вода с течением
В этой статье мы расскажем как можно сделать воду с течением, которое будет толкать игрока. Для создания воды с течением мы будем использовать следующие энтити-объекты:
ambient_generic
func_conveyor
func_water
trigger_push
Ambient_generic — для озвучивания потока при помощи стандартного файла waterrun.wav;
Func_conveyor — для изображения воды и изменения визуальной (не физической) скорости движения потока воды;
Func_water — для имитации нахождения игрока в воде (этот объект будет невидимым);
Trigger_push — для толкания игрока в сторону движения потока с определенной скоростью.
Создадим в каком-нибудь углублении браш, окрасим его со всех сторон текстурой SCROLLWATER1 (это двигающаяся текстура, на это указывает слово SCROLL в названии) и превратим в объект func_conveyor (см. рис. ниже). Этот объект предназначен для создания конвейера, однако, мы будем использовать его для создания эффекта движения потока.
В обычном случае, игрок, наступивший на конвейер, перемещается в направлении, указанном углом «Angle». Нам же необходимо, чтобы игрок не только наступал на конвейер (поток воды), но и мог находиться внутри него, поэтому выставим флаги «No Push» и «Not Solid». Итак, у объекта func_conveyor будут следующие свойства:
Render Mode — Texture (этот режим придаст потоку прозрачность);
FX Amount — 210 (степень прозрачности потока. Чем ближе значение к 0, тем поток прозрачнее и чем ближе к 255, тем непрозрачнее);
Conveyor Speed — 50 (скорость движения конвейера (потока). В нашем случае, т.к. через поток можно будет проходить, этот параметр определяет скорость движения текстуры воды SCROLLWATER1).
Флаги:
No Push — не толкает игрока (толкать будет специальный объект trigger_push);
Not Solid — этот флаг делает поток нематериальным. Это необходимо, иначе игрок сможет ходить только по поверхности воды).
Теперь скопируем func_conveyor и вставим на то же самое место. Нажмем [Alt-Enter], чтобы вызвать свойства объекта и в списке выберем func_water.
Примечание: чтобы выбрать в 3-х мерном виде нужный объект при условии, что на одном и том же месте находятся два или больше объектов, необходимо нажать и удерживать левую кнопку мыши на объектах. Объекты, попадающие под курсор, будут выбираться по очереди. Названия объектов показываются в строке подсказок снизу.
Итак, изменив один из объектов func_conveyor в func_water, выставим для него (func_water) следующие свойства:
Render Mode — Texture (этот режим придаст воде прозрачность);
FX Amount — 0 (здесь обязательно поставьте ноль).
Такие параметры сделают воду абсолютно прозрачной, невидимой в игре, ведь нам необходимо создать лишь эффект нахождения игрока в потоке воды, а саму воду изображает func_conveyor.
И последний объект, который непосредственно относится к потоку, это trigger_push. Выберите объект func_conveyor или func_water (без разницы какой именно). Скопируйте его и вставьте где-нибудь около будушего потока. Замените на нем текстуру воды на всех сторонах на специальную текстуру AAATrigger. Нажмите [Alt-Enter] и в списке на этот раз выберите trigger_push. Для этого объекта выставьте только один параметр:
Speed of push — 100 (скорость, с которой поток будет толкать игрока. Необходимо опытным путем, меняя этот параметр и скорость движения текстуры воды в объекте func_conveyor, добиться совпадения скорости толкания и скорости движения текстуры).
Поместите этот объект опять же в то же самое место, где находятся уже два объекта: func_conveyor и func_water (см. рис. ниже). Таким образом, у нас в одном и том же месте будут находится три объекта.
Пока что мы не сказали ни слова о направлении движения потока (направлении движения текстуры и направлении толкания игрока). Ведь может получиться так, что вода будет течь перпендикулярно берегам, а игрока будет толкать вдоль, что не очено-то правильно.
Направление толкания игрока задается в параметре «Angle» объекта trigger_push, а направление движения текстуры необходимо задать углом, под которым нанесена текстура на объект func_conveyor. Этот угол показывается на панели работы с текстурами Face Properties в параметре Rotation. При необходимости измените этот угол на 90°, 180°, 270° или 0°.
Следует заметить, что на нашей карте-примере на виде сверху получаются одни углы, а в игре другие, поэтому направление течения и толкания мы определяли опытным путем.
Теперь придадим потоку немного реалистичности. Разместим над поверхностью воды два звука (объекты ambient_generic, см. рис. ниже):
Выставим для них следующие свойства:
Path/filename.wav of WAV — ambience/waterrun.wav (звук течения воды, при необходимости Вы можете его поменять); Volume (10=loudest) — 8 (громкость звука. Минимум: 0, максимум: 10).
Флаги:
Medium Radius — средний радиус распространения звука (при необходимости измените).
Ну, чтож, после довольно долгого создания и подбора углов движения воды и толкания игрока у Вас должен получиться довольно реалистичный поток воды. Главное, чтобы это кому-нибудь было нужно
|
Категория: Вода | Добавил: root (08/04/18)
|
Просмотров: 538
| Рейтинг: 0.0/0 |
|
|
Статистика |
Полный онлайн - 1 Гостей - 1 Участников - 0 |
|