Ru/Creating a rotating portalgun: Difference between revisions
m (Multipage removal) |
|||
(15 intermediate revisions by 5 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 10: | 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 62: | 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 74: | 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 82: | 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 90: | 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 106: | Line 109: | ||
Вдобавок, вы можете создать portal frame на каждой стене, на которых будут открываться порталы. | Вдобавок, вы можете создать portal frame на каждой стене, на которых будут открываться порталы. | ||
Чтобы это сделать, создайте {{ | Чтобы это сделать, создайте {{Ent|prop_static}} энити с моделью <code>models/props/autoportal_frame/autoportal_frame.mdl</code>, Переместите её к стенке, на которой вы собираетесь её разместить, поверните её так, чтобы она встала параллельно к стене. | ||
Или вы можете создать portal frame из брашей с такими параметрами: | Или вы можете создать portal frame из брашей с такими параметрами: | ||
Line 115: | 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>