КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Контексты
МетодAngleAxis Если объект нужно повернуть на угол более 360°, в таком случае можно воспользоваться объектами класса AngleAxis. Такие объекты реализуются подобно кватернионам следующим образом: ang = angleaxis 30 [1, 0, 0] ang = angleaxis 30 x_axis Оба приведенных выше выражения равнозначны, поскольку в обоих случаях создается объект ang, который обеспечивает вращение на 30° вокруг оси X. Для вращения объекта по методу AngleAxis выполните следующее упражнение. 1. Установите 3dsMax в исходное состояние. 2. Введите следующую строку кода в приемнике команд, чтобы создать стандартный параллелепипед: b = box() 3. Включите режим Auto Key и переместите ползунок временной шкалы анимации к кадру 10. Введите в приемнике команд следующую строку кода: b.rotation.x_rotation = 720 4. Воспроизведите анимацию. Объект не вращается. 5. Переместите ползунок временной шкалы анимации к кадру 10. Если режим Auto Key все еще включен, введите в приемнике команд следующий фрагмент кода: ang = angleaxis 720 [1, 0, 0] rotate b ang 6. Выключите режим Auto Key и воспроизведите анимацию. Объект совершит два полных оборота. У всякого геометрического объекта имеется своя точка опоры, которая представляет собой точку, вокруг которой происходит перемещение, вращение и масштабирование объекта. До сих пор в этой главе преобразования рассматривались лишь относительно устанавливаемой по умолчанию точки опоры объекта. Для преобразования точки опоры объекта вручную выполните следующее упражнение. 1. Создайте любой объект. 2. Перейдите к панели команд Hierarchy. 3. Если объект выделен, активизируйте кнопку Affect Pivot Only (Оказывать влияние только на точку опоры). Точка опоры перемещается и вращается, когда выполняются преобразования перемещением и вращением. На приведенном ниже рисунке показана Глава 5 точка опоры параллелепипеда после того, как он был преобразован произвольным образом.
Для изменения точки опоры объекта в MAXScript воспользуйтесь свойством.pivot, чтобы установить или переместить точку опоры, например: object.pivot = [0, 0, 10.0] или object.pivot.z = 10.0 Любые последующие преобразования объекта будут происходить относительно нового центра преобразования. Для преобразования точки опоры средствами MAXScript выполните следующее упражнение. 1. Создайте параллелепипед. Введите следующую строку кода и нажмите клавишу <Enter>: b = box() 2. Переместите точку опоры данного объекта. Введите следующую строку кода и нажмите клавишу <Enter>: b.pivot.z = 40.0 3. Перейдите к панели команд Hierarchy.Активизируйте кнопку Affect Pivot Only. Убедитесь в том, что параллелепипед выделен. Как видите, точка опоры параллелепипеда смещена по оси Z. Преобразоввния и анимация
4. Установите точку опоры в центре параллелепипеда с помощью свойства. center. Введите следующую строку кода и нажмите клавишу <Enter>: b.pivot = b.center Как видите, точка опоры перемещается в центр параллелепипеда.
Если выполняется вращение, в 3dsMax предполагается, что это делается в системе мировых координат относительно точки опоры. Преобразования можно выполнять и относительно других точек объекта или же в иной системе координат. Это делается с помощью контекстов, где указывается ссылка на выполняемую операцию. К наиболее важным контекстам относятся coordsys и about. • coordsys указывает систему координат для операции. • about указывает точку опоры (или центр преобразования) для операции. Контекст about применяется к операциям вращения и преобразования. Глава 5 Для того чтобы воспользоваться контекстом about, выполните следующее упражнение. 1. Создайте два цилиндра на сцене. Для этого введите следующие строки кода, нажав после каждой из них клавишу <Enter>: cl = cylinder height:50 c2 = cylinder pos:[40, 0, 0]
Далее попробуйте выполнить два разных вращения цилиндра c1. 2. Введите следующую строку кода и нажмите клавишу <Enter>: rotate c1 (quat 45 y_axis)
По умолчанию используется система мировых координат, а точка опоры находится в основании цилиндра. Далее вам предстоит ознакомиться с контекстом about и его применением. 3. Щелкните правой кнопкой мыши в любом видовом окне и нажмите комбинацию клавиш <Ctrl+Z>, чтобы отменить только что выполненное вращение. 4. Введите в приемнике команд следующую строку кода и нажмите клавишу <Enter>: about c2 rotate c1 (quat 45 y_axis) Преобразования и анимация Теперь результат вращения будет иным, поскольку на этот раз центр преобразования находится в точке опоры цилиндра c2.
Префикс контекста about указывается в начале, а не в конце выражения, как можно было бы ожидть. В 3dsMax операторы интерпретируются слева направо, поэтому контекст следует применять до операции вращения. Если поместить префикс контекста about в конце выражения, он будет применен к следующей вводимой операции. Ниже приведены другие примеры применения контекста about: • about [x, y, z] — выполняет вращение определенной точки; • aboutselection — выполняет вращение вокруг центра выделенных в данный момент объектов.
Дата добавления: 2014-10-15; Просмотров: 922; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |