КАТЕГОРИИ: Архитектура-(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) |
Применение модификаторов
Введение Итак, вы уже умеете создавать геометрические объекты средствами MAXScript. В этой главе вы научитесь создавать и модифицировать источники света, камеры и материалы. Приступая к работе в пользовательском интерфейсе 3dsMax, вы обычно настраиваете средство визуализации и пользуетесь его настройками в течение всей работы. В этой главе поясняется, как средство визуализации настраивается в MAXScript для автоматизации процесса визуализации. Кроме того, вы ознакомитесь с обратными вызовами и методом вызова сценария, когда на сцене происходит определенное событие. И наконец, вы научитесь формировать случайные значения средствами MAXScript. Все, что создается в MAXScript, считается объектом или элементом определенного типа, даже при отсутствии физического проявления. Модификаторы также считаются объектами, хотя они и не являются трехмерными объектами, а скорее относятся к элементам, обладающим определенными свойствами, которые можно устанавливать и изменять аналогично трехмерным объектам сцены. Об этом различии уже упоминалось в главе 4. Сначала создается объект-модификатор, а затем устанавливаются его свойства. Для того чтобы создать и применить модификатор, выполните следующее упражнение. 1. Установите 3dsMax в исходное состояние. 2. Создайте модификатор Bend с помощью конструктора bend и укажите угол сгибания, введя в приемнике команд следующую строку кода: b = bend angle:90 Переменная b содержит ссылку на модификатор Bend, тогда как угол сгибания (angle) относится к свойствам данного модификатора. Теперь модификатор можно применить к любому трехмерному объекту.
Работа с объектами в MAXScript
3. Создайте цилиндр и установите число его сегментов по высоте равным 2C. чтобы лучше видеть воздействие на него модификатора. Для этого введите следующую строку кода: c = cylinder height:50 heightsegs:20 4. Примените модификатор Bend к цилиндру. Для этого введите следующую строку кода: addmodifier c b В этой строке кода модификатор применяется к цилиндру с помощью метода addmodifier, после имени которого указываются ссылка на цилиндр и ссылка на данный модификатор. А поскольку конкретная ось действия модификатора не указывается, то по умолчанию в 3dsMax используется ось Z.
5. Этот же сценарий можно было бы написать короче. Введите следующий фрагмент кода: cc = cylinder pos: [100, 0,0] height:50 heightsegs:20 addmodifier cc (bend angle:90) В последнем пункте предыдущего упражнения конструктор модификатора был помещен в круглые скобки. Это еще один пример передачи выражения в виде аргумента функции. В данном выражении создается объект-модификатор, который затем применяется к цилиндру. Свойства модификатора можно изменить тремя способами. • Присвоить явную ссылку на модификатор. В приведенном выше упражнении переменной b была присвоена ссылка на модификатор. После этого свойства переменной b могут быть установлены с помощью таких выражений. как следующее: b.angle = 80 Глава 6 При установке свойства объект автоматически обновляется в видовом окне. Так, в приведенном выше упражнении это оказало влияние не на новый, а на исходный цилиндр, поскольку к нему был применен модификатор Bend, ссылка на который делается в переменной b. • Изменить свойства модификатора посредством объекта, к которому он применяется. Если используется метод addmodifier, модификатор исполняет роль свойства геометрического объекта. Изменения могут быть внесены в модификатор следующим образом: cc.bend.angle = 75 Доступ в этой строке кода осуществляется сначала к свойству bend цилиндра cc, а затем к свойству angle модификатора Bend. Таким способом удобно пользоваться в отсутствие явной ссылки на модификатор, как в примере сокращенной записи кода сценария из п.5 приведенного выше упражнения. • Получить доступ к массиву свойств модификаторов, применяемых к объекту. Каждый объект имеет свойство.modifiers, возвращающее массив модификаторов, применяемых к данному объекту. Первым элементом данного массива является модификатор, находящийся на вершине стека в том виде, в каком он представлен на панели команд Modify. Вторым элементом массива является следующий вниз по стеку модификатор и так далее до последнего элемента массива, который соответствует модификатору, находящемуся на дне стека. Если воспользоваться упоминавшимся ранее примером цилиндра, то можно написать следующее: c.modifiers[1].angle В этой строке кода осуществляется доступ к свойству angle модификатора Bend. Такой способ доступа к свойствам модификатора удобен для выполнения операций над всеми модификаторами, применяемыми к объекту.
Дата добавления: 2014-10-15; Просмотров: 632; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |