Ru/Controlling portals
Контроль над порталами это база для любой карты Portal типа "пазл". Если игрок может создать портал де угодно то уровень становится легким и неинтересным. Далее будет описано как запретить игроку ставить порталы, либо же помочь ему в этом.
Текстуры
Портал не может быть поставлен на текстуре со строкой "%noportal" 1 в ее .vmt файле. По умолчанию, многие текстуры concrete "любят" порталы, а вот metal запрещяют их на себе ставить. Это основной спосов запретить игроку ставить на стене порталы.
func_noportal_volume
Этот брашевый энтити запрещяет ставить на себе порталы. Чтобы сделать такое, нужно покрыть этим энтити какую-либо стенку (потолок, пол и т.д.) и зактрасить его в текстуру tools/toolsinvisible или nodraw.
func_portal_bumper
А этот брашевый энтити используется на углах между portal-enabled и portal-disabled текстурах. Если игрок поставит портал не полностью на portal-enabled поверхность, то этот энтити "сдвинет" портал на нужную поверхность. Просто создайте на месте стычки текстур разного типа браш, и привратите его в func_portal_bumper и перектасте в текстуру NoDraw!.
trigger_portal_cleanser
Когда игрок проходит через этот триггер, все порталы на карте уничтожаются . Также триггер уничтожит все физические обьекты, проходящие сквозь него (как кубики, сферы или камеры). Уже мучают воспоминания о друге кубике???. Чтобы создать это, просто растяните браш на нужное пространство. Не забудьте про текстуру NoDraw.
func_portal_orientation
Этот брашевый энтити помогает порталам "сориентироватся" в пространстве. Параметр AnglesToFace отвечает за направление низа порталов.