Плавно переходим к редактированию параметров физической модели занавесок. Выделите подопытный элемент в окне 3D-вида щелчком левой кнопки мышки, после чего на панели в правой части редактора перейдите в свиток Entity Properties. В нем содержатся основные «физические» настройки объекта – масса, трение, сопротивление и другие. Рассмотрим основные из них. Характеристика air_resistance определяет сопротивление воздуха и принимает любые дробные значения, например 1.2. Атрибут collision_impulse задает величину импульса столкновения. Параметр damping определяет степень подавления искусственных колебаний. Характеристики density и friction отвечают за плотность и степень трения элемента соответственно. Следующая интересная настройка – mass – масса объекта. Чем больше значение данного параметра, тем сложнее сдвинуть элемент с места. Чтобы модифицировать форму компонента, выделите строку Model в свитке Entity Properties, щелкните по кнопке с изображением папки напротив комментария Model, после чего в открывшемся окне укажите полный путь к нужной игровой модели ткани. Атрибут water_resistance служит для регуляции плотности воды, определяет степень вязкости элемента в водной среде. Ну и, наконец, параметр wind_variance указывает на силу воздействия ветра на заданный элемент.
Практически на всех оригинальных уровнях из состава Crysis встречаются мертвые NPC (в основном – ученые и корейцы, убитые инопланетными субстанциями). Причем интересно, что все персонажи замерли в самых непредсказуемых позах. Почему бы и нам не наполнить уровни «мертвыми телами»? Готовы? Тогда приступим. Для реализации задуманного понадобится один-единственный объект из категории Entity – компонент DeadBody. Итак, на панели RollupBar переместитесь на закладку Objects и в поле объектов нажмите кнопку Entity. Выберите элемент Physics/DeadBody из списка Browser, после чего поместите объект в произвольное место на карте. Следующий шаг – выбор модельки героя, которого вы хотите искусственно умертвить. Не снимая выделения с объекта-пустышки, перейдите в свиток Entity Properties на панели в правой части программы, выделите строку Model и щелкните по кнопке с изображением желтенькой папки напротив данного атрибута. В открывшемся диалоговом окне перейдите в каталог game/objects/characters с установленной игрой. Там вы обнаружите ровно 7 каталогов. Нас интересуют только 3 из них: /alien (инопланетные существа), /animals (местные «животные» – крабы, куры, акулы и др.), а также /human (люди – солдаты корейского спецподразделения, ученые, американские вояки и т.д.). Раскройте одну из перечисленных директорий и выберите в ней произвольную модель NPC из списка, например нанокорейца: game/objects/characters/human/asian/nanosuit/nanosuit_asian.cdf.
На данный момент мертвец почти ничем не отличается от живого создания – стоит себе по стойке смирно и все тут. Выдает NPC лишь гримаса смерти на лице. Дабы устранить это досадное недоразумение, проделайте следующие действия. Первым делом поместите «мертвое тело» в произвольную область на уровне над поверхностью земли – например, над океаном. Затем щелкните по кнопке AI/Physics в нижней части редактора, чтобы активировать физический движок игры. Наконец, загляните в свиток Entity: DeadBody на панельке в правой части Sandbox 2 и кликните по кнопке placePlaceNameClear PlaceTypeState. После проделанных манипуляций персонаж должен будет упасть на землю в соответствии со всеми законами физики. Тело NPC примет максимально естественное положение (как после смерти). Чтобы закрепить положение «тушки» покойника в пространстве, на панели RollupBar перейдите в свиток Entity: DeadBody и щелкните по кнопке placePlaceNameSave PlaceTypeState в области placePlaceNamePhysical PlaceTypeState.