Дверь тестового отсека
Это руководство рассказывает, как шаг за шагом построить двери тестовых отсеков, которые можно увидеть в тестовых камерах игры Portal. Эти двери часто используются для ограничения доступа к выходу, пока игрок не пройдёт задание, однако они также могут быть частью головоломки.
Создание двери
Шаг №1: дверной проём
Создайте элемент карты с размерами 32д × 128ш × 128в. Затем, используйте инструмент обрезки
, чтобы создать три горизонтальных разреза на 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 перед дверью, подняв её на 56 юнитов относительно пола. Назовите её lighting_relative. Теперь поставьте параметр Lighting Origin у двух model_door_right и model_door_left на lighting_relative
Теперь дверь должна быть полностью завершённой и готовой к внедрению на карту.
Размещение
Шаг №1
Разместите дверь внутри стены так, чтобы она полностью входила в нишу в стене. При необходимости измените параметры Pitch Yaw Roll у дверей, так чтобы всё совпадало, а двери открывали в верном направлении.
Шаг №2
Настройте объект, открывающий дверь, так, чтобы он отправлял сигнал Open двум door_left и door_right, когда дверь должна открыться, и сигнал Close для её закрытия.