Материалы

Камеры

Управление камерами осуществляется в MAXScript достаточно просто. Ниже приведены некоторые конструкторы для свободных и нацеленных камер:

targetCamera()

freeCamera()

Для создания нацеленной камеры выполните следующее упражнение.

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

delete $*

2. Введите следующую строку кода в самом конце сценария:

tobj = targetObject pos: [7,15,31]

В этой строке создается целевой объект для нацеленной камеры.

У данного объекта, выполняющего роль цели камеры, отсутствуют собственные свойства.

3. Создайте нацеленную камеру и укажите ее цель:

tc = targetCamera pos:[0,0, 40.0] target: tobj

4. Когда камера перемещается, она остается постоянно направленной на цель.

Введите в окне приемника команд следующую строку кода:

move tc [-121,-166,60]

Камера постоянно направлена на цель.
Работа с объектами в MAXScript

 

 

 


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

1. Активизируйте окно вида в перспективе, выделив в этом окне любой находящийся на сцене объект. Введите в свой сценарий следующую строку кода: viewport.setcamera tc

2. Активизируйте безопасные кадры в этом видовом окне, введя следующую строку кода:

max safeframe toggle

А теперь сохраните сценарий в файле, поскольку вам еще предстоит вернуться к нему.

Средствами MAXScript можно получить доступ к редактору материалов, а также к отдельным материалам, применяемым к объектам. В частности, для доступа к материалу, назначенному для объекта, служит свойство .material или .mat:

<node>.material

<node>.mat

А для доступа к материалу в редакторе материалов служит виртуальный массив meditMaterials. Этот массив организуется в 3dsMax автоматически и индексируется номерами соответствующих позиций образцов в редакторе материалов, например:

meditmaterials[3]

При выполнении этой строки кода возвращается материал, находящийся на третьей позиции образца в редакторе материалов.


Глава 6

Предупреждение - Массив MeditMaterials состоит только из 24 элементов, поэтому будьте внимательны, чтобы не выйти за пределы этого массива во время его индексации. Так, обращение meditMaterials[25] к данному массиву приведет к ошибке.

Материалы можно создавать, как отдельные объекты, и назначать их для объектов сцены. Каждый тип материала имеет свой конструктор. Например, конструктор стандартного материала имеет следующий вид:

standard()

Как только стандартный материал создан, его карты становятся доступными

в виде свойств данного материала:

sm = standard()

sm.diffusemap

Разные виды карт можно также создавать, как отдельные объекты, и назначать их для отдельных каналов проецирования:

ch = checker()

sm.diffusemap = ch

Для отображения карты в видовом окне служит метод showTextureMap: showTextureMap sm ch on

В этой строке кода активизируется режим отображения карты клетчатого рисунка ch в материале sm.