Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 606; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.