Creating a rotating portalgun
В этом учебнике мы создадим вращающийся стенд с прикреплённой портальной пушкой, которая будет автоматически открывать порталы.
Contents
Подготовим модели
Потребуется две prop_dynamic
энтити, по одной для каждой из следующих моделей:
models/props/pedestal_base_reference.mdl
. Назовите еёstand_bottom_model
и установите параметр "disableshadows" на 1.models/props/pedestal_center_reference.mdl
. Назовите еёstand_top_model
.
Подготовим браши
Создаёте два браша с такими размерами:
- 32 x 32, высота - 4, использовать текстуру
tools/nodraw
. - 4 x 32, высота - 55, также использовать текстуру
tools/nodraw
.
Движение
Переместите stand_bottom_model
туда, где будет стоять стенд. Мелкие дверцы внизу модели должны находиться под землёй. Теперь переместите stand_top_model
над stand_bottom_model
, как показано на картинке справа.
Сопоставьте первый браш (с размерами 32x32) с stand_top_model
. Установите на оси Z (высоте) около половины высоты stand_top_model
.
Теперь передвиньте второй браш к стенке стенда, как показано на картинке справа.
Брашевые энити
Выберите первый браш и превратите его в func_rotating
энити со следующими параметрами:
Property Name Value Name stand_func_rotating Max Rotation Speed 30
В списке флагов снимите галочку Start ON
.
Превратите второй браш в func_door
с такими параметрами:
Property Name Value Name stand_func_door Speed 25 Move direction: 90 0 0 Delay Before Reset -1
В списке флагов снимите галочку Passable
.
Портальная пушка
Создайте энити weapon_portalgun
. Назовите её weapon_portalgun
.
Поместите её точно на макушку stand_top_model
. Портальная пушка должна быть направлена налево, если вы смотрите на stand_top_model
со стороны, где видно синюю стрелочку, как на первой картинке наверху этой страницы.
Определение аутпутов у энитей
Сделайте logic_timer
энити, назовите timer_stand и установите его refire interval на 5 секунд. Убедитесь, что start enabled у энити включён.
А теперь идём в аутпуты и пишем:
Создайте новый аутпут у stand_func_door:
Теперь делаем аутпуты у stand_bottom_model
:
И несколько аутпутов для weapon_portalgun
:
Parent-ы и "дырка"
Сейчас установим параметр parent у weapon_portalgun
и stand_top_model
на stand_func_rotating
.
Когда всё будет готово, сделайте дырку в форме цилиндра на полу ниже stand_bottom_model
, как показано на картинке справа.
Финал
Вдобавок, вы можете создать portal frame на каждой стене, на которых будут открываться порталы.
Чтобы это сделать, создайте prop_static
энити с моделью models/props/autoportal_frame/autoportal_frame.mdl
, Переместите её к стенке, на которой вы собираетесь её разместить, поверните её так, чтобы она встала параллельно к стене.
Или вы можете создать portal frame из брашей с такими параметрами:
- Размер - 8 x 2, высота - 128
- Расстояние между брашами - 64 юнита
- Текстура на передней стороне брашей -
signage/fixed_portal_border
- Текстуры по бокам -
signage/signage_border
Смотрите также
- Создание уровней Portal /onlyinclude>