Меню сайта


[DS]: Half-Life Server
[DS]: Half-Life Server


[DS]: CS:S GunGame v34 Server
[DS]: CS:S GunGame v34 Server


[DS]: CS:S v34 Server
[DS]: CS:S v34 Server


Поиск

add_newДобавить новость
Последние добавленные
Название игры: S.I.P: Out Life
Жанр: FPS, с элементами RPG
Язык: с++, скрипты lua
G API: DirectX 9
Сайт: sip-game.su
Группа Vk: vk....
Читать далее

<JAM>
m1-palinka


HL-HEV
hl-hev

DS-Servers
Статьи
Туториалы
Маппинг
Goldsrc
Создание карт
Стекла

Стекло прозрачное только с одной стороны



Стекло прозрачное только с одной стороны
Добавил: root
2013-01-07 13:11:02
238 просмотров

В этой статье мы расскажем как можно создать стекло прозрачное с одной стороны и непрозрачное с другой. Статья взята с сайта http://countermap.counter-strike.net/Tutorials. Благодарим автора: Waldo.

В итоге у нас получится следующее:

Стекло прозрачное с одной стороны и непрозрачное с другой



На картинке Вы видите два стекла. Они изготовлены по схожей технологии, однако левое можно разбить, а правое нет (о разбиваемом одностороннем стекле Вы можете прочитать в следующей статье Учебника). А пока что займемся изготовлением неразбиваемого стекла.

Все довольно просто. Создадим в нужном месте браш — будущее стекло — и закрасим его с одной стороны текстурой GLASSGREEN (или любой другой подходящей для стекла), а с противоположной стороны — текстурой {BLUE (см. рис. ниже).

Текстура GLASSGREEN с одной стороны и {BLUE с противоположной



Теперь превратим этот браш в func_wall и выставим следующие свойства (сюрприз, сюрприз :)

Render Mode — Solid;
FX Amount — 255

Вам ничего не напоминают такие свойства? Правильно, именно такие свойства мы выставляем для всех прозрачных решеток, заборов, лестниц и прочих подобных объектов с синими частями. Ведь синие части в игре будут прозрачными. А это означает, что сторона стекла с текстурой {BLUE будет абсолютно прозрачной, а противоположная, которая с текстурой GLASSGREEN — полностью непрозрачной (при тех же свойствах).

Итак, полдела сделано. Почему только полдела? А вот почему. Согласитесь, что будет довольно странно видеть непрозрачное стекло с одной стороны и не видеть ничего с другой (ведь синяя часть будет вообще прозрачной, как-будто стекла там и нет). Нехорошо.

А решается данная проблема очень просто. Необходимо создать обычное стекло func_wall (точно таких же размеров, как и первое), закрасить его на этот раз уже со всех сторон текстурой GLASSGREEN и выставить следующие свойства:

Render Mode — Texture;
FX Amount — 70 (это прозрачность стекла, значения от 0 до 255)

Второе стекло func_wall с текстурой GLASSGREEN размещаем вплотную к первому стеклу с текстурой {BLUE



Размещаем второе стекло вплотную к первому, к той стороне, которая покрашена текстурой {BLUE. Теперь игрок будет смотреть через это второе стекло, которое имеет прозрачность 70, и прекрасно будет видеть все, что находится за ним (в нашем случае заложника, см. самую первую картинку). Подойдя же к стеклу с другой стороны, игрок ничего не увидит. Трюк работает!

Если все же не понятно как именно размещать второе стекло, вот картинка с видом сверху. Два фиолетовых прямоугольничка — это и есть два наших стекла.

Вид сверху. Второе стекло размещаем вплотную к первому стеклу с текстурой {BLUE



Ну, а в каких местах применять такое стекло решать Вам. Можно разместить его в месте, где нужно дать возможность покемперить одной из команд, например, террористам, защищающим комнату с заложниками и т.п.

В нашей следующей статье мы расскажем как сделать точно такой же трюк, но только с разбиваемыми стеклами. Да, конечно, мы будем использовать вместо func_wallfunc_breakable, но это еще не все. Есть еще небольшая хитрость.


oneway_glass.zip [15Кб] — в архиве карта-пример в форматах BSP и RMF.

§ 11.1 Бьющиеся и небьющиеся стекла
§ 11.2 Стекло прозрачное только с одной стороны
§ 11.3 Стекло прозрачное с одной стороны (бьющееся)

Поделиться:
Тэги:

DS-Servers.com
Copyright © 2012-2016. All Rights Reserved.
При копировании материала ссылка на источник обязательна
За материалы, размещенные пользователями, администрация сайта ответственности НЕ несет