В данной статье речь пойдет о создании вертикальных лестниц (как на карте cs_assault и
многих
других). Для их создания мы будем использовать два новых энтити-объекта:
Лестницы в CS состоят из двух выше перечисленных объектов: func_illusionary — изображает
лестницу, func_ladder — собственно лестница (невидимая часть, по которой игрок
поднимается).
Нелишним будет сказать, что стандартным размером лестниц является 32 юнита по ширине и 3-4 юнита по толщине, а по высоте как получится. Сначала изготовим визуальную часть лестницы, которую игрок видит в игре. Для этого будем использовать текстуру с маской (с синими частями), например, {LADDER1 (также есть и другие стандартные текстуры лестниц: {ladder2, {ladder2b и т.д.).
Создадим около стены браш шириной 32 и толщиной 4 юнита. И превратим его в func_illusionary (см. рис. ниже). Чтобы синие части на текстурах были прозрачными в игре, необходимо выставить следующие параметры отображения:
Render Mode — Solid;
FX Amount — 255.
Теперь создадим невидимое в игре поле, по которому игрок поднимается на самом деле, т.к. он не
может
подниматься просто по func_illusionary
. Для этого построим точно такой же браш с размерами
32х4 юнита, только закрасим его со всех сторон специальной текстурой AAATrigger (см. рис.
ниже). Затем нажимаем [Ctrl-T] и выбираем в списке
func_ladder.

Как видите, мы разместили func_ladder вплотную к func_illusionary, это не принципиально, но, как говорится, для "чистоты" работы не помешает.
Это все! Объект func_ladder в игре будет невидим, и игрок будет в полной уверенности, что поднимается по видимой лестнице (func_illusionary), но теперь-то Вы знаете, что это не так :)
Нелишним будет сказать, что стандартным размером лестниц является 32 юнита по ширине и 3-4 юнита по толщине, а по высоте как получится. Сначала изготовим визуальную часть лестницы, которую игрок видит в игре. Для этого будем использовать текстуру с маской (с синими частями), например, {LADDER1 (также есть и другие стандартные текстуры лестниц: {ladder2, {ladder2b и т.д.).
Создадим около стены браш шириной 32 и толщиной 4 юнита. И превратим его в func_illusionary (см. рис. ниже). Чтобы синие части на текстурах были прозрачными в игре, необходимо выставить следующие параметры отображения:
Render Mode — Solid;
FX Amount — 255.
Теперь создадим невидимое в игре поле, по которому игрок поднимается на самом деле, т.к. он не
может
подниматься просто по func_illusionary
. Для этого построим точно такой же браш с размерами
32х4 юнита, только закрасим его со всех сторон специальной текстурой AAATrigger (см. рис.
ниже). Затем нажимаем [Ctrl-T] и выбираем в списке
func_ladder.
Как видите, мы разместили func_ladder вплотную к func_illusionary, это не принципиально, но, как говорится, для "чистоты" работы не помешает.
Это все! Объект func_ladder в игре будет невидим, и игрок будет в полной уверенности, что поднимается по видимой лестнице (func_illusionary), но теперь-то Вы знаете, что это не так :)
Помните, что высота ступеньки лестницы не должна превышать 16 юнитов. Это необходимо,
чтобы
игрок мог подняться на ступеньку без прыжка
. Длина ступеньки выбирается произвольно. Однако
удобнее забираться по пологим лестницам с длиной ступеньки в 32 юнита. Также часто применяют
ступеньки высотой 16 юнитов.

Нелишним будет заглянуть в "Tools\Options\General" и узнать отмечен ли флажок "Stretch arches to
fit
original bounding rectangle" — от этого зависит, как поведет себя создаваемый объект.
Наверно, удобнее отметить флажок, т.к. в этом случае мы точно знаем, какого размера будет
создаваемый объект.
При изменении любого параметра Вы можете посмотреть результат, нажав кнопку "Preview".
На следующих двух картинках показано, как лучше "поправить" вершины.
Таким же образом необходимо "подогнать" под сетку все вершины лестницы.