Свойства твердых тел Этот раздел можно было бы начать и сразу же закончить одним предложением: чтобы разобраться со свойствами твердых тел, надо просто изучить, за что отвечают атрибуты ноды rig-idBody для любого твердого тела. (Не забывайте: взрослые мальчики работают с документацией.) Однако некоторые комментарии не помешают.
Часть атрибутов отвечает за «твердую» часть, независимую от пассивно-активного статуса. Установите для обеих поверхностей атрибут bounciness в единицу, чтобы задать абсолютно упругий отскок и задайте себе вопрос, а почему круглый шар норовит постепенно ускакать куда-то вбок? Или он не круглый?
При создании твердых тел MAYA предлагает ненавязчивый сервис: для симметричных сплайновых поверхностей центр масс твердого тела слегка смещается от центра (это связано с разбиением сплайновых поверхностей на полигоны для динамики). Если для шара обнулить атрибут centerOfMass, то он будет уныло скакать в центре плоскости.
Атрибуты типа centerOfMass (центр масс), impulse (грубо говоря, ускорение), spinlmpulse (вращательное ускорение), mass (масса) оказывают влияние только на активные твердые тела, в то время как bounciness (упругость) или friction (трение) изменяют характер взаимодействия для обоих типов твердых тел.
Совет. Атрибут damping является исключительно полезным, если надо немного «притормозить>> разогнавшееся активное твердое тело или создать иллюзию наличия сопротивления окружающей среды. Этот атрибут отвечает за принудительную потерю скорости в каждом кадре, независимо от действия любых полей.
Важно понимать, что NURBS-поверхности при превращении в твердые тела разбиваются на невидимые полигоны, предназначенные только для расчета столкновений. Количество этих полигонов, то есть степень разбиения, можно уменьшать или увеличивать, изменяя атрибут Tes-selation Factor, доступный для редактирования только через Attribute Editor в разделе Performance Attributes. Там же можно обнаружить атрибут standln, позволяющий задать более простую форму тела для расчета столкновений, чтобы при отслеживании соприкосновений использовалась не реальная геометрия, а подходящих размеров сфера или куб.
Совет. Не используйте сложные модели в качестве твердых тел. Вместо них используйте модели попроще, а «хорошие» поверхности просто прикрепляйте к твердым телами, например, с помощью операции parent. К примеру, если вы при помощи динамики роняете на землю или, пардон, на чью-нибудь одинокую голову (детализированную притом), совершенно необязательно превращать ее в твердое тело, а проще сделать полигональную грубую болванку и уронить на землю ее, тогда как голову просто припарентить к этой (предусмотрительно спрятанной) болванке.
Анимация активности твердых тел Но самое удивительное заключается в том, что пассивность или активность - тоже свойства твердого тела, задаваемы атрибутом active. При этом его, очевидно, можно даже анимировать. Попробуйте включить этот атрибут (то есть задать active=on) для твердого тела на плоскости и посмотрите, как она стала реагировать на удары. На нее не действует сила тяжести, поэтому она не падает вместе с шаром, хотя теперь она стала полноценным твердым телом.