LayerProperties
は、特定のレイヤ プロパティへのアクセスを提供する MixinInterface です。
このインタフェースは、LayerManager コア インタフェースおよび INodeLayerProperties ノード インタフェースの一部のメソッドによって返されます。
Interface: LayerProperties
プロパティ:
<LayerProperties>.on : boolean : Read|Write
レイヤの[有効]状態を取得/設定します。
<LayerProperties>.lock : boolean : Read|Write
レイヤの[ロック]状態を取得/設定します。
<LayerProperties>.current : boolean : Read|Write
[現在]のレイヤかどうかを取得/設定します。
<LayerProperties>.wireColor : color by value : Read|Write
レイヤの[ワイヤフレーム カラー]を取得/設定します。
<LayerProperties>.isGIExcluded : boolean : Read|Write
レイヤの[ラジオシティ処理からの除外]状態を取得/設定します。
<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() --球を作成し、変数に格納します
--> $Sphere:Sphere01 @ [0.000000,0.000000,0.000000]
sphere() --もう 1 つ別の球を作成します
--> $Sphere:Sphere02 @ [0.000000,0.000000,0.000000]
layer = layermanager.getlayer 0 --既定値のレイヤ 0 を取得します
--> <MixinInterface:LayerProperties>
layerRT = layer.layerAsRefTarg --レイヤを RefTarget として取得します
--> ReferenceTarget:BaseLayer
refs.dependents layerRT --従属を確認します
--> #($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>select <boolean>OnOff
ブール値 true が渡された場合は、シーン内のレイヤ上のすべてのオブジェクトを選択します。渡された引数が false である場合は、レイヤ上のすべてのオブジェクトを選択解除します。
<boolean>setname <string>name
レイヤの名前を指定された文字列に設定します。正常に終了した場合、
true
を返します。
注:
レイヤ名は一意でなくてはならないため、レイヤ名を設定する場合には必ずメソッドを使用します。メソッドは、次の例のように、指定された名前を評価してからレイヤに割り当てます。
例
|
--はじめに 3ds Max をリセットして空のシーンから開始し、実行します
layer1= layermanager.getlayer 0 --既定値のレイヤ 0 を取得します
--> <MixinInterface:LayerProperties>
layer1.setName "The One" --名前の変更を試みます
--> false --変更できません。既定値のレイヤの名前は常に「0」です
layer2= layermanager.getlayer 1 --レイヤ 1 の取得を試みます
--> undefined --そのようなレイヤはまだ存在しません
layer2= layermanager.newLayerFromName "Test" --作成します
--> <MixinInterface:LayerProperties>
layer2.setName "Second Layer" --名前を変更できるようになりました
--> true
layer3= layermanager.newLayerFromName "Third" -- もう 1 つ作成します
--> <MixinInterface:LayerProperties>
layer3.setName "Second Layer" --2 つ目のレイヤと同じ名前にしてみます
--> false
layer3.setName "ThirdLayer" --変更するためには一意の名前でなくてはなりません
--> true
|
<boolean>nodes <&node array>layerNodes
layerNodes is Out parameter
成功した場合は
true
を返します。また、参照 Out パラメータ内で、レイヤ上のすべてのノードの配列を返します。
例
|
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])
|