КАТЕГОРИИ: Архитектура-(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) |
Вложенные свойства
Получение и установка свойств Итак, имея массив свойств параллелепипеда, можно воспользоваться методами getProperty и setProperty для получения и установки его свойств. Синтаксис каждого из этих методов следующий: getProperty <maxwrapper object> <property_name> setProperty <maxwrapper object> <property_name> <value> Объекты и классы В качестве параметра <property_name> указывается имя свойства, например Для получения и установки свойств объекта выполните следующее упражнение. 1. Введите в приемнике команд следующую строку кода: В приемнике команд появится результат 25,0. 2. Выделите параллелепипед в видовом окне и перейдите к панели Modify. 3. Введите следующую строку кода: 4. Как видите, высота параллелепипеда в видовом окне изменилась и теперь b.height = 40. Последний вариант короче и проще читается. Так в чем же преимущество ме Примечание. При установке свойства следует убедиться в том, что setProperty b #height "foo" -- этот код приводит к ошибке 5. Продолжите текущий пример и выведите свойства параллелепипеда и их for prop in boxProps do format "% = %\n" prop (getProperty b prop) В окне приемника команд выводятся следующие свойства параллелепипеда #height = 25.0 Дополнительные сведения по данному вопросу приведены вследующем разделе справочного руководства по MAXScript: MAXScript Language Reference ⇨ 3dsMax Objects ⇨ ldentifying and Accessing MAXScript Classes and Properties. Глава 4 Некоторые свойства имеют собственные свойства. Например, как было показано выше, у свойства.pos имеются дополнительные свойства.x,.y и.z, обозначающие положение объекта по осям X, Y и Z. Эти дополнительные свойства называются вложенными. Следующая команда возвращает положение объекта по оси X, представленное числом: <node>.pos.x Для того чтобы воспользоваться данным свойством, замените <node> экземпляром объекта, как, например, в следующей строке кода: b.pos.x При этом возвращается положение объекта по оси X. Следующая команда возвращает применяемый к объекту контроллер управления вращением: <node>.rotation.controller Дополнительные сведения по данному вопросу приведены в следующих разделах справочного руководства по MAXScript. • MAXScript Language Reference ⇨ 3dsMax Objects ⇨ MAXWrapper: Valued Nested Object Properties (Справочник по языку MAXScript ⇨ Объекты 3dsMax Класс MAXWrapper: Значение ⇨ Вложенные свойства объектов) • MAXScript Language Referenceo 3dsMax Objects ⇨ Node: MAXWrapper ⇨ Node Common Properties, Operators, and Methods ⇨ Node Transform Properties (Справочник по языку MAXScript ⇨ Объекты 3dsMax ⇨ Класс Node: MAXWrapper ⇨ Общие свойства, операторы и методы класса Node ⇨ Свойства преобразования узла) Класс MAXWrapper Класс MAXWrapper включает в себя все объекты сцены 3dsMax, а также модификаторы, материалы и эффекты. Ниже приведена часть иерархии класса MAXWrapper. Value MAXWrapper Node Modifier Atmospheric Рассмотрим более подробно класс Modifier. В MAXScript каждый модификатор, по существу, считается объектом. Для того чтобы воспользоваться объектом-модификатором, необходимо получить его экземпляр. Так, если требуется применить модификатор Bend к объекту, для этого придется получить экземпляр данного модификатора. Для ввода модификатора, выполните следующее упражнение. Объекты и классы 1. Перейдите к разделу MAXScript Language Reference ⇨ 3dsMax Objects ⇨ Modifier: MAXWrapper and Spacewarp Modifier: MAXWrapper ⇨ Modifier and Spacewarp Modifier Types ⇨ Modifiers (Справочник по языку MAXScript ⇨ Объекты 3dsMax ⇨ Класс Modifier: Классы MAXWrapper Spacewarp Modifier: MAXWrapper ⇨ Типы Modifier и Spacewarp Modifier ⇨ Модификаторы) справочного руководства по MAXScript. В этом разделе приведены все классы объектов, стоящие ниже класса Modifier. 2. Введите в приемнике команд следующую строку кода: cyl = cylinder heightsegs:5
Таким образом, получен экземпляр цилиндра с пятью сегментами по высоте. 3. Переместите цилиндр в любом видовом окне в сторону от параллелепипеда, чтобы лучше его видеть. 4. Введите следующую строку кода: myMod = bend() Итак, получен экземпляр модификатора Bend. 5. Введите в приемнике команд следующую строку кода: addmodifier cyl myMod В этой строке модификатор Bend применяется к экземпляру цилиндра и появляется в стеке модификаторов цилиндра. Для того чтобы ввести модификатор Bend в цилиндр, вам пришлось получить его экземпляр и затем использовать этот экземпляр в последней строке кода, чтобы применить данный модификатор к объекту. Если вы являетесь опытным пользователем 3dsMax, то такой принцип применения модификаторов может показаться вам несколько запутанным. Ведь когда вы работаете в пользовательском интерфейсе 3dsMax, вам не нужно создавать модификатор или контроллер в качестве отдельного объекта, прежде чем применять его к объекту. Вы просто выбираете его из меню или панели команд. Но в MAXScript приходится создавать экземпляр каждого элемента сцены, прежде чем делать с интерфейсом что-нибудь. Впрочем, из данного правила имеются исключения; но, прежде чем уяснить их, нужно как следует усвоить порядок получения экземпляров всех объектов в MAXScript — даже таких, как модификаторы, которые не являются объектами сцены. Для изучения свойств модификаторов выполните следующее упражнение. 1. Откройте раздел "Bend: Modifier" (Модификатор Bend) справочного руководства по MAXScript. Свойства модификатора Bend совпадают с его параметрами, появляющимися в момент применения данного модификатора в сцене 3dsMax. Экземпляр модификатора Bend, присвоенный переменной myMod, сохраняет свою связь с конкретным модификатором в сцене 3dsMax. Следовательно, Глава 4 когда изменяются свойства переменной myMod, изменяются также параметры модификатора Bend, применяемого на сцене к цилиндру. 2. Введите в приемнике команд следующую строку кода: myMod.angle = 90 Параметр Angle (Угол сгибания) модификатора Bend, находящегося на сцене, изменяется до 90° и цилиндр сгибается. Когда модификатор применяется к объекту, а сам модификатор трактуется, как свойство данного объекта. Например, в следующей строке кода устанавливается угол сгибания модификатора Bend: c.bend.angle = 60
Дата добавления: 2014-10-15; Просмотров: 549; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |