В этой главе я расскажу вам как создать воду на вашей карте. Для начала нужно сказать что воду можно реализовать двумя способами: Просто создать браш, окрашенный текстурой воды. Создать solid-baset entity - func_water. Давайте рассмотрим каждый способ подробнее. 1. Первый способ создания воды такой: Просто построить браш окрашенный текстурой воды. Имена "водяных" текстур начинаются с восклицательного знака ( ! ), например !waterblue. После создания такого браша, в игре в нем можно будет плавать, тонуть... НО! В случае если вы предпочтете такой способ создания воды, то знайте - ваша вода не будет иметь волн, и не сможет двигатся. В этом случае нам поможет второй способ. 2. Второй способ создать воду, это использовать entity func_water. Для начала создайте браш, окрашенный текстурой воды. Потом выделите его, и нажмите To Entity, а там выберите func_water, с такими параметрами: Render mode - ставьте texture, чтобы вода была прозрачной. FX ammount - уровень прозрачности (от 0 до 255). Contents - тип воды (просто вода, кислота, или лава). Wave height - уровень колыхания волн. Также, у объекта func_water есть параметры как и у func_door'а. Это сделано для того, чтобы воду можно было двигать. Например, в халфе есть места, где вода начинает подниматься - это просто вода двигается вверх (как дверь). Чтобы сделать такое на своей карте, просто укажите воде параметры движения (там скорость, угол...), и не забудьте про имя. После этого создайте что-либо, что будет активировать func_water. Вот и все - вода будет двигатся. Думаю я понятно объяснил как создать воду, и теперь пора переходить к более сложным примерам. Сейчас мы обсудим как создать воду с течением, и водопад. Вода с течением Для создания воды с течеием, которое будет двигать игрока, нужно 3 объекта: func_water, func_conveyor и trigger_push. 1. Создайте браш-воду. Используйте текстуру начинающуюся на SCROLL, например SCROLLWATER1. Это нужно, чтобы был эффект движения воды. Потом обратите этот браш в func_conveyor, и установите нужную скорость, и укажите направление движения с помощью стрелочки Angle. Установите флаги No push и Not solid. Not push - это чтобы конвейер не двигал игрока, потому что от конвейера нам нужет только эффект движения воды, а передвижением игрока займется trigger_push. А флаг Not solid нужно включить, чтобы конвейер был нематериальным (это-ж типа вода). 2. Сделайте копию объекта func_conveyor, и переведите ее в func_water. Установите параметры отображения: Render mode - Texture, FX amount - 0. После этого объект func_water будет невидимым. Нам нужен только эффект воды, а не ее отображение (этим func_conveyor займется). 3. Сделайте еще одну копию func_conveyor, и переведите ее в trigger_push. Установите направление движения стрелочкой Angle, и незабудьте указать скорость передвижения. Вот теперь вода с течением готова - она и течет:) и двигает игрока по направлению течения. Водопад Для начала нужно создать браш, который будет водопадом. Окрасьте этот браш текстурой +1LASERFALL (halflife.wad). Текстура +1LASERFALL - анимированная, так что в игре будет эффект движения воды. Потом делаем из этого браша энтити func_illusionary, с такими параметрами: Render mode - texture. FX ammount - уровень прозрачности. Contents - Empty. Вот водопад и готов! Теперь возле него можно поставить ambient_generic, со звуком воды, и env_sprite, со спрайтом брызг (а лучше несколько, если водопад широкий). Я надеюсь вы поняли все выше изложенное, и теперь прекрасно знаете как создать воду на карте во всех ее проявлениях :) |