Выберите все кегли и, на всякий случай, установите в Channel Box для них translateY=0.

Создайте плоскость любого типа.

Растяните ее в виде “дорожки”.

Выберите все кегли.

Выполните Fields=>Gravity.

Это создаст поле силы тяжести, превратит все кегли в активные твердые тела и присоединит эти тела к созданному полю.

Нажмите Play.

Кегли табором уходят в землю.

Превратите в дорожку в пассивное твердое тело.

Для этого выберите ее и выполните Soft/Rigid Bodies=>Create Passive Rigid Body.

Нажмите Play.

Кегли теперь должны стоять, как вкопанные.

Осталось их чем-нибудь сбить.

Создайте NURBS-сферу. Передвиньте ее в начало дорожки и превратите в активное твердое тело: Soft/Rigid Bodies=>Create Active Rigid Body.

И не надо создавать еще одну гравитацию!

Совет. Все построения всегда проводите в первом кадре! Это позволит избежать неожиданностей при проигрывании анимации.

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

В Channel Box, в атрибутах твердого тела, для сферы задайте начальную скорость по соответствующей оси (initialVelocityX=-10).

Нажмите Play.

Шар, не торопясь и не вращаясь, плывет над дорожкой с заданной скоростью и вяло врезается в пирамиду. Очевидно, на него не действует сила тяжести. Коль скоро поле гравитации уже есть, осталось только присоединить шар к нему.

Откройте Window=>Relationship Editors=>Dynamic Relationships.

Слева выберите сферу, а справа укажите на gravityFieldl.

Пожелтевшее название gravityFieldl указывает на присоединение поля гравитации к выбранному объекту.

Альтернативный способ присоединить объект к полу, не открывая никаких окон, состоит в выборе объекта и поля и выполнении пункта меню Fields=>Affect Selected Objects.

Теперь шар также неторопливо катится и упирается в пирамиду из кеглей, но не в силах сбить хотя бы одну.

Увеличьте начальную скорость (initialVelocityX=-30).

Очевидно, что шару не хватает массивности, ведь сейчас массы кеглей и шара одинаковы и равны единице.

Установите атрибут mass для шара равным десяти.

Теперь шар разбивает пирамиду как положено.

А дальше эксперименты с анимацией ограничены только вашими фантазиями и опытом игры в боулинг. Если вы сильно искушены в этом деле, можете сместить шар правее от центра дорожки и подкрутить его, задав initialSpinX=180. Почему так много? Потому, что угловая скорость задается в градусах-в-секунду, и 180 соответствует пол-оборота в секунду. Можете сделать дорожку длиннее, поиграть с трением (friction) дорожки и шара. Изменить упругость отскока (bounciness) и т.д.

Когда вы сделаете, наконец, копию боулинг-центра из «Большого Лебовского», настанет время задать самому себе несколько вопросов.

Вопрос первый. Если анимация вас устраивает, может быть, имеет смысл избавиться от динамики и «запечь» движения всех объектов в ключи, то есть в анимационные кривые? Уход от динамики имеет смысл по многим причинам. Например, вы вдруг захотите передать сцену с анимацией пользователям другой 30-программы или в отдельную систему рендеринга, которая ничего не знает про майскую динамику. Или у вас возникнут сомнения, что рендеринг корректно подхватит динамику при просчете с пятисотого кадра. И, наконец, вам захочется ожесточенно повозить мышкой по таймлайну, проигрывая анимацию вперед-назад.


⇐ вернуться назад | | далее ⇒