Читайте также: |
|
Каждый параметр в блоке определяется с помощью следующей синтаксической формы.
Имя_параметра type: Имя_типа tabSize: Целое_число
tabSizeVariable: Логическое_выражение
animatable: Логическое_выражение default: Выражение
subAnim: Логическое_выражение ui: Компонент_интерфейса
Имя параметра ассоциируется с конкретным параметром так же, как имя блока параметров с блоком. Данное имя используется для того, чтобы при загрузке файла, содержащего объекты плугина, правильно поставить в соответствие параметрам загруженные значения. Кроме того, уникальные имена позволяют корректно загружать объекты, созданные предыдущими версиями плугинов.
Тип параметра определяется единственным обязательным элементом определения параметра. Он может быть одним из следующих
Имя типа параметра | Возможность анимации |
#float | Да |
#integer | Да |
#color | Да |
#point3 | Да |
#boolean | Да |
#angle | Да |
#percent | Да |
#worldUnits | Да |
#string | Нет |
#filename | Нет |
#colorChannel | Да |
#time | Да |
#radiobtnIndex | Нет |
#material | Нет |
#texturemap | Нет |
#bitmap | Нет |
#node | Нет |
#maxObject | Нет |
Или одним из следующих для определения массивов указанных выше типов
#floatTab
#intTab
#colorTab
#point3Tab
#boolTab
#angleTab
#percentTab
#worldUnitsTab
#stringTab
#filenameTab
#colorChannelTab
#timeTab
#radiobtnIndexTab
#materialTab
#texturemapTab
#bitmapTab
#nodeTab
#maxObjectTab
Типы #worldUnits или #worldUnitsTab определяют число или массив чисел вещественного типа, содержащих значения во внутренних единицах. Однако следует отметить, что при назначении такому параметру компонента интерфейса, например задатчика, значение не будет автоматически преобразовываться в определенные единицы (метры, футы или дюймы). Для этого нужно указать тип #worldUnits в определении задатчика.
Типы #Node и #NodeTabs используются для сохранения ссылок на объекты сцены 3ds max. Следует отметить, что не всегда имеет смысл запоминать в параметрах такого типа объекты. Например, Ваш плугин создает новый модификатор. В качестве параметра типа #NodeTab Вы сохраняете список объектов, к которым данный модификатор применен. Если пользователь удалит один из этих объектов, то ссылка на него все равно окажется в списке.
Типы, имена которых заканчиваются на Tab позволяют сохранять в качестве параметров массивы значений соответствующих типов. Начальная размерность массива может быть задана с помощью указания значения TabSize. Если при этом указана конструкция tabSizeVariable:true, то размерность массива может изменяться автоматически присвоением значения элементу массива с индексом, превосходящим заданную вначале размерность. Например, такое определение блока параметров
Parameters Block
(FArray type:#floatTab tabSize:5 tabSizeVariable:true
)
определяет массив из пяти вещественных чисел. Увеличить размерность такого массива до 12 можно с помощью простого присвоения
FArray [ 12 ] = 3.1415926
Корме этого, размерность массива можно увеличивать или уменьшать, изменяя его свойство count.
Каждый элемент массива, как равно и любой одиночный параметр может быть анимирован, если для этого параметра не указана конструкция animatable:false. При этом, используя свойство controller параметра, можно назначить параметру нужный контроллер анимации. Например
FArray [ 7 ].controller = c
Необязательная конструкция default: Выражение указывает значение по умолчанию, которое будет присвоено параметру при создании объекта. Выражение будет автоматически приводиться к типу параметра с помощью стандартных правил MAXScript.
Возможностью анимации параметра, как уже было отмечено, управляет конструкция animatable. При указании значения true, параметр анимируется, в противном случае – нет. Разумеется, анимировать можно только параметры тех типов, которые помечены как анимируемые в приведенном выше списке. По умолчанию все такие параметры считаются анимируемыми. Для параметров типа #node, #material, #textureMap, #maxObject может быть указана конструкция subAnim: Логическое_выражение. Если указано значение true, то указанный объект, материал или текстура будут доступны в окне TrackView, как подобъекты. По умолчанию значение false.
Наконец последнее свойство параметра ui. С его помощью можно поставить в зависимость параметру компонент интерфейса, который находится в свитке, определенном для данного блока параметров (то есть указанном в параметре rollout описания блока параметров). Указание этой конструкции устанавливает однозначную связь между параметром и заданным компонентом интерфейса. Изменение, например, числа в задатчике приведет к немедленному изменению связанного с ним параметра. И наоборот, присвоение значения параметру автоматически изменит вид компонента интерфейса.
Разумеется, не каждый элемент интерфейса может быть ассоциирован с любым типом параметра. Список возможных сочетаний приведен ниже.
Тип параметра | Возможные типы компонентов интерфейса |
#integer | spinner, slider, radioButtons, checkbox, checkbutton |
#float | spinner, slider |
#time | spinner, slider |
#color | colorpicker |
#angle | spinner, slider |
#percent | spinner, slider |
#colorChannel | spinner, slider |
#boolean | checkbox, checkbutton |
#node | pickButton |
#textureMap | mapButton |
#material | materialButton |
#worldUnits | spinner, slider |
Дата добавления: 2015-10-31; просмотров: 71 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Правила построения скрипт-плугина | | | Функции, применяемые при разработке скрипт плугинов |