このトピックで説明されるプロパティは、すべてのノード サブクラスで操作できます。
特に記さない限り、これらのプロパティはアニメートできません。
<node>.name String default: varies
シーン オブジェクトの名前を取得または設定します。
<node>.baseObject A subclass of Node default: varies
シーン ノード内の基本オブジェクトにアクセスします。これは、スタック上で処理されるときにノード タイプを変更するモディファイヤを持つノードに関連します。たとえば、押し出しモディファイヤの行からシェイプとして開始し、スタックの最上部、いわゆるワールド状態で編集可能メッシュになります。 baseObject
プロパティは、モディファイヤ スタック内の基本オブジェクトにアクセスできます。シーン ノード オブジェクト上の classOf()
関数はワールド状態オブジェクト(スタックの最上部)のクラスを返すため、baseObject
プロパティを使って、ノードの作成に使われたオリジナル オブジェクトのクラスを決定することができます。
<node>.baseObject
baseObject は、3ds Max 5.1 以降書き込み可能になっています。
例
s=sphere() b=box() s.baseobject = b.baseobject
<node>.material Material default: undefined
オブジェクトのマテリアルを取得または設定します。
<node>.parent Node default: undefined
オブジェクトの親を取得/設定します。オブジェクトがトップレベルのオブジェクトである場合に親プロパティにアクセスすると、undefined
を返します。
例
foo_mom = $foo.parent $foo.parent = $baz
このプロパティを設定すると、<node>
を元の親から分離し、指定したノードの子として割り当てることができます。
次のように、親のプロパティに undefined
を代入することによってオブジェクトを分離し、それをトップレベルのオブジェクトにすることができます。
$foo.parent = undefined
<node>.children NodeChildrenArray default: undefined
これにより、特殊な配列サブクラス NodeChildrenArray
が生成されます。「NodeChildrenArray 値」を参照してください。NodeChildrenArray
は、通常の MAXScript 配列のインデックス指定でアクセスでき、for ループ内や collection-mapped 関数を使って処理できます。
例
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-- does not work append $foo.children $baz-- works deleteItem $foo.children $baz-- removes $baz as child
子のインデックスの順序は、3ds Max 階層表示における順序に一致し、その順序は子が親に追加されたときの順序です。
<node>.mesh TriMesh
編集可能メッシュ オブジェクトであるシーン ノードやベース オブジェクト、または編集可能メッシュ オブジェクトに変換可能なシーン ノードやベース オブジェクトでは、このプロパティにより、TriMesh が生成されます。この TriMesh には、モディファイヤが適用されてからスペース ワープが適用される前のソース オブジェクトのメッシュのコピーが含まれます。このプロパティは、シーン ノードまたはベース オブジェクトが編集可能メッシュ オブジェクトでない限り、読み込み専用です。その場合、ベース オブジェクトは指定した TriMesh に置換されます。TriMesh および編集可能メッシュの詳細は、「Editable_Mesh: GeometryClass および TriMesh:値」を参照してください。
<node>.boundingBox
3ds Max 2022 の新機能: 読み込み専用。ノードのバウンディング ボックスを表す Box3 値を返します。
<node>.displayByLayer Boolean default: true
true
の場合、オブジェクトの可視性はレイヤによってコントロールされます。
<node>.motionByLayer Boolean default: true
true
の場合、モーション ブラーはレイヤによってコントロールされます。
<node>.renderByLayer Boolean default: true
true
の場合、レンダリングはレイヤによってコントロールされます。
<node>.colorByLayer Boolean default: true
true
の場合、オブジェクトはレイヤのカラーを使用します。false
の場合、オブジェクトのカラーが代わりに使用されます。
<node>.globalIlluminationByLayer Boolean default: true
true
の場合、アドバンスト ライティングを含めるかどうかは、レイヤによってコントロールされます。
<node>.isTarget Boolean default: false
ノードが他のオブジェクトの LookAt コントローラのターゲットである場合は true
、その他の場合は false
を返します。オブジェクトがライトまたはカメラの LookAt コントローラの自動的に作成されたターゲット オブジェクトであり、このプロパティを false
に設定した場合、ライトまたはターゲットを削除することなく、ターゲット オブジェクトを削除できます。
<node>.lookAt Node default: undefined
<node>
を参照しているノードを取得したり、ノードが <node>
を参照するように設定します。これは、<node>.target
プロパティの逆です。<node>
が何らかのオブジェクトの LookAt コントローラのターゲットでない場合は、undefined
が返されます。 <node>
が複数のオブジェクトのターゲットである場合は、いずれかのオブジェクトが 1 つだけ返されます。このプロパティを使って <node>
を他のオブジェクトのターゲットとして設定すると、そのオブジェクトに対して LookAt コントローラが自動的に割り当てられます。
<node>.target Node default: undefined
<node>
の LookAt コントローラのターゲット ノードを取得または設定します。ターゲットがない場合やノードに LookAt コントローラがない場合は undefined
が返されます。このプロパティを使用してオブジェクトを <node>
のターゲットとして設定した場合は、LookAt コントローラが自動的に <node>
に割り当てられます。ノードを target
プロパティに割り当てる場合には注意が必要です。ターゲット オブジェクトを指定すると、ターゲット オブジェクトと、ターゲットの元になる最後のオブジェクトが共に 3ds Max に格納されます。そのターゲット オブジェクトを削除すると、参照元のオブジェクトも削除されます。****ターゲット オブジェクトが targetobject クラスのオブジェクトの場合、参照元のオブジェクトを削除すると、ほかのオブジェクトがターゲット オブジェクトを参照している場合でも、そのターゲット オブジェクトは削除されます。
<node>.targetDistance Float default: undefined
ノードからターゲットまでの距離を取得/設定します。<node>
にターゲットがない場合は、undefined
を返します。このプロパティを設定すると、ターゲットはオブジェクトとターゲットを通るベクトル上の指定した距離に移動します。
例
$spot01.targetDistance $cam2.targetDistance = 100
<node>.isHidden Boolean default: false
ビューポートでノードが非表示に設定されているかどうかを取得/設定します。このプロパティが false
の場合でもノードが非表示になる場合があります。ノードがフリーズとしてフラグ設定され、[表示] (Display)パネルの[非表示] (Hide)ロールアウトで「フリーズ オブジェクトを非表示」がオンになっている場合は、このプロパティの値にかかわらずノードは非表示になります。
ビューポート内でノードが非表示になるのは次の場合です。
1. ノードの非表示フラグがオンになっている。
2. ノードのレイヤ非表示フラグがオンになっている。
3. [カテゴリによる非表示](Hide By Category)を使用してノードのカテゴリが非表示になっている。
4. ノードがフリーズされており、[ロックされたオブジェクトをオフ](Hide Frozen Objects)が有効になっている。
ノードの isHidden
プロパティは、条件 1 と 2 の組み合わせを反映します。条件 1 または 2 のどちらかが true
の場合、プロパティは true
を返します。プロパティを true
に設定すると、ノードの非表示フラグが設定されます。プロパティを false
に設定すると、ノードの非表示フラグとノードのレイヤの非表示フラグの両方がクリアされます。
条件 2 は、ノードのレイヤを取得し、theNode.INodeLayerProperties.layer.isHidden
を使用してレイヤの isHidden
プロパティをチェックすることで処理できます。
条件 3 の処理については、3ds Max 6 で追加された「hideByCategory 構文」を参照してください。
条件 4 は、theNode.isFrozen
を使用してノードのロック状態を取得し、maxOps.hideFrozenObjects
プロパティをチェックすることで処理できます。
<node>.isNodeHidden Boolean default: false
ノードの isNodeHidden
プロパティは、前に示した条件 1 のみを反映します。このプロパティは、ノードの非表示フラグが設定されている場合は true
を返し、設定されていない場合は false
を返します。このプロパティによって設定されるのは、ノードの非表示フラグのみです。
<node>.isHiddenInVpt Boolean default: false
これは、上記の 4 つの条件のうちいずれかが true
(何らかの理由でビューポート内のノードが非表示になっている)であれば true
を返す読み込み専用のプロパティです。
<node>.isFrozen Boolean default: false
ビューポートでノードがフリーズされているかどうかを取得/設定します。
ビューポートでノードがフリーズされるのは次の場合です。
1. ノードのフリーズ フラグがオンになっている。
2. ノードのレイヤ フリーズ フラグがオンになっている。
ノードの isFrozen
プロパティは、条件 1 と 2 の組み合わせを反映します。条件 1 または 2 のどちらかが true
の場合、プロパティは true
を返します。プロパティを true
に設定すると、ノードのフリーズ フラグが設定されます。プロパティを false
に設定すると、ノードのフリーズ フラグとノードのレイヤのフリーズ フラグの両方がクリアされます。
条件 2 は、ノードのレイヤを取得し、theNode.INodeLayerProperties.layer.isFrozen
を使用してレイヤの isFrozen
プロパティをチェックすることで処理できます。
<node>.isNodeFrozen Boolean default: false
このプロパティは上記の条件 1 のみを反映しています。このプロパティは、ノードのフリーズ フラグが設定されている場合は true
を返し、設定されていない場合は false
を返します。このプロパティによって設定されるのは、ノードのフリーズ フラグのみです。
<node>.isSelected Boolean default: false
ノードの選択状態を取得/設定します。
<node>.xray Boolean default: false
シェーディング ビューポート内で、ノードが[シースルー](See Through)モードで表示されるかどうかを取得/設定します。
<node>.boxMode Boolean default: false
ビューポートの box mode にノードが表示されるかどうかを取得/設定します。
<node>.allEdges Boolean default: false
ビューポート内にノードのすべてのエッジが表示されるかどうかを取得または設定します。
<node>.vertexTicks Boolean default: false
ノードのすべての頂点をビューポート内でティックとして表示するかどうかを取得または設定します。
<node>.backFaceCull Boolean default: false
ビューポート内でノードの背面が非表示かどうかを取得または設定します。
<node>.showTrajectory Boolean default: false
ビューポートにノードの軌道を表示するかどうかを取得または設定します。
<node>.ignoreExtents Boolean default: false
全範囲ズームを実行するときに、ノードの範囲を無視するかどうかを取得/設定します。
node>.showFrozenInGray Booleandefault:true
ノートがフリーズした時にグレー表示されるかどうかを取得/設定します。
<node>.wireColor Color default: random color
ノードのワイヤフレームのカラーを取得または設定します。
<node>.showLinks Boolean default: false
ノードから子への階層リンクをワイヤフレームで表示するかどうかを取得/設定します。
<node>.showLinksOnly Boolean default: false
ノードの階層リンクをワイヤフレームだけで表示するかどうかを取得/設定します。このプロパティを true
に設定すると、showLinks も true
に設定されます。
<node>.showVertexColors Boolean default: false
シェーディング ビューポートで、ノードに割り当てた頂点のカラーを表示するかどうかを取得/設定します。
INode インタフェースによって公開されます。
<node>.vertexColorType Name
vertexColorType enums: {#color|#illum|#alpha|#color_plus_illum}
頂点カラーの表示タイプを取得/設定します。
INode インタフェースによって公開されます。
例
$Sphere01.vertexColorType = #illum
<node>.vertexColorsShaded Boolean default: false
ビューポートで、ノードの頂点の色をシェーディングするかどうかを取得/設定します。true
の場合、カラーはシェーディングされず、純粋な RGB 値で表示されます。false
の場合、カラーはビューポートに割り当てられた他のカラーと同じように表示されます。
<node>.isDependent Boolean default: false
従属するフラグ セットがノードにある場合は true
、ない場合は false
を返します。ノードは、3ds Max の[表示] (Views)/[従属を表示](Show Dependencies)モードのシーン内で従属しています。[修正] (Modify)パネルが開いている場合、[従属を表示](Show Dependencies)に表示される現在のモディファイヤに従属しているすべてのノード、または編集中のオブジェクトは緑でハイライトされ、ノードの従属フラグが設定されます。[修正] (Modify)パネルが閉じている場合、または[表示] (Views)/[従属を表示](Show Dependencies)がオフの場合、このプロパティは常に false
を返します。このプロパティは、読み込み専用です。
<node>.visibility Boolean default: true -- animatable
これは、ブール値のプロパティです(ただし、3ds Max トラック ビューにおける値は符号付き浮動小数点)。true
または on
は表示を意味し、false
または off
は非表示を意味します。レンダリング時のノードの可視性をコントロールするには、このプロパティをアニメートします。
例
my_node=box() animate on ( at time 0 my_node.visibility =on at time 35 my_node.visibility =off at time 57 my_node.visibility =on )
既定値では、可視トラックに割り当てられたコントローラはありません。可視トラックの .controller
プロパティにアクセスすると、エラーが発生します。キーを追加してそれらを操作できるようにするには、コントローラを割り当てる必要があります。上に示されたようにプロパティをアニメートすると、コントローラを自動的に割り当てるように 3ds Max に強制することになります。コントローラを手動で .visibility
プロパティに割り当てることもできます。
例
--assigns a controller: my_node.visibility = bezier_float() --set the current value to semi-visible: my_node.visibility.controller.value = 0.5 --animate the value to 0 on frame 100 animate on at time 100 my_node.visibility.controller.value = 0.0
このプロパティのコントローラは、ノードの 1 番目の subAnim に保存されます。このコントローラ(存在する場合)には、次のようにアクセスします。
<node>[1].controller -- the visibility controller
また、ノードの可視性コントローラを取得するには、getVisController()
を使用します。
<node>.renderable Boolean default: true
ノードがレンダリング可能かどうかを取得/設定します。
<node>.inheritVisibility Boolean default: true
ノードに親がある場合、親の可視性を継承するかどうかを取得/設定します。このプロパティは、オブジェクトを右クリックして表示される[オブジェクト プロパティ](Object Properties)ダイアログ ボックスの[可視性を継承](Inherit Visibility)プロパティに対応します。
<node>.primaryVisibility: boolean : Read|Write
ノードの[カメラに対して可視](Visible to Camera)オプションを取得/設定します。
INode インタフェースによって公開されます。
<node>.secondaryVisibility: boolean : Read|Write
ノードの[反射/屈折に対して可視](Visible to Reflection/Refraction)オプションを取得/設定します。
INode インタフェースによって公開されます。
<node>.receiveShadows Boolean default: true
レンダリングのとき、ノードが影を受けるかどうかを取得/設定します。このプロパティは、オブジェクトを右クリックして表示される[オブジェクト プロパティ](Object Properties)ダイアログ ボックスの[シャドウを他から受ける](Receive Shadows)プロパティに対応します。
<node>.castShadows Boolean default: true
レンダリングのとき、ノードが影を付けるかどうかを取得/設定します。このプロパティは、オブジェクトを右クリックして表示される[オブジェクト プロパティ](Object Properties)ダイアログ ボックスの[影付け](Cast Shadow)プロパティに対応します。
<node>.applyAtmospherics: boolean : Read|Write
ノードが環境効果による影響を受けるかどうかを取得/設定します。
INode インタフェースによって公開されます。
<node>.renderOccluded Boolean default: false
ノードの背後にある隠れたオブジェクトをレンダリングするかどうかを取得/設定します。このプロパティは、オブジェクトを右クリックして表示される[オブジェクト プロパティ](Object Properties)ダイアログ ボックスの[隠れたオブジェクトをレンダリング](Render Occluded Objects)プロパティに対応します。
<node>.gbufferChannel Integer default: 0
ノードの G バッファ オブジェクト ID チャネル値を取得または設定します。3ds Max での有効なオブジェクト ID 値の範囲は、0 から 65535 です。このプロパティは、オブジェクトを右クリックして表示される[オブジェクト プロパティ](Object Properties)ダイアログ ボックスの[G-バッファ オブジェクト チャネル](G-Buffer Object Channel)プロパティに対応します。
<node>.imageMotionBlurMultiplier Float default: 1.0 -- animatable
ノードの画像モーション ブラーのマルチプライヤ値を取得または設定します。このプロパティのコントローラは、ノードの 6 番目の subAnim に保存されます。このコントローラには、次のようにアクセスします。
<node>[6].controller-- the imageMotionBlurMultiplier controller
また、getImageBlurMultController()
および setImageBlurMultController()
メソッドを使用して、ノードの imageMotionBlurMultiplier コントローラを取得および設定することもできます。
<node>.motionBlurOn Boolean default: true
モーション ブラーがオブジェクトに対して使用可能になっているかどうかを取得/設定します。このプロパティは、オブジェクトを右クリックして表示される[オブジェクト プロパティ](Object Properties)ダイアログ ボックスの[モーション ブラー有効](Motion Blur Enabled)プロパティに対応します。
<node>.motionBlurOnController Controller default: undefined
ノードに対して使用するモーション ブラーのオン/オフ コントローラを取得/設定します。
<node>.motionBlur Name default: #none
ノードに対して使用するモーション ブラーのタイプを取得/設定します。有効なパラメータ値は、#none
、#object
、および #image
です。以前のバージョンとの互換性を維持するため、このプロパティは false
(なし)または true
(オブジェクト モーション ブラー)に設定することも可能です。このプロパティは、オブジェクトを右クリックして表示される[オブジェクト プロパティ](Object Properties)ダイアログ ボックスのモーション ブラーのタイプに対応します。
<node>.generatecaustics Boolean default: false
ノードがコースティックスを生成するかどうかを取得/設定します。コースティックスは、3ds Max スキャンライン レンダリングではサポートされていません。
<node>.rcvcaustics Boolean default: true
ノードがコースティックスを受けるかどうかを取得/設定します。コースティックスは、3ds Max スキャンライン レンダリングではサポートされていません。
<node>.generateGlobalIllum Boolean default: false
ノードがグローバル発光を生成するかどうかを取得/設定します。グローバル発光は、3ds Max スキャンライン レンダリングではサポートされていません。
<node>.rcvGlobalIllum Boolean default: true
ノードがグローバル発光を受けるかどうかを取得/設定します。グローバル発光は、3ds Max スキャンライン レンダリングではサポートされていません。