Это один из способов управления потоком выполнения сценария. Обычно 3ds max выполнят команды одну за другой, а при достижении последней строки завершает выполнение. Но при наличии условий выполнение сценария будет продолжено только в том случае, если результат выражения — истина.
Предположим, что в сценарии используются следующие строки:
Переменной b никогда не будет присвоено значение 2 (строка b = 2), поскольку выражение (а == 5) ложно. Другими словами, если выражение, следующее за оператором if, истинно, то выполняются операторы в скобках, следующие за ним. В противном случае (выражение, следующее за оператором if, ложно,) операторы в скобках пропускаются. Синтаксис оператора if выглядит следующим образом: If <выражение> then <действия> Здесь <выражение> — условие выполнения <действия>. Если условие ложно, то для выполнения действий используется ключевое слово else, например:После выполнения приведенного кода переменной b присваивается значение 3, поскольку выражение (а == 5) ложно.
Коллекции и массивы
В MAXScript есть полезное свойство, с помощью которого управляют группами объектов. Группу объектов часто называют коллекцией {collection). Коллекцию можно представить в виде ящика, в котором содержатся неупорядоченные объекты или переменные.
С коллекцией работают, как с группой объектов определенного типа. Например, с помощью операторов
создается коллекция всех объектов сцены, имена которых начинаются с символов pokey, а затем этим объектам коллекции присваивается красный цвет.
В MAXScript существует несколько полезных встроенных коллекций, например cameras и lights, содержащих соответственно все камеры и источники света сцены. Так, оператор
delete lights
удаляет все источники света из сцены (используйте подобные операторы с большой осторожностью).
Массив {array) — это тип коллекции, содержащей упорядоченные объекты, доступ к которым можно осуществить с помощью индекса массива, например:
В последней строке отображается текущее значение массива:
Обратите внимание, что некоторые элементы массива не определены, на их месте отображается значение undefined.
С помощью ключевого слова as можно преобразовать коллекцию в массив:
В приведенной строке встроенная коллекция источников света lights преобразуется в массив с именем LightArray.
Элементы массива или коллекции могут иметь различные типы данных, т.е. допускается совместное использование числовых, строковых и объектных значений, например:
Для преобразования типов данных можно использовать ключевое слово as. Например, в выражении (5 as string) числовое значение 5 преобразуется в строковое "5", а в выражении (5 as float) — в значение с плавающей точкой 5,0. |