Школа Counter-Strike - Часть 15.2 Вода с течением

Мир Counter-Strike

Приветствую Вас Гость | RSSГлавная | Часть 15.2 Вода с течением | Регистрация | Вход
Главное меню
Теория CS
Видео школа CS 1.6
Скачать
Магазин
Мастерская
Арт-Cs
Новые видео уроки CS 1.6Новые материалы и файлы


Учебник по созданию карт
Часть 15. Вода.

Часть 15.2 Вода с течением

Из данного материала вы узнаете, как создать воду с движением, толкающим игрока. От вас потребуется знание слудующих энтити-объектов:

- ambient_generic
- func_conveyor
- func_water
- trigger_push

Ambient_generic — для озвучивания потока воды с помощью стандартного файла waterrun.wav;
Func_conveyor — для изображения текущей воды и изменения визуальной (не физической) скорости движения потока;
Func_water — для имитации нахождения игрока в воде (данный энтити-объект будет совершенно прозрачен);
Trigger_push — для толкания игрока в сторону движения потока с определенной скоростью.

Сделаем в какой-либо канаве браш, окрасим его со всех сторон текстурой SCROLLWATER1 (это скроллящаяся текстура, на это указывает слово SCROLL в имени текстуры) и превратим нажатием комбинации клавиш [Ctrl-T] в энтити-объект func_conveyor (смотрите картинку ниже). Данный энтити-объект предназначен для создания конвейера, но, мы воспользуемся им для создания эффекта движущегося потока.

Создаем func_conveyor, который будет изображать течение воды


Обычно, игрок, наступивший на конвейер, перемещается в направлении, указанном углом «Angle». Нам же нужно, чтобы игрок не только наступал на конвейер (поток воды), но и мог находиться внутри него, а посему выставим флажки «No Push» и «Not Solid». Что же, у энтити-объекта func_conveyor будут следующие свойства:

Render Mode — Texture (данный режим придаст потоку воды прозрачность);
FX Amount — 210 (степень прозрачности потока. Чем ближе значение к нулю, тем поток прозрачнее и, наоборот, чем ближе к 255, тем непрозрачнее);
Conveyor Speed — 50 (скорость движения конвейера (потока воды). Так как у нас через поток можно будет проходить, этот параметр определяет скорость движения текстуры воды SCROLLWATER1).

Флажки:

No Push — не толкать игрока (толкать будет энтити-объект trigger_push);
Not Solid — данный флажок делает поток нематериальным. Это нужно, иначе игрок сможет ходить только по поверхности воды, а не по дну канавы).

Теперь скопируем энтити-объект func_conveyor и вставим на то же самое место. Теперь у нас два func_conveyor в одном месте. Но мы сейчас это исправим! Нажмем [Alt-Enter], чтобы вызвать свойства нового объекта и в списке выберем func_water.

Примечание: чтобы выделить в 3D виде требуемый энтити-объект при условии, что на 1 и том же месте расположены 2 или больше объектов, нужно нажать и удерживать левую кнопку мыши на объектах. Объекты под курсором будут выделяться по очерёдно. Имена энтити-объектов показываются в строке состояния снизу.

Что же, превратив 1 из энтити-объектов func_conveyor в func_water, выставим для него (func_water) следующие параметры:

Render Mode — Texture (данный режим отображения придаст воде прозрачность);
FX Amount — 0 (тут обязательно поставьте 0!).

Такие свойства создадут совершенно прозрачную воду. Ведь нам нужно создать лишь эффект нахождения игрока в потоке воды, а саму воду изображает func_conveyor.

И последний энтити-объект, который необходимо создать — это trigger_push. Выделите объект func_conveyor ИЛИ func_water (без разницы какой). Скопируйте его и вставьте где-либо около будушего потока воды. Замените на нем текстуру жидкости на всех сторонах на спец. текстуру AAATrigger. Нажмите [Alt-Enter] и в списке на этот раз выберите trigger_push. Для данного энтити-объекта укажите только 1-но свойство:

Speed of push — 100 (скорость, с которой поток будет толкать игрока. Нужно опытным путем, меняя данный параметр и скорость движения текстуры воды в объекте func_conveyor, добиться совпадения скорости толкания игрока триггером и скорости движения текстуры, объект func_conveyor).

Поместите данный триггер опять же в то же самое место, где расположены уже 2 объекта: func_conveyor и func_water (смотрите картинку ниже). Таким образом, у нас в 1-ом и том же месте будут находится 3 объекта! Вот такая веселуха! :-)

Создаем trigger_push, который будет толкать игрока в воде


Пока что мы ничего не сказали о направлении движения потока (направлении движения текстуры от объекта func_conveyor и направлении толкания игрока объектом trigger_push). Ведь может получиться так, что вода будет течь перпендикулярно берегам, а игрока будет толкать вдоль, что, как вы понимаете, недопустимо.

Направление толкания игрока задается в параметре «Angle» объекта trigger_push, а направление движения текстуры нужно задать градусом, под которым нанесена текстура на объект func_conveyor. Данный градус показывается на панели работы с текстурами Face Properties в параметре Rotation. При надобности измените данный угол на 90 градусов, 180 градусов, 270 градусов или 0 градусов.

Следует отметить, что на нашем уровне-примере на виде сверху получаются одни градусы, а в игре — другие, поэтому направление течения и толкания мы определяли опытным путем.

А теперь сделаем поток воды чуть более реалистичным. Разместим над поверхностью воды 2 звука (объекты ambient_generic, смотрите картинку ниже):

Создаем два объекта ambient_generic для озвучивания потока воды


Выставим для них следующие свойства:

Path/filename.wav of WAV — ambience/waterrun.wav (звук течения воды, при надобности вы можете его поменять);
Volume (10=loudest) — 8 (громкость звука. Минимум: 0, максимум: 10).

Флажки:

Medium Radius — средний радиус звучания звука (при надобности измените).


 
Форма входа
Гость

Здравствуйте Гость! Пожалуйста зарегестрируйтель или зайдите под своим ником.biggrin
Поиск по сайту
Облако тегов
Тактика в CS 1.6
Опрос
Сколько Вам лет?
Всего ответов: 1375
Материалы
Comments: 49
Forum: 12/45
News: 6
Downloads: 250
Guestbook: 57
Кто онлайн

Онлайн всего: 1
Гостей: 1
Пользователей: 0
uCoz
При копировании материалов активная ссылка на world-cs.net обязательна © 2016