Управление средством визуализации

В MAXScript имеется возможность устанавливать ряд параметров для автоматического управления средством визуализации. Визуализацию проще всего орга­низовать с помощью метода render. Его синтаксис следующий:

render [ camera: <camera_node>] [ frame: <number> | #current ]...

Примечание. Метод render имеет около 45 необязательных параметров. В этом разделе приводятся лишь самые важные из них.

Ниже перечислены некоторые устанавливаемые по умолчанию параметры и режимы визуализации.

• Визуализация в активном видовом окне

• Использование текущих настроек визуализации

• Визуализация в виртуальный буфер кадров

Устанавливаемые по умолчанию параметры могут быть переопределены. Ниже приведены некоторые необязательные параметры визуализации.

• camera: <camera> — после создания камеры визуализацию можно выполнять с точки зрения камеры, используя объект камеры.

• frame: <number> или #current — для визуализации конкретного кадра, например кадра 10, достаточно ввести следующую строку кода:

renderframe:10


Работа с объектами в MAXScript

Для указания средству визуализации текущего номера кадра служит обозначение #current:

render fгame: #current

• frameRange: <interval> или #active — этот параметр задает диапазон кадров анимации в следующем виде:

frameRange:(interval 0 100)

С помощью обозначения #active средству визуализации указывается активный в данный момент временной интервал: renderframeRange: #active

• fromframe: <number> и toframe: <number> — если используется только свойство fromframe, визуализация начинается с указанного кадра и продолжается до последнего кадра. Если же используется только свойство toframe, визуализация начинается с текущего кадра и завершается в кадре с номером toframe.

• nthframe: <number> — устанавливает режим визуализации через каждые n кадров.

• outputfile: <string> — указывает путь к файлу вывода.

• outputwidth: <number> — задает выходную ширину.

• outputheight: <number> — задает выходную высоту.

• pixelaspect: <number> — задает выходные пропорции элемента изображения.

В версии 3dsMax 8 появились следующие дополнительно указываемые пара­метры визуализации.

• renderElements: <bool> — если передается логическое значение true этого параметра либо его значение вообще не передается, визуализации подлежат любые визуализируемые элементы сцены.

• renderMultiPassEffects: <bool> — если передается логическое значение true этого параметра либо его значение вообще не передается, а для текущей камеры активизирован эффект многопроходной визуализации, то визуализируется именно этот эффект.

• renderElementBitmaps: <&var>— если визуализация выполняется по элементам, растровые изображения отдельно выводимых элементов визуализации помещаются в массив, который возвращается в переменной, указываемой по ссылке.

Дополнительные сведения об управлении средством визуализации приведены в следующем разделе справочного руководства по MAXScript: MAXScript Tools and Interaction with 3dsMax ⇨ Miscellaneous Functions ⇨ Controlling the Renderer

(Инструменты MAXScript и взаимодействие с 3dsMax ⇨ Взаимодействие с пользовательским интерфейсом 3dsMax ⇨ Разные функции Управление средством визуализации).


Глава 6

В следующем упражнении будет создана простая сцена и визуализирован ряд ее кадров. В этом упражнении вы продолжите работу с предыдущим примером сценария. Сначала вам предстоит оживить ряд параллелепипедов, чтобы в анима­ции было заметно некоторое движение.

1. Введите следующий фрагмент кода в конце сценария, над которым вы работали в предыдущем упражнении:

boxArray = for obj in objects where (classof obj == box) collect obj with animate on (

at time 10 move tc [50,0,0]

for i = 1 to 3 do

at time 10 ( rotate boxArray[i] (quat (i * 98) z_axis))

)

Если переместить ползунок временной шкалы анимации от кадра 1 к кадру 10, то можно заметить, как переместится камера и повернутся параллелепипеды.

2. Визуализируйте сцену в файл формата AVI. Для этого введите в окне редактора сценариев следующий фрагмент кода:

render camera: tc \

outputwidth: 320 \

outputheight: 240 \

fromframe: 0 \

toframe: 10 \

outputfile: "c:\\teapot.avi"

Если вы предпочитаете вывести результаты визуализации в другую папку или на другой диск, замените имя диска или введите другую папку перед именем файла формата AVI в последней строке данного фрагмента кода.

3. Выведите следующее сообщение об окончании визуализации: messagebox "Finished Rendering!"

Когда визуализация начнется, видно будет лишь содержимое буфера видеокадра, поэтому вам придется немного подождать, пока она не завершится. Для того чтобы проверить правильность выполнения визуализированной анимации, воспроизведите сформированный файл формата AVI на своем компьютере.

Примечание. Вариант сценария из данного упражнения находится в файле \chapter6\animate_boxes.ms на прилагаемом К этой книге CD-ROM.