LayerProperties は、特定のレイヤ プロパティへのアクセスを提供する MixinInterface です。
このインタフェースは、LayerManager コア インタフェースおよび INodeLayerProperties ノード インタフェースの一部のメソッドによって返されます。
Interface: LayerProperties
プロパティ:
<LayerProperties>.on : boolean : Read|Write
レイヤの[有効](Enabled)状態を取得/設定します。
<LayerProperties>.lock : boolean : Read|Write
レイヤの[ロック](Locked)状態を取得/設定します。
<LayerProperties>.current : boolean : Read|Write
[現在](Current)のレイヤかどうかを取得/設定します。
true にのみ設定可能です。
<LayerProperties>.wireColor : color by value : Read|Write
レイヤの[ワイヤフレーム カラー](Wireframe Color)を取得/設定します。
<LayerProperties>.isGIExcluded : boolean : Read|Write
レイヤの[ラジオシティ処理からの除外](Exclude from Radiosity state)状態を取得/設定します。
<LayerProperties>.name : string : Read
レイヤの名前を取得します。レイヤの名前を設定する場合は、このページでこの後説明する <LayerProperties>. setName() メソッドを使用します。MAXScript は新しい名前を確認する必要がある(レイヤ名は一意でなくてはなりません)ので、必ずこのメソッドを使用してください。
<LayerProperties>.renderable : bool : Read|Write
レイヤ上のオブジェクトがレンダリング可能かどうかを取得/設定します。
<LayerProperties>.inheritVisibility : bool : Read|Write
レイヤ上のオブジェクトが親から可視性を継承するかどうかを取得/設定します。
<LayerProperties>.primaryVisibility : bool : Read|Write
レイヤ上のオブジェクトがカメラに対して可視かどうかを取得/設定します。
<LayerProperties>.secondaryVisibility : bool : Read|Write
レイヤ上のオブジェクトが反射であるかどうかを取得/設定します。
<LayerProperties>.receiveshadows : bool : Read|Write
レイヤ上のオブジェクトがシャドウを他から受けるかどうかを取得/設定します。
<LayerProperties>.castShadows : bool : Read|Write
レイヤ上のオブジェクトに影を付けるかどうかを取得/設定します。
<LayerProperties>.applyAtmospherics : bool : Read|Write
レイヤ上のオブジェクトを環境効果によって隠せるかどうかを取得/設定します。
<LayerProperties>.renderOccluded : bool : Read|Write
レイヤ上のオブジェクトが隠れているときに RPF レイヤに対してレンダリングするかどうかを取得/設定します。
<LayerProperties>.ishidden : bool : Read|Write
レイヤ上のオブジェクトが非表示であるかどうかを取得/設定します。
<LayerProperties>.isfrozen : bool : Read|Write
レイヤ上のオブジェクトがフリーズしているかどうかを取得/設定します。
<LayerProperties>.boxmode : bool : Read|Write
レイヤ上のオブジェクトがボックス モードで表示されるかどうかを取得/設定します。
<LayerProperties>.backfacecull : bool : Read|Write
レイヤ上のオブジェクトが背面非表示で表示されるかどうかを取得/設定します。
<LayerProperties>.alledges : bool : Read|Write
レイヤ上のオブジェクトがすべてのエッジを表示した状態で表示されるかどうかを取得/設定します。
<LayerProperties>.vertexTicks : bool : Read|Write
レイヤ上のオブジェクトの頂点を数字で表示するかどうかを取得/設定します。
<LayerProperties>.showTrajectory : bool : Read|Write
レイヤ上のオブジェクトが軌道を表示するかどうかを取得/設定します。
<LayerProperties>.xray : bool : Read|Write
レイヤ上のオブジェクトがシースルーで表示されるかどうかを取得/設定します。
<LayerProperties>.ignoreExtents : bool : Read|Write
レイヤ上のオブジェクトの拡張を無視するかどうかを取得/設定します。
<LayerProperties>.showFrozenInGray : bool : Read|Write
レイヤ上のオブジェクトがフリーズ時にグレー表示されるかどうかを取得/設定します。
<LayerProperties>.showVertexColors : bool : Read|Write
レイヤ上のオブジェクトが頂点カラーと共に表示されるかどうかを取得/設定します。
<LayerProperties>.vertexColorsShaded : bool : Read|Write
レイヤ上のオブジェクトがシェーディングされた頂点カラーと共に表示されるかどうかを取得/設定します。
<LayerProperties>.visibility : float : Read|Write
レイヤ上のオブジェクトが表示されるかどうかを取得/設定します。
<LayerProperties>.imageMotionBlurMultiplier : float : Read|Write
レイヤ上のオブジェクトのイメージ モーション ブラー マルチプライヤを取得/設定します。
<LayerProperties>.motionBlurOn : bool : Read|Write
レイヤ上のオブジェクトをモーション ブラーによってレンダリングするかどうかを取得/設定します。
<LayerProperties>.motionblur : enum : Read|Write motionblur enums: {#none | #object | #image}
レイヤのオブジェクトをレンダリングするときに使用するモーション ブラーを取得/設定します。
<LayerProperties>.display : enum : Read|Write display enums: {#viewport | #boundingbox | #wireframe | #shaded}
レイヤ上のすべてのオブジェクトの表示モードを取得/設定します。
<LayerProperties>.INodeGIProperties : Interface : Read
INodeGIProperties プロパティは、レイヤの GI プロパティにアクセスできるようにする INodeGIProperties FPS インタフェースを返します。「インタフェース: INodeGIProperties」を参照してください。
<LayerProperties>.layerAsRefTarg : RefTarget : Read
レイヤを参照ターゲットとして返します。
レイヤ システムは予想とまったく逆の動きをします。レイヤがノードを参照するのではなく、ノードがレイヤを参照します。
例 |
s=sphere() --Create a sphere, store in variable --> $Sphere:Sphere01 @ [0.000000,0.000000,0.000000] s2=sphere() --Create another one --> $Sphere:Sphere02 @ [0.000000,0.000000,0.000000] layer = layermanager.getlayer 0 --get default Layer 0 --> <MixinInterface:LayerProperties> layerRT = layer.layerAsRefTarg --get layer as RefTarget --> ReferenceTarget:BaseLayer refs.dependents layerRT --see the dependents --> #($Sphere:Sphere02 @ [0.0,0.0,0.0], $Sphere:Sphere01 @[0.0,0.0,0.0], ReferenceTarget:Animatable, ReferenceTarget:Animatable, ReferenceTarget:LayerManager, ReferenceTarget:Scene) refs.dependson s --> #(Controller:Position_Rotation_Scale, Sphere, ReferenceTarget:BaseLayer) |
メソッド:
<void>addnode <node>node
指定されたノードをレイヤに追加します。このページの下部にある例を参照してください。
<void>addnodes <&node array>nodes nodes is In parameter
3ds Max 2019.2 Update の新機能: 指定したノードをレイヤに追加します。
例 |
---|
-- add all the nodes as an array: LayerManager.newLayer() myLayer = LayerManager.getLayer 1 myBox = Box() myLight = Free_Light() mySpline = Egg() myCamera = freeCamera() myLayer.addnodes #(myBox, myLight, mySpline, myCamera) |
<void>select <boolean>OnOff
ブール値 true が渡された場合は、シーン内のレイヤ上のすべてのオブジェクトを選択します。渡された引数が false である場合は、レイヤ上のすべてのオブジェクトを選択解除します。
<boolean>setname <string>name
レイヤの名前を指定された文字列に設定します。正常に終了した場合、 true を返します。
レイヤ名は一意でなくてはならないため、レイヤ名を設定する場合には必ずメソッドを使用します。メソッドは、次の例のように、指定された名前を評価してからレイヤに割り当てます。
例 |
--First reset 3ds Max to start in an empty scene, then execute: layer1= layermanager.getlayer 0 --get default Layer 0 --> <MixinInterface:LayerProperties> layer1.setName "The One" --try to change the name --> false --you cannot, the default layer is always called "0" layer2= layermanager.getlayer 1 --try to get Layer 1 --> undefined --there is no such layer yet. layer2= layermanager.newLayerFromName "Test" --let's create it --> <MixinInterface:LayerProperties> layer2.setName "Second Layer" --now we can rename it --> true layer3= layermanager.newLayerFromName "Third" -- create another --> <MixinInterface:LayerProperties> layer3.setName "Second Layer" --try to give the same name as 2nd --> false layer3.setName "ThirdLayer" --it needs a unique name to work --> true |
<boolean>nodes <&node array>layerNodes layerNodes is Out parameter
成功した場合は True を返します。また、参照出力パラメータ内で、レイヤ上のすべてのノードの配列を返します。
例 |
layer = layermanager.newLayerFromName "Spheres" --> <MixinInterface:LayerProperties> for i =1 to 10 do (s = sphere(); layer.addNode s) --> OK layer.nodes &theNodes --> true theNodes --> #($Sphere:Sphere10 @ [0.000000,0.000000,0.000000], $Sphere:Sphere09 @ [0.000000,0.000000,0.000000], $Sphere:Sphere08 @ [0.000000,0.000000,0.000000], $Sphere:Sphere07 @ [0.000000,0.000000,0.000000], $Sphere:Sphere06 @ [0.000000,0.000000,0.000000], $Sphere:Sphere05 @ [0.000000,0.000000,0.000000], $Sphere:Sphere04 @ [0.000000,0.000000,0.000000], $Sphere:Sphere03 @ [0.000000,0.000000,0.000000], $Sphere:Sphere02 @ [0.000000,0.000000,0.000000], $Sphere:Sphere01 @ [0.000000,0.000000,0.000000]) |
<Interface>getParent()
レイヤの親レイヤの LayerProperties MixinInterface、またはレイヤに親がない場合は undefined を返します。
3ds Max 2015 以降で使用可能です。
<boolean>setParent <Interface>parent
指定された LayerProperties MixinInterface によって表されるレイヤにレイヤの親を設定します。
3ds Max 2015 以降で使用可能です。
<Interface>getChild <index>index
インデックスで指定された子レイヤの LayerProperties MixinInterface、またはインデックスで指定された子レイヤがない場合は undefined を返します。
3ds Max 2015 以降で使用可能です。
<integer>getNumChildren()
子レイヤの数を返します。
3ds Max 2015 以降で使用可能です。
<bool>canDelete()
レイヤを削除できる場合は True を返します。
何か別の理由でオブジェクトを含んでいるためにレイヤを削除できない場合は False を返します。
3ds Max 2016 以降で使用可能です。
<integer>getNumNodes()
レイヤ内のノードの数を返します。
3ds Max 2016 以降で使用可能です。
<bool>hasSceneXRefNodesInHierarchy()
レイヤの階層内にシーン外部参照ノードが含まれている場合は、True を返します。
それ以外の場合は False を返します。
3ds Max 2016 以降で使用可能です。