Контроль над порталами

From Valve Developer Community
Jump to: navigation, search
English
Создание уровней Portal


Контроль над порталами - это основа для любой головоломки в Portal, ведь если игрок может ставить порталы где угодно, уровень становится легким и неинтересным. Ниже описаны основные способы контроля над порталами.

Текстуры

Портал не может быть поставлен на текстуре со строкой "%noportal" 1 в ее .vmt файле. По умолчанию, многие текстуры из папки concrete "любят" порталы, а вот текстуры из папки metal запрещают их на себе ставить. Это основной способ запретить игроку ставить на стене порталы.

func_noportal_volume

Этот брашевый энтити запрещает ставить порталы внутри себя.

Чтобы создать его, нужно покрыть брашем какую-либо зону (напр. потолок и пол комнаты с лифтом), закрасить его текстурой tools/toolsinvisible или nodraw, а затем превратить в энтити func_noportal_volume.

func_portal_bumper

А этот брашевый энтити используется на стыке между портальными и не-портальными текстурами. Если игрок поставит портал не полностью на портальную поверхность, то этот энтити "сдвинет" портал на нужную поверхность.

Чтобы создать его, нужно покрыть брашем место стыка текстур разного типа, закрасить его текстурой tools/toolsinvisible или nodraw, а затем превратить в энтити func_portal_bumper.

trigger_portal_cleanser

Когда игрок проходит через этот брашевый энтити, все порталы, поставленные игроком, уничтожаются. Также этот энтити уничтожит все физические объекты, проходящие сквозь него (как кубики, сферы или камеры). Уже мучают воспоминания о друге-кубике?

Чтобы создать его, нужно перекрыть брашем требуемый проход, закрасить его текстурой tools/toolsinvisible или nodraw, а затем превратить в энтити trigger_portal_cleanser. Используется в создании поля раскаленных частиц.

func_portal_orientation

Этот брашевый энтити поворачивает порталы, чтобы они всегда были направлены в одну сторону.

Чтобы создать его, нужно создать браш, закрасить его текстурой tools/toolsinvisible или nodraw, а затем превратить в энтити trigger_portal_orientation. Потом нужно изменить в нём параметр AnglesToFace, чтобы настроить требуемое направление низа портала.