Ru/Emancipation Grid: Difference between revisions
(Merge Creating a portal/object fizzler - sorry if I misplaced something, I don't speak Russian!) |
(Fix formatting.) |
||
Line 132: | Line 132: | ||
<br>'''НЕ''' растягивайте браши на нужную вам высоту, так как требуется, чтобы при выстреле из портальной пушки светилась белым только одна секция поля; применяйте этот подход, так как он используется в официальных картах. | <br>'''НЕ''' растягивайте браши на нужную вам высоту, так как требуется, чтобы при выстреле из портальной пушки светилась белым только одна секция поля; применяйте этот подход, так как он используется в официальных картах. | ||
Чтобы сделать поле более широким, потребуется разрезать браш на три части. Воспользуйтесь инструментом '''clipping tool''' ({{Key|Ctrl|X}}) по бокам как можно ближе к моделям, и убедитесь, что обе стороны отрезанного остались (выделены белым). Оба новых браша должны быть 128 единиц в длину. Средний браш будет растягиваться между этими двумя - его длина не важна. Снова откройте '''Texture Application tool''' и залейте переднюю и задние стороны среднего браша текстурой "effects/fizzler_center", браш справа текстурой "effects/fizzler_l", браш слева - "effects/fizzler_r". Не забудьте выровнять текстуру по её соответствующей стороне! | Чтобы сделать поле более широким, потребуется разрезать браш на три части. Воспользуйтесь инструментом '''clipping tool''' ({{Key|Ctrl|X}}) по бокам как можно ближе к моделям, и убедитесь, что обе стороны отрезанного остались (выделены белым). Оба новых браша должны быть 128 единиц в длину. Средний браш будет растягиваться между этими двумя - его длина не важна. Снова откройте '''Texture Application tool''' и залейте переднюю и задние стороны среднего браша текстурой "effects/fizzler_center", браш справа текстурой "effects/fizzler_l", браш слева - "effects/fizzler_r". Не забудьте выровнять текстуру по её соответствующей стороне! | ||
{{Note:ru|Разница между ''"fizzler_l"'' и ''"fizzler_r"'' заключается в направлении свечения, излучаемого устройством, средняя часть такого не имеет.}} | {{Note:ru|Разница между ''"fizzler_l"'' и ''"fizzler_r"'' заключается в направлении свечения, излучаемого устройством, средняя часть такого не имеет.}}{{clr}} | ||
== Поле антиэкспроприации Portal 1 == | |||
[[File:Gear testchmb 010000.jpg|thumb]] | [[File:Gear testchmb 010000.jpg|thumb]] |
Revision as of 08:58, 6 July 2018
Поле антиэкспроприации или Испаритель - это специальное энергетическое поле в Portal 2, которое сбрасывает установленные пушкой порталы и разрушает объекты, которые коснулись его. Через него нельзя устанавливать порталы.
Используйте поле антиэкспроприации, чтобы у игрока не было возможности установить портал в области, ограждённой полем, либо пронести через поле объекты.
В Portal испаритель состоит из двух моделей - невидимого trigger_portal_cleanser с текстурой trigger и из излучателя системы частиц (
info_particle_system).
В Portal 2 испаритель состоит из энтити (trigger_portal_cleanser) и пары моделей (fizzler.mdl). У браша, используемого для триггера, должна быть установлена текстура NODRAW, кроме двух сторон, имеющих текстуру поля антиэкспроприации.
Экземпляр
Как для большинства тестовых элементов Portal, для поля антиэкспроприации также есть свои экземпляры. Они статичны, имеют размер лишь 128x128 единиц и предназначены для работы в сочетании с лифтом, и поэтому сферы их применения очень ограничены. Есть три варианта оформления: чёрный и белый повреждённые и чёрный чистый.
- instances/gameplay/fizzler_black_clean_128x128.vmf
- instances/gameplay/fizzler_black_dirty_128x128.vmf
- instances/gameplay/fizzler_white_dirty_128x128.vmf
Создание вручную
Данное руководство будет понятно даже новичку, не знающему Hammer.
Шаг 1
Создайте prop_dynamic и (для данного руководства) используйте модель "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
Теперь разместите по модели с каждой стороны области, через которую в обоих направлениях предметы будут испепеляться. Модель излучателя поля, как вы могли заметить, утоплена в стену, чтобы при необходимости воспроизвести анимацию закрытия; даже если используется статическая модель, гнездо всё равно присутствует. Template:Note:ru Итак, создадим три браша, окружающие излучатель поля сзади, по бокам и часть спереди (обратите внимание, что боковые браши будут также входить с переднюю сторону), не забудьте связать эти браши с func_detail.
Создадим два браша размером 32x8 единиц и 128 единиц в высоту и разместим их с каждой стороны модели излучателя. Убедитесь, что каждая панель крепления излучателя посажена на браше, как показано на иллюстрации. Добавьте ещё один браш за моделью для герметизации (если там уже есть другая стена, делать этого не нужно). Покройте эти браши текстурой соответствующей стены, даже внутренние части; покройте текстурой "nodraw" только те части, которые не будут видны.
Шаг 3
Создайте браш с текстурой "nodraw" (tools/toolsnodraw), идущий от одной модели излучателя к другой. Это будет область антиэкспроприации, испепеляющая предметы. Она должна быть единицу толщиной и 128 единиц в высоту. Свяжите браш (нажатием Ctrl+T) с энтити "trigger_portal_clenser". Задайте параметр "Visible?" на "Yes" и нажмите кнопку "Применить".
Template:Note:ru
Не забудьте на вкладке флажков включить "Physics Objects", чтобы при касании растворялись не только порталы, но и такие предметы, как кубы и турели.
Шаг 4
Откройте Texture Application tool и выберите только переднюю и заднюю стороны поля, которые будут видимы. Нажмите "Browse" и фильтруйте в поиске "fizzler", выберите "effects/fizzler" и измените текстурную шкалу на 0.125 для обеих осей X и Y, затем нажмите "Применить".
У вас должен получиться работающее поле антиэкспроприации! Если дать ему имя, вы сможете открывать и закрывать его системой входов/выходов, в этом случае не забудьте выбрать другую модель "models/props/fizzler_dynamic.mdl" и добавить соответствующие анимации при открытии и закрытии.
Динамическое поле антиэкспроприации
В некоторых испытаниях поле играет роль тестового элемента, и его нужно включать/выключать и открывать/закрывать. В следующем руководстве вы научитесь создавать динамическое поле антиэкспроприации.
Шаг 1
1. Создайте две энтити prop_dynamic со следующими настройками:
Имя свойства Значение World Model models/props/fizzler_dynamic.mdl Name fizzlers HoldAnimation true Collision Not Solid
2. Создайте блок trigger_portal_cleanser 128 единиц в высоту со следующими настройками:
Имя свойства Значение Name fizzler_brush Visible yes
Выберите следующие флаги:
- Clients
- NPCs
- Physics Objects
3. Создайте энтити logic_relay со следующими настройками:
Имя свойства Значение Name relay_fizzler_enable
и следующими выходами:
4. Создайте энтити logic_relay со следующими настройками:
Имя свойства Значение Name relay_fizzler_disable
и следующими выходами:
Шаг 2
Для открытия и закрытия поля необходим триггер. В этом руководстве мы используем простую prop_floor_button. Когда игрок или куб нажмёт кнопку, поле будет отключено. При отпускании кнопки поле будет снова включено.
5. Создайте энтити prop_floor_button со следующими выходами:
Получилось работающее динамическое поле антиэкспроприации! Мы можете поменять триггер на, например, prop_button, trigger_multiple и т.д.
Поля большого размера
Иногда требуется создать поле выше или длиннее 128 единиц, но так как модель излучателя поля имеет длину лишь 128 единиц, потребуется добавить еще два излучателя и браши к ним над имеющимися моделями. Для этого просто скопируйте созданное ранее и перетащите на 128 единиц выше, и повторяйте это столько, сколько вам нужно.
НЕ растягивайте браши на нужную вам высоту, так как требуется, чтобы при выстреле из портальной пушки светилась белым только одна секция поля; применяйте этот подход, так как он используется в официальных картах.
Чтобы сделать поле более широким, потребуется разрезать браш на три части. Воспользуйтесь инструментом clipping tool (Ctrl+X) по бокам как можно ближе к моделям, и убедитесь, что обе стороны отрезанного остались (выделены белым). Оба новых браша должны быть 128 единиц в длину. Средний браш будет растягиваться между этими двумя - его длина не важна. Снова откройте Texture Application tool и залейте переднюю и задние стороны среднего браша текстурой "effects/fizzler_center", браш справа текстурой "effects/fizzler_l", браш слева - "effects/fizzler_r". Не забудьте выровнять текстуру по её соответствующей стороне!
Поле антиэкспроприации Portal 1
Я думаю все видели "Поле раскалённых частиц" у выхода из каждой комнаты. Сейчас мы научимся сами делать такие!
Подготовка
Для начала создадим 2 prop_static с параметром world model: models/props/portal_cleanser_1.mdl Расположим их так как считаете нужным, но помните, что размер поля должен быть 124x128. Если хотите делать поле большего размера - вам придётся подбирать размеры частиц, так что лучше делайте 124х128 :)
Шаг Первый. Самый важный
Создадим браш покрытый текстурой tools/toolstrigger, превратите его в энтити trigger_portal_cleanser и поставьте флаги Clients и Everythink. Расположите его между 2 моделей.
Шаг Второй. Тоже важный
Теперь создадим энтити info_particle_system и расположим ровно по центру нашего триггера. Параметры:
- Particle System Name: portal_cleanser
- Start Active?: Yes (мы же хотим, что бы оно работало сразу)
- Pitch Yaw Roll: А вот здесь уже сами. Только помните, что энтити должна быть повёрнута параллельно триггеру.
Шаг Третий. Вообще-то не шаг, а окончание
Итак, если вы всё сделали правильно, то должно получится как на рисунке:
Примечание