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

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

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