Из данного материала вы узнаете, как создать стекло прозрачное только с 1-ой стороны.
В конце концов у нас должно получиться следующее:
На рисунке видно 2 стекла. Они сделаны по схожей технологии, однако
левое можно разбить, а правое — нет (о разбиваемом одностороннем стекле
мы пишем в следующем материале данной главы Учебника). А пока создадим
неразбиваемое стекло.
Всё достаточно просто. Сделаем в необходимом месте браш — будущее стекло — и закрасим его с одной стороны текстурой GLASSGREEN (или какой-либо другой подходящей для стекла), а с противоположной стороны — текстурой {BLUE (смотрите картинку ниже).
Теперь превратим данный браш нажатием комбинации клавиш [Ctrl-T] в энтити-объект func_wall и выставим следующие параметры (сюрприз, сюрприз :-)
Render Mode — Solid; FX Amount — 255
Вам ничего не напоминают данные параметры? Правильно, именно такие
параметры мы выставляем для всех прозрачных решеток, лестниц, заборов и
пр. подобных энтити-объектов с синими частями (с маской). Ведь синие
части в игре будут прозрачными. А это означает, что сторона стекла с
текстурой {BLUE будет совершенно невидимой, а противоположная, которая с текстурой GLASSGREEN — полностью непрозрачной (при тех же свойствах).
Что же, полдела сделано. Почему только полдела? А вот почему.
Согласитесь, что будет не очень реалистично видеть абсолютно
непрозрачное стекло с одной стороны и не видеть ничего с другой (ведь
синяя часть с текстурой {BLUE будет совершенно прозрачной, как-будто
стекла там и нет). Нехорошо!
А решается данная проблема очень просто. Нужно сделать простое стекло из объекта func_wall (точно таких же размеров, как и первое), закрасить его на этот раз уже со ВСЕХ сторон текстурой GLASSGREEN и выставить следующие свойства:
Render Mode — Texture; FX Amount — 70 (это прозрачность стекла, значения от 0 до 255)
Размещаем второе стекло вплотную к первому, к той стороне, которая покрашена текстурой {BLUE.
Теперь игрок будет смотреть через данное 2-ое стекло, которое имеет
прозрачность 70, и прекрасно будет видеть все, что находится за ним (в
нашем случае заложника, смотрите самую 1-ую картинку). Подойдя же к
стеклу с другой стороны, игрок ничего не увидит. Трюк работает! :-)
Если вам не понятно как именно размещать второе стекло, вот рисунок с
видом сверху (2D top). Два фиолетовых прямоугольника — это и есть 2
наших стекла. Как видите, размещаются они вплотную друг к другу.
В нашем следующем материале мы расскажем как сделать точно такой же
трюк, но только с разбиваемыми стеклами. Да, конечно, мы будем
использовать вместо энтити-объекта func_wall — энтити-объект func_breakable, но это еще не всё. Есть еще маленькая хитрость! :-)