インタフェース: INodeShadingProperties

INodeShadingProperties ノード インタフェースは、MAXScript にノード関連のビューポート シェーディング プロパティを公開しています。

すべてのノードでプロパティを設定できますが、これらのプロパティを実質的に使用できるのは、基本オブジェクトが Light スーパークラスのノードだけです。

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

Interface: INodeShadingProperties

プロパティ:

INodeShadingProperties.ViewportIllumination : boolean : Read|Write   

true (既定値)に設定すると、基本オブジェクトがライトであれば、そのノードのビューポート照明が有効になり、ビューポート シェーディング モードが最高(SM3.0)に設定されます。高度なシェーディング モードを有効にする方法については、「インタフェース: IViewportShadingMgr」を参照してください。最良モードは、SM3.0 シェーダ モデルをサポートするグラフィックス ハードウェアに依存します。

SM2.0 のみサポートしているハードウェアでは、良モードにより旧式の頂点ライティングのみが実行され、ピクセルごとのライティングはサポートされません。

例:

    IViewportShadingMgr.ShadingLimits= #Best --enable shadows
    $Spot01.on = true --make sure the light is on
    $Spot01.ViewportIllumination = true --display illumination

false に設定すると、ノードのビューポート照明がオフになります。

``$Spot01.ViewportIllumination = false --display illumination

INodeShadingProperties.ViewportShadowCasting : boolean : Read|Write

true に設定すると、基本オブジェクトがライトであれば、そのノードのビューポートでの影付けが有効になり、そのライトの基本オブジェクトの影付けが <light>.baseobject.castShadows = true を使用してオンになります。(.castShadows もノード プロパティであり、ライトの影付けに影響を与えるには、baseobject での明示的なアクセスが必要となります。)

ビューポートにシャドウを表示するには、ビューポートのシェーディングが良(SM2.0)または最高(SM3.0)に設定されている必要があります。高度なシェーディング モードを有効にする方法については、インタフェース: IViewportShadingMgrを参照してください。

例:

    IViewportShadingMgr.ShadingLimits = #Best --enable shadows
    $Spot01.baseobject.castshadows = true --enable shadows in Spot01
    $Spot01.ViewportShadowCasting = true --display shadows ofSpot01

false に設定すると、そのノードのビューポートでの影付けがオフになります。

3ds Max 2010 以降、このプロパティの既定値は true になりました。このため、基本オブジェクトのシャドウがオンになっているすべてのライトで、ビューポートでの影付けが自動的に有効になります。3ds Max 2008 および 2009 では、このプロパティは既定値で false に設定されていました。

例:

    $Spot01.ViewportShadowCasting = false

INodeShadingProperties.LockedViewportIllumination : boolean : Read|Write

true に設定すると、ノードのビューポート照明がロックされます。

false (既定値)に設定すると、そのノードのビューポート照明のロックが解除されます。

インタフェース: IViewportShadingMgr .AutoDisplaySelLights プロパティが true に設定されている場合、選択されていないライトはシーンを照明しません。

.LockedViewportIllumination プロパティを true に設定すれば、ライト ノードをロックして、選択解除された後もシーンを照明した状態のままにすることができます。

複数のライトのロックとロック解除を簡単に行う方法については、「インタフェース: IViewportShadingMgr」を参照してください。3ds Max クアッドメニューに、選択されたライトに対してこれらのメソッドを呼び出すメニュー項目が表示されます。