CSM.Dev

[HL2] Создаем искажение пространства

В этом туториале, я расскажу как сделать достаточно красивый эффффект с "искажением пространства", как на скрине ниже.



Сделать такой вот эффект(в реальном времени, а не в PhotoshopE)очень просто.
Для этого нам понадобиться лишь два объекта:
env_screenoverlay и trigger_multiple.

Создайте комнатку, если у вас еще нету, произвольного размера.
Разместите в ней, в любом месте env_screenoverlay:
Это энтитя "накладывает" на экран overlay материал. Вспомните эффект при телепортации, в начале Half-Life 2, в лабаратории Кляйнера.

В настройках укажите:

Name: screen_overlay
OverLay Name1: Effects/tp_eyefx/tp_eyefx //это материал нашего эффекта
Overlay Duration1: 1.0 //время перехода

Также у этого объекта есть ещё 9 слотов, в них также можно вкладывать различные эффекты, думаю что здесь вы сможете пофантазировать самостоятельно.

Теперь создайте trigger_multiple, так чтобы игрок мог легко активировать триггер.

Также разместите на карте info_player_start и источник света - light.

Геометрию мы собрали теперь давайте перейдем к програмной части. Перейдите на вкладку OutPuts объекта trigger_multiple и создайте событие
OnStartTouch, оно будет срабатывать в момент когда игрок будет в самом триггере.
В цели(Target Entities Named) укажите screen_overlay, а в параметре Via This Input - StartOverlays.

Теперь как только игрок зайдет на триггер, перед его глазами возникнет наша психоделическая сцена.

Однако мы не добавили одну важную вещь, если игрок выйдет из триггера, то эффект все ещё останется! Конечно если вам так надо то можно остановиться, но вот если нужно очистить экран... Впрочем, я так думаю вы уже и сами разберетесь как это сделать! Скажу одно все объекты которые требуются уже созданы. Добавьте один параметр и... можно компилировать!

Спасибо за внимание.
Автор статейки и собственно говоря идеи: setMan