Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория MAXScript.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
278.53 Кб
Скачать

Операции с массивами

Операция                               Описание

<collection> as array                Конвертирует коллекцию в массив

<array>.count                           Число элементов в массиве (Целое, можно изменять)

<array>[integer]                       Возвращает элемент массива. Номера начинаются с 1.

<array>[integer] = <value>       Заносит значение в элемент массива, увеличивая число элементов по необходимости

<array> + <collection> Создает новый массив из первого и второго аргументов

                                                Примеры: a=#(1,2,3,4); join a #(5,6,7,8)

                                                (cameras as array) + lights

 

Метод                                     Описание

append <array> <value>          Добавляет величину к массиву, при необходимости увеличивая его размер

copy <array> [#noMap]           Создает копию всех элементов массива. Возвращает значение ОК. Если задан параметр#noMap, создается только копия переменной массива, которая ссылается на элементы исходного массива.

deleteItem <array><number> Стирает элемент массива, уменьшая его размер на 1

join <array> <collection>         Присоединяет все элементы второго аргумента к первому

sort <array>                            Сортирует элементы массива по возрастанию. (Все элементы должны быть одного типа)

findItem <array> <value>        Ищет элемент массива, равный заданной величине и возвращает номер, первого такого элемента или ноль (zero), если элемент не найден.

insertItem <value> <array> <integer> – Вставляет значение в элемент с указанным номером, при необходимости увеличивая размер массива

qsort <array> <function> [start: integer] [end: integer] [args] – Сортирует массив, используя заданную пользователем функцию для сравнения двух элементов. У этой функции необходимо определить два аргумента на входе, а возвращать она должна целое число меньше нуля, если первый аргумент меньше второго, больше нуля, если наоборот и 0, если они равны. Если не задан начальный и конечный номер, массив сортируется целиком.

 

Пример: следующий скрипт создает 10 случайных трехмерных координат, а потом сортирует их в зависимости от расстояния до точки [0,0,0]:

positions=for i=1 to 10 collect (random [0,0,0] [100,100,0])

fn compareFN v1 v2 =

(

local d=(length v1)-(length v2)

case of

            (

            (d<0.): -1

(d>0.): 1

default: 0

)

)

qsort positions compareFN

for p in positions do print p

 

amin (<array> | {value})          Возвращает минимальное значение из элементов массива или набора величин. Если в массиве нет элементов или набор величин не задан, возвращается значение undefined. Примеры:myMin=amin #(5,1,4,2,8)

                                                myMin1=amin 5 1 4 2 8

amax (<array> | {value})         Возвращает максимальное значение из элементов массива или набора величин. Если в массиве нет элементов или набор величин не задан, возвращается значение undefined

 

Команды 3ds max в maxScript

MAXScript позволяет запускать команды меню и панели инструментов 3ds max. Перед командой пишется ключевое слово “max”. Например:

max file open

max unhide all

max quick render

 

max time ?        -- показать все команды, связанные со временем

max sel ?          -- показать все команды, в которых есть подстрока ‘sel’

max ?               -- показать все команды (их очень много)

 

 

 

 

Ниже приведен список некоторых часто выполняемых команд и их описание.

Команда                    Описание

max ?                           Вывести все команды в Listener

max delete                    Стереть выделенные объекты или подобъекты

max file new                 Отобразить диалоговое окно создания нового файла

max file open                Отобразить диалоговое окно открытия файла

max file save                 Сохранить файл

max move                     Активировать режим Select and Move

max properties              Отобразить диалоговое окно свойств объекта

max quick render          Запустить быструю визуализацию

max redo                      Вернуть отмененное действие

max reset file                Создать пустую сцену

max rotate                    Активировать режим Select and Rotate

max select                    Активировать режим Select

max select all                Выделить все объекты

max time end                Установить ползунок шкалы времени в конечную точку

max time start               Установить ползунок шкалы времени в начальную точку

max undo                     Отменить действие

max unfreeze all            “Разморозить” все объекты

max unhide all               Показать все скрытые объекты

max vpt front                Сделать активный видовой экран проекцией Спереди

max zoomext sel           Активировать режим  Zoom Extents Selected