Конвейер в ситуации, приближенной к боевой
|
|
|
Для начала, как всегда, создадим заготовку, приблизив ее к игровой ситуации. Ну, к примеру, игроку надо попасть из одной комнаты в другую, но дверь не открывается, зато имеется конвейер где-нибудь под потолком. Пусть это будет комната размерами 704х512х256, разделенная перегородкой посередине. Вдоль одной (длинной) стены расположите выступ высотой и шириной 128 юнитов. Раскрасьте стены, пол и потолок так, как вам заблагорассудится. |
||
|
||
Теперь создадим лестницу (из ступенек), ведущую на выступ. Ну, примерно такую: |
|
|
|
||
Оптимальный размер ступенек 64х32х16. Скопируйте лестницу и во вторую комнату. Теперь создадим дверь, соединяющую комнаты (на выступе). Стандартные размеры двери - 64х96, текстуру можно применить любую, например - OUT_V1DR1. |
|
|
|
||
Параметры двери: |
|
|
|
|
|
Эти текстуры изначально больше стандартного конвейера
ровно в два раза, поэтому, когда вы будете применять текстуры, не забудьте
уменьшить их в два раза по обеим координатам. |
|
|
|
|
|
Теперь заставим конвейер двигаться. Отправим его toEntity,
Class - func_conveyor. |
|
|
|
|
|
Возможно применение еще двух флагов: No Push - не
перемещающий и Not Solid - не плотный, не удерживающий на себе ничего.
Направление перемещения определяется полем Angle. Внимание!
Вполне возможна ситуация, когда конвейер перемещает игрока в нужном
направлении, а поверхность его крутится в обратную сторону. В этом случае,
текстуру поверхности следует развернуть на 180 градусов. Присвоив конвейеру
имя и дав какому-нибудь переключателю (например, кнопке) в качестве цели имя
конвейера, можно заставить его в обратную сторону. |
|
|
|
||
Точки, по которым движется ящик (path_corner), желательно организовать так, чтобы до того, как ящик коснется конвейера, его скорость была бы меньше, чем скорость конвейера, а в той точке, где он как бы соприкасается с конвейером, становилась равной. Для этого используется поле New train speed той точки, в которой ящик соприкасается с конвейером. Расположите возле ящика trigger_once, примерно так, как показано на рисунке, и multi_manager, который бы включался от этого триггера. Дайте ему имя и добавьте (отключив smart edit) два значения - имя ящика (func_train) и имя решетки (func_breakable). Для первого значение - 0, для второго - примерно - 4. С решеткой придется поэкспериментировать, чтобы определить подходящее значение. Ну вот, по сути, и все. Удачи! |
|
|
|