インタフェース: LayerProperties

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 : boolean : Read|Write

レイヤ上のオブジェクトがレンダリング可能かどうかを取得/設定します。

<LayerProperties>.inheritVisibility : boolean : Read|Write

レイヤ上のオブジェクトが親から可視性を継承するかどうかを取得/設定します。

<LayerProperties>.primaryVisibility : boolean : Read|Write

レイヤ上のオブジェクトがカメラに対して可視かどうかを取得/設定します。

<LayerProperties>.secondaryVisibility : boolean : Read|Write

レイヤ上のオブジェクトが反射であるかどうかを取得/設定します。

<LayerProperties>.receiveshadows : boolean : Read|Write

レイヤ上のオブジェクトがシャドウを他から受けるかどうかを取得/設定します。

<LayerProperties>.castShadows : boolean : Read|Write

レイヤ上のオブジェクトに影を付けるかどうかを取得/設定します。

<LayerProperties>.applyAtmospherics : boolean : Read|Write

レイヤ上のオブジェクトを環境効果によって隠せるかどうかを取得/設定します。

<LayerProperties>.renderOccluded : boolean : Read|Write

レイヤ上のオブジェクトが隠れているときに RPF レイヤに対してレンダリングするかどうかを取得/設定します。

<LayerProperties>.ishidden : boolean : Read|Write

レイヤ上のオブジェクトが非表示であるかどうかを取得/設定します。

<LayerProperties>.isfrozen : boolean : Read|Write

レイヤ上のオブジェクトがフリーズしているかどうかを取得/設定します。

<LayerProperties>.boxmode : boolean : Read|Write

レイヤ上のオブジェクトがボックス モードで表示されるかどうかを取得/設定します。

<LayerProperties>.backfacecull : boolean : Read|Write

レイヤ上のオブジェクトが背面非表示で表示されるかどうかを取得/設定します。

<LayerProperties>.alledges : boolean : Read|Write

レイヤ上のオブジェクトがすべてのエッジを表示した状態で表示されるかどうかを取得/設定します。

<LayerProperties>.vertexTicks : boolean : Read|Write

レイヤ上のオブジェクトの頂点を数字で表示するかどうかを取得/設定します。

<LayerProperties>.showTrajectory : boolean : Read|Write

レイヤ上のオブジェクトが軌道を表示するかどうかを取得/設定します。

<LayerProperties>.xray : boolean : Read|Write

レイヤ上のオブジェクトがシースルーで表示されるかどうかを取得/設定します。

<LayerProperties>.ignoreExtents : boolean : Read|Write

レイヤ上のオブジェクトの拡張を無視するかどうかを取得/設定します。

<LayerProperties>.showFrozenInGray : boolean : Read|Write

レイヤ上のオブジェクトがフリーズ時にグレー表示されるかどうかを取得/設定します。

<LayerProperties>.showVertexColors : boolean : Read|Write

レイヤ上のオブジェクトが頂点カラーと共に表示されるかどうかを取得/設定します。

<LayerProperties>.vertexColorsShaded : boolean : Read|Write

レイヤ上のオブジェクトがシェーディングされた頂点カラーと共に表示されるかどうかを取得/設定します。

<LayerProperties>.visibility : float : Read|Write

レイヤ上のオブジェクトが表示されるかどうかを取得/設定します。

<LayerProperties>.imageMotionBlurMultiplier : float : Read|Write

レイヤ上のオブジェクトのイメージ モーション ブラー マルチプライヤを取得/設定します。

<LayerProperties>.motionBlurOn : boolean : 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

指定されたノードをレイヤに追加します。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 以降で使用可能です。

<boolean>canDelete()

レイヤを削除できる場合は True を返します。

何か別の理由でオブジェクトを含んでいるためにレイヤを削除できない場合は False を返します。

3ds Max 2016 以降で使用可能です。

<integer>getNumNodes()

レイヤ内のノードの数を返します。

3ds Max 2016 以降で使用可能です。

<boolean>hasSceneXRefNodesInHierarchy()

レイヤの階層内にシーン外部参照ノードが含まれている場合は、True を返します。

それ以外の場合は False を返します。

3ds Max 2016 以降で使用可能です。