Главная | iClone 3.1
Анимация поддерживает репутацию страны
Предыдущая Следующая
В данном упражнении предстоит написать некий сценарий MAXScript, позволяющий расширить возможности системы IK в отношении автоматического растягивания костей при перемещении цепочки IK.
1.?Загрузите сохраненную выше сцену для возврата к исходной схеме IK.
В данном случае требуются три числовых значения: положение костей Вопе02 и ВопеОЗ по оси X, определяемое в треках X Position окна Track View, а также расстояние, на котором цепочка IK достигает своего предела.
2.?Выделите кость Вопе02 и определите ее положение по оси X в соответствующем треке окна Track View. Если в данном треке имеется другой контроллер, непременно назначьте контроллер XYZ Position.
3.?Выделите контроллер Position и щелкните на кнопке Assign Controller, расположенной над треком положения.
4.?Щелкните на позиции XYZ Position, а затем последовательно на кнопках Make Default, Yes и OK (рис. 14.8).
5.?Выделите кость ВопеОЗ и определите ее положение по оси X. Соответствующее значение будет использовано в четвертой строке создаваемого сценария.
6.?Переместите цель IK вниз до тех пор, пока нога не станет совершенно прямой, но при этом цель не должна выходить за пределы лодыжки. Выполняйте перемещение медленно, чтобы добиться нужного результата.
7.?Введите в окне MAXScript Listener (Приемник команд MAXScript) следующее выражение: distance SIKChainOLpos SBoneOl.pos. Затем нажмите клавишу Enter. Запишите полученное чистовое значение, поскольку оно будет использовано в третьей строке сценария. Это расстояние от цели IK до места расположения кости BoneOl.
8.?Переместите цель IK в ее исходное положение.
9.?Назначьте на позиции X Position контроллер Float Script. При этом появится окно Script Controller Editor (Редактор контроллера управления по сценарию). Запишите отображаемое в этом окне значение положения по оси X.
Г лава 14. Снаряжение органической модели персонажа для приложений в вещательной сфере
10. Введите следующий сценарий, подставляя записанные выше значения и нажимая клавишу Enter после каждой строки:
dependsOn $IKChain01.pos.controller $Bone01.pos.controller
d = distance $IKChain01.pos $Bone01.pos
ex = (d - 114.75)
orig = €9.269
if (ex < 0) then
ex = 0 p = orig + (ex/2)
%0 ПРИМЕЧАНИЕ
Команда dependsOn, приведенная в первой строке, является новой командой MAXScript. Она позволяет сообщить max о необходимости выполнения расчета по данному сценарию в зависимости от изменения любого числа параметров обьекта. Ранее для определения момента обновления контроллера управления по сценарию приходилось перемещать ползунок временной шкалы анимации, а теперь этот момент определяется автоматически.
В первой строке сценария устанавливается режим автоматического обновления при изменении положения цели IK и кости BoneOl.
Во второй строке, как и прежде, измеряется расстояние между целью ПС и костью BoneOl, и полученное значение присваивается соответствующей переменной
424 Часть V. Проецирование материалов и текстур
В третьей строке расстояние, на которое растянута нога, вычитается из текущего расстояния, и полученное значение присваивается соответствующей переменной.
В четвертой строке значение исходного положения кости BoneOl по оси X присваивается соответствующей переменной.
В пятой строке проверяется условие отсутствия растягивания ноги, и если это условие истинно, значение расстояния, на которое растянута нога, устанавливается равным нулю.
В шестой, последней строке сценария фактически устанавливается значение положения по оси X, которое и определяет растягивание ноги. Для получения равномерного растягивания костей (этот сценарий будет повторно использован для кости ВопеОЗ) значение исходного положения по оси X складывается со значением растягивания и полученный результат делится на 2.
11.?Щелкните на кнопках Evaluate (Вычислить) и Close.
12.?Выделите кость ВопеОЗ и повторите приведенную выше процедуру, начиная с п. 1. Подставьте значение исходного положения кости ВопеОЗ по оси X.
Таким образом, при перемещении цели IK нога растягивается.
13.?Загрузите сцену max из файла OlstretchyLeg.max в папке CHAPTER14 на сопровождающем эту книгу CD-ROM, чтобы увидеть конечный результат, который должен соответствовать рис. 14.9.
Рисунок 14.9. Здесь показан конечный результат растягивания ноги
Глава 14. Снаряжение органической модели персонажа для приложений в вещательной сфере
Предыдущая Следующая