Понятие переменная в MAXScript практически идентично аналогичному понятию в алгебре. Переменная в MAXScript представляет собой контейнер, в который можно что-то поместить, а позднее извлечь. Однако, в отличие от алгебраических, переменная в MAXScript может содержать не только числовые значения.
Для присвоения значения переменной необходимо использовать символ равенства. Например, если вы введете X = 5 * 3 в окне MAXScript Listener, программа 3ds max вычислит правую часть выражения и сохранит результат в переменной X. В рассматриваемом примере 3ds max умножит 5 на 3 и результат (15) сохранит в переменной X. Просмотреть значение переменной в окне MAXScript Listener можно, введя X и нажав клавишу <Enter>. Программа 3ds max отобразит значение 15, хранящееся в этой переменной.
Переменным можно присваивать любые имена. Однако всегда помните правило: имя переменной должно отражать ее суть. Например, для хранения числа объектов, с которыми вы собираетесь работать, лучше использовать имя objCount, чем Z.
Имя переменной должно начинаться с буквы, а не с цифры. Кроме того, оно не может содержать специальных символов, например пробелов, запятых или кавычек. Допускается использование символа подчеркивания и любых буквенных символов. |
Переменные также могут содержать строки, которые представляют собой группы символов, например: badDay = "Monday" В приведенном примере переменной badDay присваивается значение Monday. Для объединения двух строк можно использовать символ "+", например: grouchy = "My least favorite day is" + badDay В этом примере переменной grouchy присваивается значение My least favorite day is Monday.
Теперь попробуйте ввести в окно MAXScript Listener следующее: wontWork = 5 + "cheese". Программа 3ds max возвратит сообщение об ошибке, поскольку нельзя добавить к числу текст. Значения 5 и cheese представляют собой два различных типа данных. Типы данных — это различные классы значений, которые могут быть сохранены в переменных. Практически всегда можно смешивать значения одинаковых типов данных, в то время как смешивание значений различных типов данных смысла не имеет.
Для просмотра типа данных переменной используйте команду classof. Например, чтобы просмотреть тип данных переменной grouchy, описанной выше в этой главе, введите команду classof grouchy, и 3ds max возвратит значение String (Строковая переменная) |
В 3ds max довольно часто используется тип данных Point 3, который представляет трехмерные координаты. Ниже приведен пример использования этого типа данных.
Pos = [5,3,2] -- Создание новой точки с координатами (5,3,2) Pos.x =7 -- Изменить значение координаты х на 7 -- Теперь координаты точки выглядят так: (7,3,2) Pos = Pos + (1,2,5) -- К старому значению переменной Pos -- добавляется новое (1,2,5), и это вычисленное -- значение (8,5,7) присваивается переменной PosКроме основных типов данных, каждый объект сцены обладает собственным типом данных. Например, если применить команду classof к сфере. 3dsmax вернет значение Sphere. Типы данных объектов сцены являются сложными типалш данных или структурами, т.е. они выступают группами других типов данных в одном модуле. Часть данных сложного объекта называется свойствами. У большинства объектов сцены есть свойство Name, которое имеет тип данных String. Это свойство описывает имя объекта. Еще одно наиболее общее свойство объектов — Position (тип данных Point3), описывающее положение объекта в пространстве.
В 3ds max существует встроенная переменная — $ (символ доллара), которая представляет текущий выделенный объект. Эта переменная описывается в следующем упражнении.
Упражнение: использование переменных
Рассмотрим переменные М AXScript, применяемые для манипуляции объектами сцены. Чтобы с помощью переменных управлять объектами сцены, выполните следующее.
На рис. 40.9 представлены команды и результаты их выполнения в окне MAXScript Listener, а также объект Teapot после выполнения введенных команд.