Механизмы. Поворотные кольца

RU EN +

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

Попробуем создать головоломку с таким поворотным кольцом-колесом (как в практикуме по Риктусемпре):

Для начала нужен Elevator Mover нужной формы, в виде кольца, как здесь, или диска либо переключателя со стрелкой, как в библиотеке.

Делаем кольцо нужного размера, делаем на нём метки с нужными текстурами, берём кисть, которая полностью, по всем измерениям перекрывает кольцо, жмём кнопку Intersect.

Кисть принимает форму кольца с вырезами. Делаем на её основе Elevator mover. Задаём для него четыре положения.

Чтобы mover двигался по всем четырём точкам, открываем его свойства – mover – numKeys и ставим в этой строке число положений мувера, в данном случае – 4.

Далее переходим в свойство – ElevatorMover – bGoStraight и ставим там true.

Далее ставим на нужном месте SpellTrigger. В его свойстве TriggerOnceOnly обязательно должно стоять False. К нему надо подключить RoundRobin, он в ветке триггеров. В его свойствах – RoundRobin – bLoop ставим true.

Далее разворачиваем подветку outEvents и пишем в четырёх первых строках названия положений elevator mover’а, например: Ring1Key1; Ring1Key2; Ring1Key3; Ring1Key0 (из третьей точки mover должен перемещаться в нулевую).

Далее размещаем ElevatorTrigger (так же в ветке триггеров), четыре штуки, и подсоединяем их всех Event-oм к Tag-y mover’а. В Tag-ах элеватор триггеров вписываем то, что писали в outEvents RoundRobin’a.

Потом переходим в ветку ElevatorTrigger – GotoKeyframe и вписываем в каждом элеватор триггере номер точки, в которую должен переместиться mover. Эти номера должны соответствовать тому, что написано в Tag‘е этого триггера. И раунд робин и элеватор триггеры следует размещать вне досягаемости Гарри, иначе он может случайно активировать их.

Если всё сделали правильно, то кольцо должно поворачиваться при применении заклинания к спелтриггеру, и из третьего положения обратным ходом, без остановок переходить в нулевое.

Делаем нужное количество таких систем, например три. Необходимо учесть, что outEvents у RoundRobin‘ов и Tag у подсоединённых к ним элеватор триггеров для каждого кольца должны быть разные (например для первого – Ring1Key1; Ring1Key2; Ring1Key3; Ring1Key0, для второго – Ring2Key1; Ring2Key2; Ring2Key3; Ring2Key0, и так далее).

Далее делаем так, чтобы весь этот механизм открывал двери, когда кольца находятся в правильном положении.

Ставим двери, подключаем их к обычным триггерам. Далее размещаем PuzzleTrigger, путь – Triggers – Trigger – KTrigger – PuzzleTrigger. Подключаем их к триггерам дверей. Если подсоединить PuzzleTrigger напрямую к муверу, ничего работать не будет. Переходим в его свойства Puzzle. Там три строки. Во вторую, где написано PuzzleName вписываем что-нибудь, например, Rings1, тоже самое надо записать в свойствах колец – ElevatorMover – PuzzleName. Разворачиваем первую и третью строки свойства Puzzle. В третьей ветке (Tags) вписываем в первых трёх строках Tag‘и колец (например Ring1, Ring2, Ring3). В первой вписываем номера положения колец, в которых эта конкретная дверь должна открываться (например 1, 2, 3).

Если всё сделать правильно, то когда первое кольцо находится в первом положении, второе – во втором, а третье – в третьем, эта дверь будет открыта. Как только хотя бы одно кольцо сместится, дверь закроется. Делаем таким же образом остальные двери.

Если нужно, чтобы такая головоломка активировала не простой мувер, а ещё один элеватор мувер (например, вращающуюся комнату), всё равно придётся помимо раунд робина, управляющего таким вторичным элеватор мувером, подключить к паре пазлТриггер – триггер мувер, иначе ничего не сработает. Можно сделать небольшой мувер в виде кубика, находящийся где-нибудь под полом или за стеной, где его не будет видно.

Надеюсь, объяснил понятно. Удачи вам в модостроении!


Автор: Дмитрий “Лимон” / OLDГеймер