Все свойства, описанные ниже (но описаны далеко не все, а лишь показавшиеся мне наиболее используемыми), присутствуют у объектов любых классов. Анимировать эти свойства как правило нельзя.

Общие свойства

СвойствоОписание
<node>.nameПолучает/задает имя объекта сцены. Тип величины String. Значение по умолчанию - различное, зависит от объекта.
<node>.baseObject

Доступ к базовому элементу объекта сцены (класс объекта внизу стека).
Тип величины: подкласс класса Node, значение по умолчанию различное. Если на объекте есть модификаторы, то они меняют его класс. Например, типом линии с наложенным модификатором extrude сначала является Shape, а потом на вершине стека модификаторов класс превращается в Editable Mesh (состояние объекта на вершине стека называется world state).
Поскольку функция classOf() для объектов сцены возвращает класс объекта на вершине стека, вы можете использовать свойство baseObject, чтобы определить класс оригинального объекта, который использовался в момент создания. Свойство <node>.baseObject начиная с 3ds Max 5.1 доступно не только для чтения, но и для записи.
Пример: s=sphere(); b=box(); s.baseobject = b.baseobject

<node>.material Получает/задает материал объекта сцены.
Тип величины Material. Значение по умолчанию: undefined.
<node>.parent

Получает/задает родительский объект.
Тип величины Node. Значение по умолчанию: undefined.
В случае, когда родитель отсутствует, свойство возвращает значение undefined. Установка данного свойства эквивалентна отсоединению объекта от существующего родителя и присоединению его в качестве потомка к заданному объекту. Объект можно отсоединить от существующего родителя и сделать объектом верхнего уровня, если назначить на это свойство значение undefined: $foo.parent = undefined

<node>.children

Возвращает массив потомков NodeChildrenArray - специальный подкласс класса массивов array.
Тип величины NodeChildrenArray. Значение по умолчанию: undefined.
Работа с этим подклассом аналогична работе с массивами, индексы, циклы и функции, работающие с коллекциями действуют точно также.
Пример:
c = $foo.children[i]
move $foo.children [10,10,10]
for c in $baz.children do print c
Узнать число потомков объекта можно через свойство count: num_children = $foo.children.count
Нельзя напрямую задать потомка увеличивая индекс NodeChildrenArray, вместо этого потомки добавляются функцией append() и удаляются функцией deleteItem().
Например:
$foo.children[$foo.children.count+1]=$baz --ТАК НЕ РАБОТАЕТ
append $foo.children $baz -- РАБОТАЕТ
deleteItem $foo.children $baz -- УДАЛЯЕТ ОБЪЕКТ $baz КАК ПОТОМКА
Порядок индексов потомков соответствует порядку, показываемому в окне иерархии, т.е. порядку, в котором потомки добавлялись к родителю.

<node>.mesh

Для объектов сцены или их базовых элементов, которые являются объектами Editable Mesh либо могут быть конвертированы в Editable Mesh, это свойство выводит величину типа TriMesh, содержащую копию сетки исходного объекта после применения всех модификаторов, но перед действием пространственных деформаций space warps. Если класс объекта сцены или его базового элемента не является классом Editable Mesh, то данное свойство доступно только для чтения, в противном случае заданная в нем сетка TriMesh заменяет базовый элемент.


Свойства цели и взгляда Target/LookAt

СвойствоОписание
<node>.isTarget

Возвращает true если объект является целью контроллера LookAt другого объекта и false, если нет.
Тип величины Boolean. Значение по умолчанию: false.
Если объект является автоматически созданной целью контроллера LookAt, принадлежащего источнику света или камере, и вы установите данное свойств в false, то вы после этого можете удалить объект-цель без удаления источника светы или камеры.

<node>.lookAt

Возвращает объект node, который смотрит на другой объект <node>, или заставляет node смотреть на <node>.
Тип величины Node. Значение по умолчанию: undefined.
Например, если <node> - цель камеры, то данное свойство возвратит саму камеру. Свойство обратно свойству <node>.target.
Если объект <node> не является целью контроллера LookAt другого объекта, возвращается значение undefined. Если объект <node> является целью более чем одного объекта, возвращается только один из них. Если это свойство используется для задания <node> в качестве цели другого объекта, то на этот другой объект автоматически назначается контроллер LookAt.

<node>.target

Получает/задает целевой объект для контроллера LookAt объекта <node>.
Тип величины Node. Значение по умолчанию: undefined.
Возвращает undefined, если цели нет, или объект не имеет контроллера LookAt.
Если это свойство используется для задания объекта в качестве цели объекта <node>, на объект <node> автоматически назначается контроллер LookAt. Будьте внимательны, назначая объекту данное свойство. Когда вы задаете целевой объект, 3ds Max сохраняет вместе с ним также и объект, для которого данная цель являлась последней. Если вы удаляете целевой объект, 3ds Max также хочет удалить и объект, который смотрит на цель. Если целевой объект принадлежит классу targetobject, то удаление объекта, на него смотрящего, приводит к удалению целевого объекта даже в том случае, если другие объекты тоже смотрят на эту цель.

<node>.targetDistance

Получает/задает расстояние от объекта до его цели.
Тип величины Float. Значение по умолчанию: undefined.
Возвращает undefined если объект <node> не имеет цели. Установка данного свойства двигает цель вдоль вектора объект-цель на заданное расстояние.
Примеры:
$spot01.targetDistance
$cam2.targetDistance = 100


Свойства объектов, применительно к окнам проекций

СвойствоОписание
<node>.isSelected

Получает/устанавливает состояние - выделен объект или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.isHidden

Получает/устанавливает состояние - скрыт объект в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.
Объект может быть скрыт, даже если свойство равно false. Если объект заморожен (frozen) и включен флажок Hide Frozen Objects в свитке Hide на панели Display, то объект будет скрыт в независимости от значения данного свойства.
Объект скрыт в окне проекции если:
1. Для объекта установлено состояние hidden,
2. Для слоя объекта установлено состояние hidden,
3. Категория, которой принадлежит данный объект скрыта посредством настроек Hide By Category,
4. Объект заморожен и флажок Hide Frozen Objects включен.
Свойство объекта isHidden отражает комбинацию условий (флагов) 1 и 2. Если хотя бы одно из них истинно, свойство возвратит true. Задание значения true для этого свойства устанавливает условие 1. Задание значения false удаляет оба условия и 1, и 2.
Условием 2 можно управлять путем определения слоя объекта и проверки свойства isHidden для данного слоя, используя theNode.INodeLayerProperties.layer.isHidden
Для управления условием 3 смотрите структуру hideByCategory, добавлена, начиная с 3ds Max 6.
Условие 4 можно определить, узнав заморожен ли объект через свойство theNode.isFrozen и проверив состояние свойства maxOps.hideFrozenObjects

<node>.isNodeHidden

Это свойство отражает только условие 1 из вышеописанных.
Тип величины Boolean. Значение по умолчанию: false.
Возвращает true если у объекта включен флаг hidden (объект скрыт), и false если нет. Установка данного свойства меняет только состояние (флаг) hidden у объекта.

<node>.isHiddenInVpt

Свойство только для чтения, возвращает true, если истинно хотя бы одно из 4 условий, т.е. когда объект каким-то образом скрыт в окне проекции.
Тип величины Boolean. Значение по умолчанию: false.

<node>.isFrozen

Получает/устанавливает состояние - заморожен объект в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.
Объект заморожен в окне проекции если:
1. Для объекта установлено состояние frozen, или
2. Для слоя объекта установлено состояние frozen.
Свойство объекта isFrozen отражает комбинацию условий (флагов) 1 и 2. Если хотя бы одно из них истинно, свойство возвратит true. Задание значения true для этого свойства устанавливает условие 1. Задание значения false удаляет оба условия и 1, и 2.
Условием 2 можно управлять путем определения слоя объекта и проверки свойства isFrozen для данного слоя, используя theNode.INodeLayerProperties.layer.isFrozen

<node>.isNodeFrozen

Это свойство отражает только условие 1 из вышеописанных.
Тип величины Boolean. Значение по умолчанию: false.
Возвращает true если у объекта включен флаг frozen (объект заморожен), и false если нет. Установка данного свойства меняет только состояние (флаг) frozen у объекта.

<node>.xray

Получает/устанавливает состояние - будет объект отображаться в режиме See-Through в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.boxMode

Получает/устанавливает состояние - будет объект отображаться в режиме box в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.allEdges

Получает/устанавливает состояние - будут все ребра объекта отображаться в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.vertexTicks

Получает/устанавливает состояние - будут все вершины объекта отображаться точками (ticks) в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.backFaceCull

Получает/устанавливает состояние - будут задние грани объекта отображаться в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.showTrajectory

Получает/устанавливает состояние - будет траектория объекта отображаться в окнах проекций или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.ignoreExtents

Получает/устанавливает состояние - будут размеры объекта игнорироваться при выполнении операции zoom extents или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.showFrozenInGray

Получает/устанавливает состояние - будет замороженный объект отображаться серым цветом или нет.
Тип величины Boolean. Значение по умолчанию: true.

<node>.wireColor

Получает/устанавливает цвет сетки объекта (wireframe color).
Тип величины Color. Значение по умолчанию: random color.

<node>.showLinks

Получает/устанавливает состояние - будет отображаться иерархия от объекта к потомках или нет.
Тип величины Boolean. Значение по умолчанию: false.

<node>.showLinksOnly

Получает/устанавливает состояние - будет отображаться только иерархия от объекта к потомках или нет.
Тип величины Boolean. Значение по умолчанию: false.
Установка данного свойства в true также устанавливает в true свойство showLinks.