Warp Zones

Одним из самых уникальных эффектов в редакторе являются варп-зоны(warp zones), которые дают бесшовную телепортацию игрокам, а так-же снарядам из одной зоны в другую. Однако они тоже имеют свои ограничения, например звуки в одной зоне не передаются в другую, точечные оружия (Lighting gun, Sniper Rifle, Shock Rifle, Minigun, Ion Painter, и т.п.) не смогут пройти в другую зону, боты не смогут увидеть вас, пока не перейдут из 1 зоны в другую.
В этой статье подробно расскажет о том, как их добавлять.

Откройте Unreal Editor и создайте две комнаты размерами 1024*256*256. Оформите любыми текстурами, но желательно в каждой комнате их сделать разными. В одну из комнат поместите PlayerStart и в каждую комнату добавьте свет(в меню Add Light Here) и следующий актор: Actor → xPickUpBase → xWeaponBase. Настройте их оба (ПКМ по актору → Actor Properties → xWeaponBase → Weapon Type) так, что-бы в одной комнате был Shock Rifle, а в другой Rocket Launcher.
Должно получиться так:

Теперь самая сложная часть. Варп-зона будет отображать текстуру, даже если сделать её невидимой (Invisible). Так что нам понадобиться создать прозрачную текстуру. Откройте браузер текстур и нажмине File → New... 
В появившимся диалоге заполняем его следующим образом:
  • Package: MyLevel 
  • Group: (пусто) 
  • Name: WarpZone 
  • Class: Raw Material 
  • В поле настроек напротив MaterialClass ставим FinalBlend (он находится в выпадающем списке)
Проверяем, что-бы было так:

Если всё правильно, то смело создаём, после чего должен открыться следующий диалог с настройками. В нём нам надо лишь затронуть одно значение. Прежде чем его поменять, нам нужна полностью черная текстура, которая в UT2004 уже есть. Переключимся на окно с браузером текстур и в списке, где сейчас написан пакадж MyLevel находим другой, UCGeneric. Открыв его в списке ниже (где по умолчанию должно написаться Detail Textures) выбираем другой пункт, который называется SolidColours и уже теперь в списке ниже нажимаем по текстуре Black. 

Теперь возвращаемся к окну и там находим пункт Material. Нажимаем по нему и после должно появиться 3 кнопки справа Clear, Use, ... и открыться подпункты. Нажимайте на Use. После нажатия должна выбраться текстура, выделенная в браузере текстур (Black, а если точнее UCGeneric.SolidColours.Black). 
Проверьте. Всё должно выглядеть так-же:

Если всё правильно, тогда закрываем это окно, в браузере текстур вновь открываем MyLevel и выбираем там единственную текстуру.

Теперь создаём плоскую поверхность (Sheet) размерами 256*256 (ширина и высота нашей комнаты) и помещаем её на расстояние в 128 юнитов от края комнаты (расстояние на самом деле может быть любым, начиная от 78px, или любым вообще, если через варпзону планируется только смотреть, но обе зоны должны быть одинаковых размеров, иначе получите некрасивый результат, как тут).

Теперь находим на панели слева кнопку Add Special Brush. Нажимаем. У нас должно появиться окно. В списке нам нужно выбрать Zone Portal. После нажимаем на Ок — вы создали Zone Portal. Не закрывая окно можно передвинуть наш браш в другую комнату и ещёраз нажать Ок. Закрываем окно, отодвигаем браш и смотрим на наши Zone Portal'ы (через 2D Viewport). Проверяем что-бы они стояли ровно. 
Теперь открываем браузер акторов (Actor Browser) и ищем там следущий актор: Actor → Info → ZoneInfo → WarpZoneInfo и помещаем в середину нашей зоны:

Далее нужно настроить Варп зоны, а если точнее указать то, куда они будут перемещать игроков и снаряды. Для этого открываем их настройки (открываем по отдельности; ПКМ → WarpZoneInfo Properties), ищем в разделе WarpZoneInfo: OtherSideURL и ThisTag. Первое это название той зоны, в которую будет переноситься всё то, что попадёт в эту зону, а второе это название этой зоны, которое нужно указывать в OtherSideURL другой зоны. 
Итак, пусть одна зона, которая сверху в 2D Viewport'е будет называться top, а та, что ниже bottom. В настройках WarpZoneInfo у зоны сверху пишем OtherSideURL: bottom, ThisTag: top. Потом переключаемся на другую зону(bottom) и в свойствах пишем обратное, то есть OtherSideURL: top, ThisTag: bottom.

Делаем полный ребилд карты и запускаем её по кнопке джойстика Play map! Но что же мы видим в итоге? Сделали вроде бы правильно, но получаем подобную картину:

Этот эффект называется HOM (Hall Of Mirrors). Он возникает в случае, если зоны не равны или наружняя поверхность уровня является прозрачной (Invisible), позволяя нам видеть "за пределами вселенной”.

Как уже говорилось раньше зоны должны быть одинакового размера. Но этого ещё недостаточно. Рассмотрим на примере магнитных полей. Все знают, что заряд идёт от плюса к минусу, или от севера к югу (от N к S). В случае, если мы просто двигали наш браш, наши поверхности разделили на 2 части зону, но разделили её одинаково.

Как видно таким образом зоны соединены неправильно. Прежде, чем делать изменения, предлагаю посмотреть в 3D Viewport'е как выглядят зоны. Для этого нажмите на кнопку Zone/Portal (Alt+2) и обратите внимание на цвета в нижней комнате. Эта ошибка исправляется довольно просто. Как ещё соединить два полюса? — Поменять их местами. То есть в нашем случае нам надо развернуть в одной из зон нашу поверхность (Sheet) на 180°. 

После этого снова сделайте ребилд и посмотрите на цвета зон. Они просто поменялись местами. Можете ещё раз запустить карту и посмотреть что из этого вышло. 

Как вы уже заметили, мы выбрали два оружия, и это неспроста. Если вы будете стрелять лучами шоки, то они не попадут во 2 зону. Это связано с тем, что у мгновенного оружия не просчитывается снаряд, а вот снаряды рокета будут отлично пролетать из 1 зоны в другую.

 



Правда, если развернуть наши комнаты на 90° в любую сторону, то у этих снарядов будет небольшой баг: снаряды будут лететь куда надо, но их развернёт боком. 

В заключении скажу. Если что-то не получается или хотите проверить себя, тогда можете скачать эту карту, которая была создана по ходу этой статьи.

Информация

Автор: Rachel "AngelMapper" Cordone

Добавил: XCanG (Другие статьи пользователя)

Дата добавления: 01 Февраля 13, 18:13

Категории: Unreal Tournament 2004 - Руководства

Статистика

5985 просмотров, 3 голоса

5 комментариев

RedFiend
RedFiend 01 Февраля 13
Ладно, тогда отвечу я, может попонятнее будет:
что непонятного? в ут2003 если поставить ту переменную на тру, варпзоны в зоне со скайбоксом будут вызывать лаги на некоторых видеокартах
volfgunus
volfgunus 01 Февраля 13
ему не понятно почему
XCanG
XCanG 01 Февраля 13
ну поэтому и непонятно
XCanG
XCanG 01 Февраля 13
UnShame
UnShame 01 Февраля 13
автор Rachel "AngelMapper" Cordone
последнюю цитату убери
картинки надо на сайт залить