Дверь тестовой камеры
Это руководство покажет вам, как шаг за шагом построить двери тестовых камер, которые можно увидеть в тестовых камерах игры 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
Настройте сущность, открывающий дверь, так, чтобы он отправлял Output Open двум door_left и door_right, когда дверь должна открыться, и Output Close для её закрытия.