Свойства цвета
Свойство положения
Дополнительные свойства объектов
Некоторые свойства являются общими для всех находящихся на сцене объектов, в том числе примитивов, вспомогательных объектов и пространственных исказителей. Такие свойства не перечисляются при выполнении функции showProperties, но и они могут быть использованы. Например, у каждого объекта данного типа имеется свойство .имя.
Находящиеся на сцене объекты имеют свойства, определяющие их положение. Свойство положения имеет тип данных Point3. Значение типа Point3 обозначается тремя числами в квадратных скобках, например [20, 45, 10]. Для выполнения преобразований эти три числа обозначают координаты x, y и z положения объекта (в данном случае x = 20, y = 45, z = 10). Так, для изменения положения эти числовые значения соответствуют положению объекта по осям X, Y и Z.
Для доступа к свойству положения созданной ранее сферы можно воспользоваться следующей строкой кода:
s.pos
В ответ будет возвращено значение типа Point3. А для доступа к отдельным составляющим этого значения следует указать .x, .y или .z после свойства pos. Например, для доступа к координате X положения сферы достаточно воспользоваться следующей строкой кода: s.pos.x
Аналогичные свойства имеются у преобразований вращением и масштабированием. О применении этих свойств речь пойдет в главе 5.
Для коррекции положения объекта выполните следующее.
1. Введите в окне приемника команд следующую строку кода:
s.pos = [10, 15, 20]
Сфера переместится в новое положение. Этот факт подтверждает текст, появляющийся в окне приемника команд в квадратных скобках.
Основы MAXScript
Для изменения положения объекта по оси X возникает искушение ввести строку кода s. x = 50.0. Однако данное свойство объекта обозначается не как .x, а как .pos.x.
2. Введите в окне приемника команд следующую строку кода:
s.pos.x = 50
Сфера переместится в новое положение с координатами [50, 15, 20].
С помощью свойства .wirecolor выбирается цвет каркаса объекта. Аналогично положению объекта его цвета могут быть представлены типом данных Point3. В частности, три числовых значения обозначают основные цвета RGB (красный, зеленый и синий соответственно). Каждое такое значение является целым числом в пределах от 0 до 255 и соответствует значениям RGB в селекторе цвета.
• Белый цвет: [255, 255, 255]
• Черный цвет: [0, 0, 0]
• Чистый красный цвет: [255,0,0]
• Ярко-желтый цвет: [255, 255, 0]
• Умеренно-синий цвет: [0,50,150]
Новый цвет каркаса объекта назначается с помощью свойства .wirecolor, например:
s.wirecolor = [40,120,200]
Для изменения цветов в любой момент достаточно получить доступ к подсвойствам .r, .g, .b, например:
s.wirecolor.r = 156
Кроме того, цвет можно сохранить в переменной с помощью функции color, а затем назначить его для свойства .wirecolor объекта:
newColor = color 40 120 200 s.wirecolor = newColor
Глава 1
Для указания альфа-составляющей цвета служит следующая конструкция, состоящая из четырех цветов вместо трех: newColor = color 20 120 200 128
Четвертым параметром в данном выражении является альфа-составляющая цвета (т.е. альфа-канал). Доступ к ней осуществляется с помощью свойства .a:
alphaNum = newColor.a