Бег на лыжах

Загрузите в рабочее пространство Maya базу данных dreamWalk.mb и откройте редактор выражений (expression editor) и редактор сценариев (script editor).
Откройте файл dreamWalkWindow.mel в вашем любимом текстовом редакторе, выберите весь текст, скопируйте его в редактор сценариев и нажмите ввод на цифровой панели клавиатуры. Теперь впечатайте имя процедуры dreamWalkWindow в редактор сценариев, и перед вами откроется окно database UI.
Замечание: В правой части поля прокрутки у вас есть три кнопки- "setKey" - установить ключ, "delKey" - удалить ключ, и "delAttrKeys" - удалить все ключи атрибута.
Проверьте работу сценария. Если все в порядке, то вы увидите идущий скелет.
Давайте рассмотрим некоторые параметры в окне и их значение:
walk freq: это самый главный параметр, определяющий частоту цикла ходьбы. Когда он установлен в ноль, скелет стоит на месте.
walk jar jar: это дань фильму "STAR WARS: EPISODE I". Плечи скелета дергаются при ходьбе, как у персонажа JarJar Binks.
walk run: этот параметр нужен, чтобы задать расстояние ноги от пола. Когда он сброшен в ноль, скелет касается земли, а когда он равен 1, то ноги летят над землей.
hand bounciness: пусть руки раскачиваются не синхронно с походкой, а иначе, как это бывает при игре в баскетбол. Если вы хотите, чтобы руки качались синхронно с шагом, установите этот параметр равным той же величине, что и walk freq.
Замечание: hand bounciness- это единственный параметр, который работает даже при нулевом значении walk freq.
hand beat: этот атрибут напоминает walk run, но обладает прямо противоположным действием. Когда он сброшен в ноль, руки ничего не касаются, а когда установлен в единицу, руки касаются пола, так, как будто вы шлепаете ладонями по столу, или катаетесь на лыжах. Вы увидите это позднее в цикле бега на лыжах.
Я предлагаю вам пару минут поиграть с параметрами, чтобы лучше понять их функции.
Теперь, когда вы уже поняли, как обращаться с пользовательским интерфейсом, попытаемся изобразить нечто более сложное. Параметры позволяют описать вам практически любое движение, то есть вы, например, можете сдвинуть ноги вместе или двигать руками независимо, или еще что-нибудь, что вам заблагорассудится.
В этом руководстве будет показано, как проще всего создать синхронизированный цикл.
Загрузите сцену и откройте ее пользовательский интерфейс.
Установите параметр walk freq=0. Это поможет вам поставить скелет в нужную позу. Вы можете настроить персонаж даже, когда он движется, но это может оказаться сложнее.
Установите следующие значения параметров:
Теперь установите walk freq в ненулевое значение по вашему усмотрению и запустите время.
Замечание: Не забудьте установить то же значение для параметра hand bounciness, чтобы синхронизировать движения рук и ног. Установите значение hand beat равным нулю, что означает, что руки будут касаться земли.
Однако, у персонажа будет довольно странная для лыжника поза. Он будет слишком негибким, хотя это можно исправить. Для этого нужно задать новое выражение в "move expression". Вы можете внести дополнения в "move expression" или создать новое выражение, если это вам показалось слишком запутанным. В любом случае, это сработает.
float $ski = sin(time *$var) *10;
body.rotateZ = $ski;
control.sholdRot = $ski;
control.hipsRot = $ski;
Отредактируйте новое выражение. Запустите время и убедитесь в том, что теперь лыжник стал выглядеть лучше. Дальше можно поэкспериментировать.
источник:www.highend3d.com |