содержание | {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
содержание | Картинки
Hosted by uCoz