Имитация смены направления гравитации. [Мини-тутор]
Не знаю боян или нет, но я нигде не видел такого. Мой первый мини-тутор на КСМ.
Понадобилось мне сделать на карте смену направления гравитации на пределенном участке. Но таких entity не предусмотрено, следовательно без кодинга не обойтись. И решил я симитировать эту смену направления гравитации. Да так мне понравился результат, что решил я поделиться способом.
Делаем две комнаты - в одной игрок рождается, во вторую, соответственно, идет после рождения. Я сделал две комнаты, одна над другой, и между ними - проход. Из нижней комнаты я сделал func_door_rotating c параметрами:
В проходе надо поставить trigger_once так, чтобы он не касался стен, и trigger_gravity вровень с полом - чтобы игрок не активировал его раньше времени. Только не забудьте потом поставить еще один trigger_gravity для деактивации первого.
Параметры trigger_once:
Параметры trigger_gravity:
Теперь, когда игрок заходит в другую комнату, она (со всем содержимым) переворачивается набок, и создается ощущение, ходьбы по стене. Из декоративных мелочей я сделал копию верхней комнаты и, перевернув ее на бок, подставил туда, где будет проход нижней комнаты после "смены гравитации". Можно конечно поиграться с тем же func_rotating или func_door_rotating, чтобы не копировать комнату, а переносить ее туда куда надо. Но мне было лень, и для моих целей хватало того, что я сделал.
Оригинал статьи и пример карты в форматах MAP и BSP здесь
Не знаю боян или нет, но я нигде не видел такого. Мой первый мини-тутор на КСМ.
Понадобилось мне сделать на карте смену направления гравитации на пределенном участке. Но таких entity не предусмотрено, следовательно без кодинга не обойтись. И решил я симитировать эту смену направления гравитации. Да так мне понравился результат, что решил я поделиться способом.
Делаем две комнаты - в одной игрок рождается, во вторую, соответственно, идет после рождения. Я сделал две комнаты, одна над другой, и между ними - проход. Из нижней комнаты я сделал func_door_rotating c параметрами:
Код:
Name: room1
Speed: 200
Delay before close: -1
Lip: 90
Флаги: X Axis
Параметры trigger_once:
Код:
Target: room1
Delay before trigger: 0.5
Код:
Gravity: 0.5
Оригинал статьи и пример карты в форматах MAP и BSP здесь
