Ru/Emancipation Grid

Поле антиэкспроприации или Испаритель - это специальное энергетическое поле в , которое сбрасывает установленные пушкой порталы и разрушает объекты, которые коснулись его. Через него нельзя устанавливать порталы.
Используйте поле антиэкспроприации, чтобы у игрока не было возможности установить портал в области, ограждённой полем, либо пронести через поле объекты.
В Portal испаритель состоит из двух моделей - невидимого с текстурой trigger и из излучателя системы частиц ().
В Portal 2 испаритель состоит из энтити () и пары моделей (fizzler.mdl). У браша, используемого для триггера, должна быть установлена текстура , кроме двух сторон, имеющих текстуру поля антиэкспроприации.
== Экземпляр ==
Как для большинства тестовых элементов Portal, для поля антиэкспроприации также есть свои . Они статичны, имеют размер лишь 128x128 единиц и предназначены для работы в сочетании с , и поэтому сферы их применения очень ограничены.
Есть три варианта оформления: чёрный и белый повреждённые и чёрный чистый.
* instances/gameplay/fizzler_black_clean_128x128.vmf
* instances/gameplay/fizzler_black_dirty_128x128.vmf
* instances/gameplay/fizzler_white_dirty_128x128.vmf
== Создание вручную ==
Данное руководство будет понятно даже новичку, не знающему .
=== Шаг 1 ===
Создайте и (для данного руководства) используйте модель "models/props/fizzler.mdl". Есть и другие модели испарителей (со словом "fizzler") для карт в стиле старой лаборатории или для моделей с поддержкой динамического "открытия-закрытия":
*models/props/fizzler.mdl
*models/props/fizzler_dynamic.mdl
*models/props_underground/underground_fizzler.mdl
*models/props_underground/underground_fizzler_wall.mdl
Это основная четвёрка моделей, есть и другие, более или менее детализированные.
=== Шаг 2 ===
Теперь разместите по модели с каждой стороны области, через которую в обоих направлениях предметы будут испепеляться. Модель излучателя поля, как вы могли заметить, утоплена в стену, чтобы при необходимости воспроизвести анимацию закрытия; даже если используется статическая модель, гнездо всё равно присутствует.
Итак, создадим три браша, окружающие излучатель поля сзади, по бокам и часть спереди (обратите внимание, что боковые браши будут также входить с переднюю сторону), не забудьте связать эти браши с .
Создадим два браша размером 32x8 единиц и 128 единиц в высоту и разместим их с каждой стороны модели излучателя. Убедитесь, что каждая панель крепления излучателя посажена на браше, как показано на иллюстрации. Добавьте ещё один браш за моделью для герметизации (если там уже есть другая стена, делать этого не нужно).
Покройте эти браши текстурой соответствующей стены, даже внутренние части; покройте текстурой "nodraw" только те части, которые не будут видны.
=== Шаг 3 ===
Создайте браш с текстурой "nodraw" (tools/toolsnodraw), идущий от одной модели излучателя к другой. Это будет область антиэкспроприации, испепеляющая предметы. Она должна быть единицу толщиной и 128 единиц в высоту. Свяжите браш (нажатием ) с энтити "trigger_portal_clenser". Задайте параметр "Visible?" на "Yes" и нажмите кнопку "Применить".
Не забудьте на вкладке флажков включить "Physics Objects", чтобы при касании растворялись не только порталы, но и такие предметы, как и .
=== Шаг 4 ===
Откройте Texture Application tool и выберите только переднюю и заднюю стороны поля, которые будут видимы. Нажмите "Browse" и фильтруйте в поиске "fizzler", выберите "effects/fizzler" и измените текстурную шкалу на 0.125 для обеих осей X и Y, затем нажмите "Применить".
У вас должен получиться работающее поле антиэкспроприации!
Если дать ему имя, вы сможете открывать и закрывать его системой входов/выходов, в этом случае не забудьте выбрать другую модель "models/props/fizzler_dynamic.mdl" и добавить соответствующие анимации при открытии и закрытии.
== Динамическое поле антиэкспроприации ==
В некоторых испытаниях поле играет роль тестового элемента, и его нужно включать/выключать и открывать/закрывать. В следующем руководстве вы научитесь создавать динамическое поле антиэкспроприации.
=== Шаг 1 ===
1. Создайте две энтити со следующими настройками:
::
Имя свойства 	Значение
World Model 	models/props/fizzler_dynamic.mdl
Name 	fizzlers
HoldAnimation	true
Collision 	Not Solid
2. Создайте блок 128 единиц в высоту со следующими настройками:
::
Имя свойства	Значение
Name 	fizzler_brush
Visible 	yes
Выберите следующие флаги:
* Clients
* NPCs
* Physics Objects
3. Создайте энтити со следующими настройками:
::
Имя свойства	Значение
Name 	relay_fizzler_enable
и следующими выходами:
::
	My Output	Target Entity	Target Input	Parameter	Delay	Only Once
	OnTrigger	fizzler_brush	Enable 	<none> 	0.00 	No
	OnTrigger	fizzlers 	SetAnimation	open 	0.00 	No
4. Создайте энтити со следующими настройками:
::
Имя свойства	Значение
Name 	relay_fizzler_disable
и следующими выходами:
::
	My Output	Target Entity	Target Input	Parameter	Delay	Only Once
	OnTrigger	fizzler_brush	Disable 	<none> 	0.00 	No
	OnTrigger	fizzlers 	SetAnimation	close 	0.00 	No
=== Шаг 2 ===
Для открытия и закрытия поля необходим триггер. В этом руководстве мы используем простую . Когда игрок или куб нажмёт кнопку, поле будет отключено. При отпускании кнопки поле будет снова включено.
5. Создайте энтити со следующими выходами:
::
	My Output 	Target Entity 	Target Input	Parameter	Delay	Only Once
	OnPressed 	relay_fizzler_disable	Trigger 	<none> 	0.00 	No
	OnUnPressed	relay_fizzler_enable 	Trigger 	<none> 	0.00 	No
Получилось работающее динамическое поле антиэкспроприации! Мы можете поменять триггер на, например, , и т.д.
== Поля большого размера ==
Иногда требуется создать поле выше или длиннее 128 единиц, но так как модель излучателя поля имеет длину лишь 128 единиц, потребуется добавить еще два излучателя и браши к ним над имеющимися моделями. Для этого просто скопируйте созданное ранее и перетащите на 128 единиц выше, и повторяйте это столько, сколько вам нужно.
НЕ растягивайте браши на нужную вам высоту, так как требуется, чтобы при выстреле из портальной пушки светилась белым только одна секция поля; применяйте этот подход, так как он используется в официальных картах.
Чтобы сделать поле более широким, потребуется разрезать браш на три части. Воспользуйтесь инструментом clipping tool () по бокам как можно ближе к моделям, и убедитесь, что обе стороны отрезанного остались (выделены белым). Оба новых браша должны быть 128 единиц в длину. Средний браш будет растягиваться между этими двумя - его длина не важна. Снова откройте Texture Application tool и залейте переднюю и задние стороны среднего браша текстурой "effects/fizzler_center", браш справа текстурой "effects/fizzler_l", браш слева - "effects/fizzler_r". Не забудьте выровнять текстуру по её соответствующей стороне!
== Примечание ==