Ru/Creating a rotating portalgun: Difference between revisions
| No edit summary | m (Multipage removal) | ||
| (13 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| {{ | {{LanguageBar}} | ||
| {{ | {{Portal topicon}} | ||
| [[ | <onlyinclude> | ||
| [[File:Picture_03.jpg|right|Width:64]] | |||
| В этом учебнике мы создадим вращающийся стенд с прикреплённой портальной пушкой, которая будет автоматически открывать порталы. | В этом учебнике мы создадим вращающийся стенд с прикреплённой портальной пушкой, которая будет автоматически открывать порталы. | ||
| == Подготовим модели == | == Подготовим модели == | ||
| Потребуется две {{ | Потребуется две {{Ent|prop_dynamic}} энтити, по одной для каждой из следующих моделей: | ||
| * <code>models/props/pedestal_base_reference.mdl</code>. Назовите её <code>stand_bottom_model</code> и установите параметр "disableshadows" на 1. | * <code>models/props/pedestal_base_reference.mdl</code>. Назовите её <code>stand_bottom_model</code> и установите параметр "disableshadows" на 1. | ||
| * <code>models/props/pedestal_center_reference.mdl</code>. Назовите её <code>stand_top_model</code>. | * <code>models/props/pedestal_center_reference.mdl</code>. Назовите её <code>stand_top_model</code>. | ||
| Line 12: | Line 13: | ||
| == Подготовим браши == | == Подготовим браши == | ||
| Создаёте два браша с такими размерами: | Создаёте два браша с такими размерами: | ||
| * 32 x 32, высота - 4, использовать текстуру <code> | * 32 x 32, высота - 4, использовать текстуру <code>{{L|tool textures|tools/nodraw}}</code>. | ||
| * 4 x 32, высота - 55, также использовать текстуру <code>tools/nodraw</code>. | * 4 x 32, высота - 55, также использовать текстуру <code>tools/nodraw</code>. | ||
| == Движение == | == Движение == | ||
| [[ | [[File:Picture_01.jpg|right|thumb|Расположение брашей и моделей.]] | ||
| Переместите <code>stand_bottom_model</code> туда, где будет стоять стенд. Мелкие дверцы внизу модели должны находиться под землёй. Теперь переместите <code>stand_top_model</code> над <code>stand_bottom_model</code>, как показано на картинке справа. | Переместите <code>stand_bottom_model</code> туда, где будет стоять стенд. Мелкие дверцы внизу модели должны находиться под землёй. Теперь переместите <code>stand_top_model</code> над <code>stand_bottom_model</code>, как показано на картинке справа. | ||
| Line 64: | Line 65: | ||
| !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnTimer || stand_func_rotating || Start || <none> || 0.00 || No | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnTimer || stand_func_rotating || Stop || <none> || 3.00 || No | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnTimer || weapon_portalgun || FirePortal1 || <none> || 3.00 || No | ||
| |} | |} | ||
| Line 76: | Line 77: | ||
| !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once    | !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once    | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnFullyOpen || stand_bottom_model || SetAnimation || close || 0.00 || No    | ||
| |} | |} | ||
| Line 84: | Line 85: | ||
| !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnAnimationDone || stand_bottom_model || SetAnimation || inactive || 0.00 || No | ||
| |} | |} | ||
| Line 92: | Line 93: | ||
| !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | !   || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnPlayerPickup || timer_stand || Kill || || 0.00 || No | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnPlayerPickup || stand_top_model || SetParent || stand_func_door || 0.00 || No | ||
| |- | |- | ||
| | [[ | | [[File:Io11.png]] || OnPlayerPickup || stand_func_door || Open ||  || 0.80 || No | ||
| |} | |} | ||
| == Parent-ы и "дырка" == | == Parent-ы и "дырка" == | ||
| [[ | [[File:Picture_02.jpg|right|thumb|Всё готово. Заметьте, что отверстие сделано на полу.]] | ||
| Сейчас установим параметр parent у <code>weapon_portalgun</code> и <code>stand_top_model</code> на <code>stand_func_rotating</code>. | Сейчас установим параметр parent у <code>weapon_portalgun</code> и <code>stand_top_model</code> на <code>stand_func_rotating</code>. | ||
| Когда всё будет готово, сделайте дырку в форме цилиндра на полу ниже <code>stand_bottom_model</code>, как показано на картинке справа. | Когда всё будет готово, сделайте дырку в форме цилиндра на полу ниже <code>stand_bottom_model</code>, как показано на картинке справа. | ||
| Line 108: | Line 109: | ||
| Вдобавок, вы можете создать portal frame на каждой стене, на которых будут открываться порталы. | Вдобавок, вы можете создать portal frame на каждой стене, на которых будут открываться порталы. | ||
| Чтобы это сделать, создайте {{ | Чтобы это сделать, создайте {{Ent|prop_static}} энити с моделью <code>models/props/autoportal_frame/autoportal_frame.mdl</code>, Переместите её к стенке, на которой вы собираетесь её разместить, поверните её так, чтобы она встала параллельно к стене. | ||
| Или вы можете создать portal frame из брашей с такими параметрами: | Или вы можете создать portal frame из брашей с такими параметрами: | ||
| Line 117: | Line 118: | ||
| == Смотрите также == | == Смотрите также == | ||
| *  | * {{LCategory|Portal level design|Создание уровней Portal}}/onlyinclude> | ||
| {{ACategory|Portal}} {{ACategory|Level Design}} {{ACategory|Tutorials}} | |||
Latest revision as of 06:04, 12 July 2024
В этом учебнике мы создадим вращающийся стенд с прикреплённой портальной пушкой, которая будет автоматически открывать порталы.
Подготовим модели
Потребуется две 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>






























