На главную

 

Меняем гравитацию
 


Допустим, занесло Фримена на Марс. Соответственно, гравитация уменьшается в три раза. Моделируем ситуацию.
Сначала сделаем заготовку. Чтобы не было тесно, пусть это будет комната 512х512х512. Раскрасьте ее внутри так, как вам понравится.

Осветите комнату изнутри с помощью светящихся текстур, или с помощью light.

Теперь на высоте 128 юнитов вдоль одной стены создайте выступ 512х16х64. Еще на 128 юнитов выше этого уступа расположите еще один, перпендикулярно первому. А еще через 128 юнитов еще один, последний, перпендикулярно предыдущему. В обычных условиях игрок не может запрыгнуть на выступ более 48 юнитов без дополнительных приспособлений. В условиях пониженной гравитации прыгнуть на высоту 128 юнитов вполне возможно.

Теперь изменим внутри этой комнаты гравитацию. Из текстуры AAATRIGGER создайте блок, занимающий всю внутреннюю часть комнаты. Отправьте его toEntity, Class - trigger_gravity.
Свойства этого триггера практически не отличаются от любого другого, например, trigger_once. Единственный значимый параметр trigger_gravity - поле Gravity.

Поле Gravity выражает соотношение нормальной гравитации и той, которая должна присутствовать в поле деятельности trigger_gravity. Если вам надо установить гравитацию в одну треть от нормальной, то значение поля Gravity должно составлять 0.3 (разделитель - только точка, если вы используете запись 0,3, то гравитация останется нормальной). Несмотря на то, что в меню есть ограничение значения между 0 и 1, в реальности гравитация может быть как меньше нуля, так и больше 1. В первом случае игрок просто взлетит - антигравитация, как-никак, а во втором он почти не сможет прыгать. Теперь поместите на карту info_player_start, и запускайте компиляцию.
Счастливых полетов! Кстати, повредить здоровью, даже сверзившись с верхнего уступа, практически невозможно! Проверьте!
Олег Бутрин ака проф. Выбегалло.


На главную
 

Hosted by uCoz