This article relates to the game "Portal". Click here for more information.

Дверь тестовой камеры

From Valve Developer Community
< Ru
Jump to navigation Jump to search

English (en)Русский (ru)中文 (zh)Translate (Translate)

Это руководство покажет вам, как шаг за шагом построить двери тестовых камер, которые можно увидеть в тестовых камерах игры Portal. Эти двери часто используются для ограничения доступа к выходу, пока игрок не пройдёт задание, однако они также могут быть частью головоломки.

Создание двери

Шаг №1: дверной проём

Создайте браш с размерами 32д × 128ш × 128в. Затем, используйте инструмент обрезки(en) Hammer ClippingTool.png, чтобы создать три горизонтальных разреза на 24, 48 и 84 юнитах от верха, соответственно.

После этого, выберите второй, считая от верха, и сделайте диагональный разрез от верхнего бокового угла, отступив на 48 юнитов, до нижнего бокового угла, отступив на 16 юнитов относительно края браша. Проделайте то же самое с другой стороны, удалив треугольник, который останется по середине.

Далее, выберите браш, находящийся под предыдущим. Сделайте диагональный разрез от верхнего бокового угла, отступив на 16 юнитов, до нижнего бокового угла. Проделайте то же самое с другой стороны, удалив лишний треугольник.

Теперь, выберите нижний браш и проделайте диагональный разрез от верхнего бокового угла до нижнего бокового угла, отступив на 20 юнитов. Проделайте то же самое с другой стороны, затем удалите треугольник, который останется по середине.

Наконец, выделите все браши, объединив их в сущность func_detail. После этого, примените к лицевой и тыльной стороне те же текстуры, что и у стены, где будет располагаться дверь. К оставшимся сторонам примените текстуру tools/toolsnodraw.


Фотографии к этим действиям (размер сетки — 4 юнита)

Шаг №2: рама

Проём с рамой двери

Создайте сущность prop_static и поменяйте параметр World Model на models/props/door_01_frame_wide_reference.mdl. Выровняйте раму так, чтобы она разместилась в проёме.

Шаг №3: створки

Левая створка двери
Правая створка двери

Создайте браш с размерами 8д × 56ш × 104в, покрытый текстурой tools/toolsnodraw. Выровняйте его по слева относительно центра двери и превратите элемент в сущность func_door. Убедитесь, что все чекбоксы во вкладке Flags отключены. Задайте следующие свойства объекта:

Название параметра Значение
Name door_left
Speed 250
Stop Sound Doors.FullClose8
Delay Before Reset -1
Lip 12
Move Direction 0 270 0

Затем, создайте такой же браш (8д × 56ш × 104в) с текстурой tools/toolsnodraw, но выровняйте его справа относительно центра двери. Превратите браш в сущность func_door; убедитесь, что все чекбоксы во вкладке Flags отключены и задайте следующие свойства объекта:

Название параметра Значение
Name door_right
Speed 250
Stop Sound Doors.FullClose8
Delay Before Reset -1
Lip 12
Move Direction 0 90 0

Шаг №4: модели

Модель левой створки двери
Модель правой створки двери

Создайте Сущность prop_dynamic, задайте ей следующие свойства:

Название параметра Значение
Parent door_right
World Model models/props/door_01_rtdoor_reference.mdl
Name model_door_right

Выровняйте сущность так, чтобы она закрывала door_right.


Затем, создайте другой prop_dynamic, задав ему следующие параметры:

Название параметра Значение
Parent door_left
World Model models/props/door_01_lftdoor_reference.mdl
Name model_door_left

Выровняйте сущность так, чтобы она закрывал door_left

Шаг №5: свет

Сущность info_lighting_relative

Создайте сущность info_lighting_relative перед дверью, подняв её на 56 юнитов относительно пола. Назовите её lighting_relative. Теперь поставьте параметр Lighting Origin у двух model_door_right и model_door_left на lighting_relative


Теперь дверь должна быть полностью завершённой и готовой к внедрению на карту.

Внедрение

Дверь в игре

Шаг №1

Разместите дверь внутри стены так, чтобы она полностью входила в нишу в стене. При необходимости измените параметры Pitch Yaw Roll у дверей так, чтобы всё совпадало, а двери открывались в верном направлении.

Шаг №2

Настройте сущность, открывающий дверь, так, чтобы он отправлял Output Open двум door_left и door_right, когда дверь должна открыться, и Output Close для её закрытия.

Смотрите также