Катапульта на карті de_rats3
§ 20.12 Катапульта на карті de_rats3
Всі знають серію картDE_RATSі зокрема картуDE_RATS3, де є катапульта. У цій статті ми розповімо, як вона влаштована. Для створення катапульти будуть потрібні такі ентіті-об'єкти:

Для створення повної копії такої катапульти необхідно 23 ентити-об'єкти! Однак відразу поспішаємо Вас заспокоїти, левова частка, а саме 18 із 23 об'єктів, використовується для реалізації ефектів із променями. Якщо такі ефекти Вам не потрібні, просто не створюйте ці 18 об'єктів, а обмежтеся 5-ма.
Ми спочатку розглянемо створення катапульти без жодних ефектів. А в другій частині статті розберемося, як влаштований ефект із променями.
1. Створення катапульти
Роботу катапульти забезпечують 5 об'єктів (див. схему нижче).
- Гравець потрапляє до trigger_multiple
- Trigger_multiple активує звук підйому гравця (ambient_generic), а також 2 тригери trigger_relay
- Тригери trigger_relay включають і через 1,5 секунди вимикають "штовхач" (trigger_push)
- Trigger_push штовхає гравця догори

Ми маємо майданчик, забарвлений чорною текстурою (див. мал. нижче). На малюнку вона прихована численними об'єктами. Це простий браш, що є місцем для штовхання.
На решту об'єктів поки що уваги не звертайте, щоб не заплутатися.
Отже, насамперед над цим брашем створюємоtrigger_multiple(показаний стрілкою).

Тепер всерединіtrigger_multiple(тобто трохи вище за штовхальний браш) створюємо звук підйому гравця вгору (ambient_generic). На малюнку об'єктambient_genericприхований тригером, але він там є :) і це буде видно на передостанньому малюнку статті.
Далі створюємо два тригериtrigger_relay(див.Мал. вище, у вершині). Один із цих тригерів буде включати штовхач, а інший через 1,5 секунди вимикати.
Тепер подивіться на малюнок нижче. Там показано об'єктtrigger_push, який закриває собою вже створений намиtrigger_multiple. На решту об'єктів, повторимося, поки уваги не звертайте.
Trigger_pushі є об'єкт, що штовхає вгору. Форма цього тригера повторює форму темного броша, тобто. є 8-ми гранною призмою.

Ось, власне, і все, що стосується безпосередньо катапульти. Вона вже працюватиме, ну, звичайно, після виставлення всіх властивостей ентіті-об'єктів.
Властивості об'єктів, що становлять катапульту.
Name:sponge_jumpPath:weapons/electro5.wav (шлях до звуку)Volume:5 (гучність)
Medium Radius- середній радіус поширення звукуStart Silent- спочатку (на початку раунду) звук мовчитьNot Toggled- грає 1 раз (потім його необхідно активувати повторно)
Name:sponge_pushAngle:Up (напрямок штовхання гравця, вгору)Delay before trigger:0Speed of push:3000 (швидкість штовхання гравця)
Start Off- спочатку (на початку раунду) штовхач вимкнений
2. Створення ефектів із променів
Тепер розберемо складну частину катапульти ефект «кривих» лазерних променів (див. перший рис.).
Схема роботи виглядає так:
- На початку гри 3 тригери (trigger_auto) запускають у рух 3 невидимі поїзди (func_train)
- Ці 3 поїзди (func_train) починають їздити по колу з 8 об'єктів path_corner
- Коли гравець починає стрибати, відбувається активація всіх трьох джерел променів (env_beam)
- Лазерні променіпочинають бити з центральної точки (info_target) в поїзди, що їздять по колу
Принцип роботиenv_beamполягає в наступному: створюється власне об'єктenv_beam, далі створюється початкова точка для променя (який-небудь ентіті-об'єкт) і потім кінцева точка, куди битиме промінь (другий ентіті-об'єкт).
Весь прикол полягає в тому, що перша (початкова) точка нерухома, а ось друга (кінцева) рухлива! Рух відбувається у колі, тобто. промені випускаються з нерухомої центральної точки і б'ють у точки, що рухаються по колу. Це чудово видно на першому малюнку.
На малюнку нижче зверніть увагу на 3 фіолетові кубики (вгорі) - це3 env_beam(випускники лазерних променів). Промені випускатимуться не з цих об'єктів, а з початкових точок у кінцеві!

Жовті 8 об'єктів цеpath_corner, тобто. точки якими рухаються некеровані поїздиfunc_train.
На малюнку нижче вже створено 3 поїзди (func_train), зеленого кольору. Ці 3 поїзди по черзі рухаються всіма 8-ми жовтими точками траєкторії.

Пам'ятайте, що для кожногоfunc_trainнеобхіднийORIGIN-браш, т.к. це об'єкт, що обертається. Ми максимально спростили «поїзди» та зробили їх із ORIGIN-брашів. Тобто. ORIGIN-браші перетворили наfunc_train.
А тепер найцікавіше. Ці 3 поїзди (невидимих та нематеріальних у грі) і будуть кінцевими точками, в які потраплятимуть лазерні промені! Це називається використанням поїздів не за призначенням :)
ВАЖЛИВО!ВЦентрі, трохи вище чорного браша, створюємо початкову точку для всіх променів. Це буде точковий об'єктinfo_target(червона мета на малюнку вище).
І останнє поїзди необхідно автоматично привести в рух на початку раунду. Зробимо це за допомогою 3-х тригерівtrigger_auto. Повернемося до третього малюнка статті та подивимося, де ми їх розмістили.

Тригериtrigger_auto, нагадаємо, автоматично активують об'єкт на початку гри, і це якраз стане нам у нагоді для активації поїздів.
Властивості об'єктів, що створюють ефект лазерних променів.