содержание | {PAGES} | Картинки |
RENDER.RU / Уроки /MAX |
RENDER.RU / Уроки /MAX Уроки \ MAX О прoекте Нoвости Стaтьи Обзоры Kниги Галерeя Урoки Su.Render реAнимация Фoрум Сoфт Обучение Линки Поиск Реклама: Mаx (18) Mаya (9) LightWаve (7) Rhino (2) Bryce (3) Изучаем скрипты в Max 3 (4) 1 2 3 4 5 6 Alexander Esppeschit Bicalho (homepage) Управление объектами на сцене Вероятно, наиболее важной возможностью MAXScript является манипулирование объектами на сцене, что упрощает создание анимации. В этом упражнении вы воспользуетесь простой моделью глаза и анимируете ее средствами MAXScript. Откройте файл SCRIPT_EYE.MAX Примените Freeze и заморозьте объект PN_Tube01. Глаз представляет собой простую сферу из multi-sub -материала. Веко и основание были промоделированы при помощи MeshSmooth. Для анимации глаза было создано несколько пустых объектов. Сначала вы напишите скрипт, управляющий вращение глаза. Создайте новый скрипт и наберите: utility control "Eye Control" ( ) В этой утилите вы создадите элемент управления slider для контроля над вращением глаза налево и направо. Вращение будет ограничено 45 градусами в обоих направлениях. В тексте утилиты наберите: slider eyeh "Horizontal Movement" range:[-45,45,0] Теперь нужно описать действие, предпринимаемое, когда пользователь передвигает указатель. Первоначально величина, соответствующая этому органу управления, обозначает вращение объекта (глаза) в плоскости Z. Для того, чтобы обозначить тот факт, что вращаться будет именно глаз, вы напишите $eye, где eye- точное имя объекта на сцене. Наберите: on eyeh changed val do $eye.rotation.z_rotation = val Воспользовавшись командой Evaluate, выполните скрипт и проверьте его работу. Тогда вы увидите, что в сценарии имеется одна проблема- величину поворота нельзя установить обратно в ноль. Эта проблема будет решена путем создания кнопки reset. Под описанием слайдера наберите следующее: button reseth "Reset" on reseth pressed do ( $eye.rotation.z_rotation = 0 eyeh.value = 0 ) Теперь вы создали возможность вернуть глаз в исходное положение. Повторите описанные шаги, чтобы добавить вращение вокруг оси X, чтобы глаз вращался в вертикальной плоскости. Наберите: slider eyev "Vertical Movement" range:[-45,45,0] button resetv "Reset" on resetv pressed dov ( $eye.rotation.x_rotation = 0 eyev.value = 0 ) on eyev changed val do $eye.rotation.x_rotation = val Обратите внимание на угол вращения вокруг оси X, потому что нулевой угол вращения соответствует взгляду в потолок, а не прямо вперед. Поэтому, чтобы скрипт работал правильно, прибавьте к этой величине 90°. Вот скрипт, организованный более удобно: slider eyeh "Horizontal Movement" range:[-45,45,0] button reseth "Reset" slider eyev "Vertical Movement" range:[-45,45,0] button resetv "Reset" on eyeh changed val do $eye.rotation.z_rotation = val on eyev changed val do $eye.rotation.x_rotation = val + 90 on reseth pressed do ( $eye.rotation.z_rotation = 0 eyeh.value = 0 ) on resetv pressed do ( $eye.rotation.x_rotation = 90 eyev.value = 0 ) Для создания анимации просто передвиньте слайдер в нужное начальное положение, включите опцию Animate и развлекайтесь со скриптом дальше. Выполните скрипт eye03.ms и обратите внимание на возможности движения века. Откройте файл SCRIPT_EYE2.MAX и выполните eye4.ms, который управляет обоими глазами независимо. перевод: ArtLogic Trademarks, articles, translates, images belong to their respective owners. Статьи, переводы и изображения принадлежат их авторам. Copyright (c) render.ru , 1999-2000. project by ArtLogic |
содержание | Картинки |