インタフェース: NitrousGraphicsManager
このコア インタフェースは、MAXScript に Nitrous Graphics Manager を公開します。
3ds Max 2012 以降で使用可能です。
Interface: NitrousGraphicsManager
プロパティ:
NitrousGraphicsManager.GesturaEnabled : bool : Read|Write
NitrousGraphicsManager.MakePreviewQuality : integer : Read|Write
3ds Max の[プレビューを作成](Make Preview)機能を使用してプレビュー アニメーションを生成するときに実行される、プログレッシブ リファイン パスの数を取得/設定します。
既定値は 16 です。
MAXScript を介した[プレビューを作成](Make Previewa)機能の制御の詳細については、「createPreview メソッド」のトピックも参照してください。
3ds Max 2013 以降で使用可能です。
NitrousGraphicsManager.MultiThreadedShaderCompileMode : bool : Read|Write
シェーダのコンパイルで複数のスレッド(True)または 1 つのスレッド(False)を使用するかどうかを取得/設定します。
既定は true です。
3ds Max 2013 以降で使用可能です。
NitrousGraphicsManager.ChangeCursorOnMouseMove : bool : Read|Write
マウスの移動時にカーソルの表示を変えるかどうかを取得/設定します。
True (既定値)に設定すると、マウス カーソルは、オブジェクトの上にあるときには現在のモードを表すアイコンに変わり、その下にオブジェクトがないときには矢印に戻ります。
False に設定すると、マウス カーソルは矢印表示を続け、オブジェクトの上になっても変化しません。ツールチップは表示され続け、マウスの左クリックでヒットテストが実行されます。
3ds Max 2013 以降で使用可能です。
NitrousGraphicsManager.BackfaceCullWireframeEnabled : bool : Read|Write
既定値は True です。
3ds Max 2014 以降で使用可能です。
NitrousGraphicsManager.ShadowmapSizeLimit : integer : Read|Write
シャドウ マップのサイズ制限を取得/設定します。既定値は 512 です。
3ds Max 2014 以降で使用可能です。
NitrousGraphicsManager.NormalBumpMode : integer : Read|Write
[カスタマイズ](Customize)メニュー > [基本設定](Preferences)ダイアログ > [一般](General)タブのラジオ ボタンによって制御された[法線バンプ
モード](Normal Bump Mode)を取得/設定します。
有効な値は次のとおりです。
0 - 3ds Max(既定値)
1 - [Maya]
2 - [DirectX]
3ds Max 2014 以降で使用可能です。
NitrousGraphicsManager.BackgroundProgressiveRenderingEnabled : bool : Read|Write
3ds Max がフォーカスされていない場合に、Nitrous がプログレッシブ リファインを実行するかどうかを取得/設定します。
False(既定値)に設定すると、3ds Max がバックグラウンドで実行しているときに、Nitrous はプログレッシブ リファインを実行しません。
True に設定すると、3ds Max がバックグラウンドで実行しているときも、プログレッシブ リファインが実行されます。
そのため、パフォーマンスの問題が発生する可能性があります。弊社では責任を負いかねます。注意して使用してください。
3ds Max 2014 以降で使用可能です。
NitrousGraphicsManager.HardwareHitTestEnabled : bool : Read|Write
ビューポートのハードウェア ヒット テストの状態を取得/設定します。
既定は True です。
3ds Max 2015 以降で使用可能です。
NitrousGraphicsManager.AntialiasingQuality : enum : Read|Write
AntialiasingQuality enums: {#None|#2X|#4X|#8X}
Nitrous ビューポートのアンチエイリアス品質を取得/設定します。
既定は #none です。
3ds Max 2015 以降で使用可能です。
メソッド:
一般的な Nitrous へのアクセス
<IObject>NitrousGraphicsManager.GetActiveViewportSetting()
インタフェースを公開してアクティブ ビューポートの設定にアクセスする <IObject:ViewportViewSettingImpl> オブジェクトを返します。
詳細については、このページの以降の部分を参照してください。
<IObject>NitrousGraphicsManager.GetViewportSetting <integer>index
指定されたインデックス付きビューポートの設定を公開する <IObject:ViewportViewSettingImpl> オブジェクトを返します。
パラメータは前のバージョンでは 0 ベースでしたが 3ds Max 2014 以降では 1 ベースです。
詳細については、このページの以降の部分を参照してください。
<IObject>NitrousGraphicsManager.GetWorldSetting()
ワールド最適化設定を公開する <IObject:WorldSettingImpl> オブジェクトを返します。
詳細については、このページの以降の部分を参照してください。
3ds Max 2014 以降で使用可能です。
<bool>NitrousGraphicsManager.IsEnabled()
Nitrous グラフィック システムが有効になっている場合は True、そうでない場合は False を返します。
<bool>NitrousGraphicsManager.ProgressiveRendering()
プログレッシブ レンダリングをトリガします。
成功した場合は True を、失敗した場合は False を返します。
3ds Max 2013 以降で使用可能です。
<bool>NitrousGraphicsManager.IsProgressiveRenderingFinished()
現在のフレームのプログレッシブ リファインメントが終了した場合には True を、そうでない場合は False を返します。
3ds Max 2013 以降で使用可能です。
テクスチャ サイズ設定
<bool>NitrousGraphicsManager.SetTextureSizeLimit <integer>sizeLimit <bool>enabled
Nitrous グラフィック システムのテクスチャ サイズの制限を設定します。
1 番目の引数では、テクスチャ サイズ制限をピクセル単位で指定します。
2 番目の引数では、テクスチャ サイズ制限の有効にされた状態をコントロールします。True として渡されると制限が有効になり、False として渡されると制限が無効になります。
成功した場合は True を、失敗した場合は False を返します。
注:ロードするシーンに大量のテクスチャ データが含まれていると、Nitrous はメモリのページングを開始し、処理速度が非常に遅くなることがあります。Texture Size
Limit の値を 256 に設定し、リミットを有効にすると、メモリのページングが消去され、ビューポートの性能を回復することができます。
<bool>NitrousGraphicsManager.SetBackgroundTextureSizeLimit <integer>sizeLimit <bool>enabled
Nitrous グラフィック システムの背景テクスチャ サイズの制限を設定します。
1 番目の引数では、テクスチャ サイズ制限をピクセル単位で指定します。
2 番目の引数では、テクスチャ サイズ制限の有効にされた状態をコントロールします。True として渡されると制限が有効になり、False として渡されると制限が無効になります。
成功した場合は True を、失敗した場合は False を返します。
<void>NitrousGraphicsManager.SetProceduralTextureSizeLimit <integer>sizeLimit
手続き型テクスチャの最大サイズを指定された制限値に設定します。
手続き型テクスチャをビューポートに表示できるようにするには、2D ビットマップとしてレンダーする必要があります。このメソッドでは、多数の手続き型テクスチャを含むシーンで作業する場合のグラフィック
カードのメモリ不足を回避するために、これらのビットマップのサイズを制限することができます。
3ds Max 2015 以降で使用可能です。
<void>NitrousGraphicsManager.ForceDisableMipMapGeneration <bool>bDisable
引数が True として渡された場合、このメソッドはビューポート テクスチャの MipMap 生成を無効にします。False として渡された場合は、MipMap
生成を有効にします。
MipMap 生成では、同じテクスチャが複数の解像度で作成され、アーティファクトを回避するために、ビューポートのピクセル距離に最も近い解像度のテクセルが検索されます。
ただし、複数の解像度の MipMap は、同じテクスチャの高解像度バージョン 1 つより、33% 多くのメモリを必要とします。
そのため、MipMap の生成をオフにすると、テクスチャの表示品質を犠牲にして、非常に大容量のグラフィックス カード メモリを節約することができます。
3ds Max 2015 以降で使用可能です。
アプリケーション ウィンドウのサイズと位置
<bool>NitrousGraphicsManager.SetAppWindowSize <integer>width <integer>height
3ds Max アプリケーションのウィンドウ サイズを、指定された幅および高さの引数の値に設定します。
この設定は、最大化されている場合でも、3ds Max ウィンドウに影響します。
成功した場合は True を、失敗した場合は False を返します。
3ds Max 2013 以降で使用可能です。
<bool>NitrousGraphicsManager.SetAppWindowPos <integer>x <integer>y
3ds Max アプリケーション ウィンドウの左上隅の位置を、デスクトップ領域内の指定された X および Y 座標に設定します。
この設定は、最大化されている場合でも、3ds Max ウィンドウに影響します。
成功した場合は True を、失敗した場合は False を返します。
3ds Max 2013 以降で使用可能です。
テストとプロファイリング
以下の方法は、内部テストとプロファイリングでのみ使用します。
<bool>NitrousGraphicsManager.BeginPerformanceProfiling()
パフォーマンス プロファイリング データの収集を開始します。内部でのみ使用されます。
<bool>NitrousGraphicsManager.EndPerformanceProfiling()
パフォーマンス プロファイリング データの収集を終了します。内部でのみ使用されます。
<Integer64>NitrousGraphicsManager.GetSystemMemoryUsed()
Nitrous システムのバイト単位でのメモリ使用量を Integer64 値として返します。
3ds Max 2013 以降で使用可能です。
<bool>NitrousGraphicsManager.DumpMemoryInfo()
現在の Nitrous グラフィック システムのメモリ使用量を、3ds Max インストールのルートにある既定のファイルに書き込みます。内部でのみ使用されます。
<bool>NitrousGraphicsManager.DumpMemoryInfoToFile <string>maxFileName <string>logFileName
現在の Nitrous グラフィック システムのメモリ使用量を、2 番目の引数で指定されたログ ファイルに書き込みます。最初の引数は、3ds Max シーンの名前です。内部でのみ使用されます。
<bool>NitrousGraphicsManager.CreateDummyObjects <string>className <integer>numberOfObjects
最初の引数として指定されたクラス名と 2 番目の引数として指定された数を使用して、メモリ内にいくつかのダミー オブジェクトを作成します。内部でのみ使用されます。
<bool>NitrousGraphicsManager.RunMessageLoop()
Nitrous システム メッセージ ループを実行します。内部使用限定。
成功した場合は True を、失敗した場合は False を返します。
3ds Max 2013 以降で使用可能です。
<void>NitrousGraphicsManager.BeginPartialUpdateCompareTest()
部分更新比較テストを開始します。内部でのみ使用されます。
3ds Max 2013 以降で使用可能です。
<void>NitrousGraphicsManager.EndPartialUpdateCompareTest()
部分更新比較テストを終了します。内部でのみ使用されます。
3ds Max 2013 以降で使用可能です。
<bool>NitrousGraphicsManager.GetPartialUpdateCompareTestResult()
部分更新比較テストに合格した場合には True を、不合格だった場合には False を返します。内部でのみ使用されます。
3ds Max 2013 以降で使用可能です。
<bool>NitrousGraphicsManager.ApplyViewportViewSettingToLegacyView <integer>index
内部でのみ使用されます。
3ds Max 2013 以降で使用可能です。
ビュー グラフの保存とロード
<bool>NitrousGraphicsManager.SaveViewGraph <index>viewIndex <string>viewGraphName
インデックス付きビューのビュー グラフを指定された名前で保存します。
3ds Max 2015 以降で使用可能です。
<bool>NitrousGraphicsManager.LoadViewGraph <index>viewIndex <string>viewGraphName
2 番目の引数で指定された名前のビュー グラフを、1 番目の引数で指定されたインデックス付きビューポートにロードします。
3ds Max 2015 以降で使用可能です。
<bool>NitrousGraphicsManager.UnloadViewGraph <index>viewIndex
インデックス付きビューポートからビュー グラフをロード解除します。
3ds Max 2015 以降で使用可能です。
<IObject>NitrousGraphicsManager.GetFixedViewportPipeline <index>index
インデックス付きビューポートの FixedViewportPipeline IObject (以下を参照)を返します。
3ds Max 2016 以降で使用可能です。
IObject:FixedViewportPipeline
Interface: FixedViewportPipeline
固定ビューポートパイプラインにシェーディング フラグメントを追加するためのメソッドを公開します。
3ds Max 2016 以降で使用可能です。
メソッド:
<bool>SetShadingFragment <DWORD>classIDA <DWORD>classIDB
指定した ClassID を持つシェーディング フラグメントを設定します。
成功した場合は True を、失敗した場合は False を返します。
<void>RestoreDefaultShadingFragment()
シェーディング フラグメントを既定に戻します。
<bool>SetBackgroundFragment <DWORD>classIDA <DWORD>classIDB
指定した ClassID を持つバックグラウンド フラグメントを設定します。
成功した場合は True を、失敗した場合は False を返します。
<void>RestoreDefaultBackgroundFragment()
バックグラウンド フラグメントを既定に戻します。
<string>InsertOverlayFragment <index>index <DWORD>classIDA <DWORD>classIDB
指定した ClassID を持つオーバーレイ フラグメントをインデックスで指定された位置に挿入します。
オーバーレイ フラグメントの名前を返します。
<bool>DeleteOverlayFragmentByIndex <index>index
インデックス付きオーバーレイ フラグメントを削除します。
成功した場合は True を、失敗した場合は False を返します。
<bool>DeleteOverlayFragmentByName <string>name
指定したオーバーレイ フラグメントを削除します。
成功した場合は True を、失敗した場合は False を返します。
<integer>GetNumOverlayFragments()
オーバーレイ フラグメントの数を返します。
<string>GetOverlayFragmentName <index>index
インデックス付きオーバーレイ フラグメントの名前を返します。
<string>InsertPostShadingFragment <index>index <DWORD>classIDA <DWORD>classIDB
指定した ClassID を持つポストシェーディング フラグメントをインデックスで指定された位置に挿入します。
ポストシェーディング フラグメントの名前を返します。
<bool>DeletePostShadingFragmentByIndex <index>index
インデックス付きのポストシェーディング フラグメントを削除します。
成功した場合は True を、失敗した場合は False を返します。
<bool>DeletePostShadingFragmentByName <string>name
指定したポストシェーディング フラグメントを削除します。
成功した場合は True を、失敗した場合は False を返します。
<integer>GetNumPostShadingFragments()
ポストシェーディング フラグメントの数を返します。
<string>GetPostShadingFragmentName <index>index
インデックス付きのポストシェーディング フラグメントの名前を返します。
ワールド設定 IObject: インタフェース
Interface: WorldSettingImpl
このインタフェースは、 NitrousGraphicsManager.GetWorldSetting() メソッドによって返される IObject によって公開されます。
3ds Max 2014 以降で使用可能です。
プロパティ:
<WorldSettingImpl>.ConsolidationEnabled : bool : Read|Write
[統合](Consolidation)オプションの状態を取得/設定します。
既定値は True です。
3ds Max 2014 以降で使用可能です。
<WorldSettingImpl>.InstanceEnabled : bool : Read|Write
[インスタンス化](Instancing)オプションの状態を取得/設定します。
既定値は True です。
3ds Max 2014 以降で使用可能です。
<WorldSettingImpl>.StaticEnabled : bool : Read|Write
既定値は True です。
3ds Max 2014 以降で使用可能です。
<WorldSettingImpl>.MaxConsolidatableNodePrimitive : integer : Read|Write
統合可能なノード プリミティブの最大数を取得/設定します。
既定値は 20000 です。
3ds Max 2014 以降で使用可能です。
<WorldSettingImpl>.MaxConsolidationCellPrimitive : integer : Read|Write
統合セル プリミティブの最大数を取得/設定します。
既定値は 200000 です。
3ds Max 2014 以降で使用可能です。
<WorldSettingImpl>.MinConsolidationCellPrimitive : integer : Read|Write
統合セル プリミティブの最小数を取得/設定します。
既定値は 50000 です。
3ds Max 2014 以降で使用可能です。
<WorldSettingImpl>.MaxInstancableNodePrimitive : integer : Read|Write
インスタンス化可能なノード プリミティブの最大数を取得/設定します。
既定値は 10000 です。
3ds Max 2014 以降で使用可能です。
ビューポート設定の IObject インタフェース:
Interface: ViewportViewSettingImpl
このインタフェースは、メソッド NitrousGraphicsManager.GetActiveViewportSetting() および NitrousGraphicsManager.GetViewportSetting() によって戻される IObject によって公開されます。
このインタフェースは、[ビューポート設定](Viewport Configuration)ダイアログの[ビジュアル スタイルと外観](Visual Style & Appearance)タブに表示されるような状態でビューポート設定を公開します。
また、非フォトリアリスティック レンダリング スタイルと 3ds Max 2013 で導入されたビューポートの被写界深度のぼけ効果のパラメータにスクリプトを使用してアクセスできます。
プロパティ:
コントロールのビジュアル スタイル グループ
<ViewportViewSettingImpl>.VisualStyleMode : enum : Read|Write
VisualStyleMode enums: { #Realistic | #Shaded | #ConsistentColors | #HiddenLine | #Wireframe | #BoundingBox | #Clay | #Ink | #ColorInk | #Acrylic | #Tech | #Graphite | #ColorPencil | #Pastel }
リアリスティック、シェーディング、およびフォトリアリスティックではないモードを含むビューポートのビジュアル スタイルを取得/設定します。このプロパティは、enum
名または整数値として設定できます。取得するときには、enum 名が返されます。
有効な値は次のとおりです。
<ViewportViewSettingImpl>.ShowEdgedFacesEnabled : bool : Read|Write
[エッジ面](Edged Faces)ビューポート オプションの状態を取得/設定します。
False(既定値)に設定すると、エッジ面は表示されません。
True に設定すると、ジオメトリ面のワイヤフレーム表現がシェーディング面の上に重ねられます。
<ViewportViewSettingImpl>.UseTextureEnabled : bool : Read|Write
[テクスチャ](Textures)ビューポート オプションの状態を取得/設定します。
True (既定値)に設定すると、ビューポートにテクスチャ マップが表示されます(ビューポートでのテクスチャ マップの表示が有効になっている場合)。
False に設定すると、[ビューポートにマップを表示](Show Map In Viewport)の設定に関係なく、テクスチャ マップは表示されません。
<ViewportViewSettingImpl>.TransparencyEnabled : bool : Read|Write
[透明度](Transparency)ビューポート オプションの状態を取得/設定します。
True (既定値)に設定すると、ビューポートに透明度が表示されます。
False に設定すると、透明度は無視され、すべてのオブジェクトがソリッド シェーディングで表示されます。
<ViewportViewSettingImpl>.UseEnvironmentBackgroundColorEnabled : bool : Read|Write
[環境バックグラウンド カラーを使用](Use Environment Background Color)ビューポート オプションの状態を取得/設定します。
False(既定値)に設定すると、[ユーザ インタフェースをカスタマイズ](Customize User Interface) > [カラー](Color)タブ ダイアログの該当する値からビューポート
バックグラウンド カラーが取得されます。
True に設定すると、[環境と効果](Environment and Effects)ダイアログ > [環境](Environment)タブ > [共通パラメータ](Common
Parameters)ロールアウト > コントロールの[バックグラウンド](Background)グループで見つかった環境バックグラウンド カラーからビューポート
バックグラウンド カラーが取得されます。
コントロールの選択グループ
<ViewportViewSettingImpl>.ShowSelectionBracketsEnabled : bool : Read|Write
[選択ブラケット](Selection Brackets)オプションの状態を取得/設定します。
True (既定値)に設定すると、選択されたオブジェクトが選択状態であることを示すシェーディング モードで選択ブラケットに表示されます。
False に設定すると、選択されたオブジェクトは選択ブラケットに表示されません。 .SelectedEdgeFacesEnabled モードを有効にすると、選択状態であることを視覚的に示すことができます。
<ViewportViewSettingImpl>.SelectedEdgedFacesEnabled : bool : Read|Write
[選択をエッジ面で表示](Display Selected With Edged Faces)オプションの状態を取得/設定します。
True に設定すると、選択されたオブジェクトがエッジ面で表示されます(シーンがシェーディング モードに設定されている場合)。
False(既定値)に設定すると、すべてのオブジェクトが現在のスタイルで表示されます。
<ViewportViewSettingImpl>.ShadeSelectedFacesEnabled : bool : Read|Write
[選択された面をシェーディング](Shade Selected Faces)オプションの状態を取得/設定します。
True (既定値)に設定すると、サブオブジェクト レベルの選択された面がソリッド カラーで表示されます。
False に設定すると、選択された面がカラー付きエッジでハイライトされます。
<ViewportViewSettingImpl>.ShadeSelectedObjectsEnabled : bool : Read|Write
[選択したオブジェクトをシェード](Shade Selected Objects)オプションの状態を取得/設定します。
True に設定すると、シーンがワイヤフレーム モードに設定されている場合でも、選択されたオブジェクトはシェーディング モードで表示されます。
False(既定値)に設定すると、すべてのオブジェクトが現在のスタイルで表示されます。
一般的なオプション
<ViewportViewSettingImpl>.DisableViewport : bool : Read|Write
[使用不能にする](Disable)オプションの状態を取得/設定します。
False(既定値)に設定すると、ビューポートが使用可能になり、必要に応じて再描画されます。
True に設定すると、ビューポートが使用不能になり、手動で強制した場合にのみ再描画されます。
<ViewportViewSettingImpl>.ViewportClippingEnabled : bool : Read|Write
[ビューポート クリッピング](Viewport Clipping)オプションの状態を取得/設定します。
コントロールの照明およびシャドウ グループ
<ViewportViewSettingImpl>.LightOption : enum : Read|Write
LightOption enums: { #DefaultLight | #SceneLight }
[照明](Lighting) > [...で照明](Illuminate With...)ラジオ ボタンの状態を取得/設定します。
有効な値は次のとおりです。
#DefaultLight - .DefaultLightMode プロパティに従って、1 つまたは 2 つの既定ライトを使用して照明します。
#SceneLight - シーン ライトを使用して照明します。ただし、シーン ライトが存在しない場合は除きます。その場合、照明は既定ライトに戻ります。
<ViewportViewSettingImpl>.DefaultLightMode : enum : Read|Write
DefaultLightMode enums: { #OneLight | #TwoLights }
[既定値のライト](Default Lights)ラジオ ボタンの状態を取得/設定します。
有効な値は次のとおりです。
#OneLight - カメラの後ろにある 1 つの「ヘッドライト」を使用してシーンを照明します。
#TwoLights - 2 つの固定ライトを使用してシーンを照明します。
<ViewportViewSettingImpl>.DefaultLightsFollowCamera : bool : Read|Write
[既定ライトは視野角に従う](Default Lights Follow View Angle)チェックボックスの状態を取得/設定します。
3ds Max 2013 以降で使用可能です。
<ViewportViewSettingImpl>.ShowHighlightEnabled : bool : Read|Write
[ハイライト](Highlights)オプションの状態を取得/設定します。
True (既定値)に設定すると、ビューポートで鏡面反射ハイライトが計算されます。
False に設定すると、ハイライトは計算されません。
<ViewportViewSettingImpl>.AutoDisplaySelectedLightEnabled : bool : Read|Write
[選択したライトを自動表示](Auto Display Selected Light)オプションの状態を取得/設定します。
<ViewportViewSettingImpl>.ShadowMode : enum : Read|Write
ShadowMode enums: { #HardShadow | #SoftShadow | #LightSettingShadow }
3ds Max 2013 から削除されました。
3ds Max 2012 のシャドウ スタイル(ハード シャドウ、ソフト シャドウ、またはライト ソース自体で定義されているシャドウ タイプ)を取得/設定します。
<ViewportViewSettingImpl>.LightingAndShadowQualityMode : enum : Read|Write
LightingAndShadowQualityMode enums: { #HardShadows | #SoftEdgedShadows | #0.125X | #0.25X | #0.5X | #1X | #2X | #4X | #8X | #16X }
ライトとシャドウの品質を取得/設定します。
[ライトとシャドウの品質](Lighting and Shadows Quality)スライダに対応します。
既定値は #1X です。
有効な値は次のとおりです。
数値
|
Enum 名
|
UI 説明
|
0
|
#HardShadows
|
ポイント ライト/ハード シャドウ
|
1
|
#SoftEdgedShadows
|
ポイント ライト/ソフト シャドウ
|
2
|
#0.125X
|
0.125x - 最低
|
3
|
#0.25X
|
0.25x - 低
|
4
|
#0.5X
|
0.5x - 中
|
5
|
#1X
|
1.0x - 既定値
|
6
|
#2X
|
2.0x - 高品質
|
7
|
#4X
|
4.0x - 高品質
|
8
|
#8X
|
8.0x - 高品質
|
9
|
#16X
|
16.0x - 最高品質
|
<ViewportViewSettingImpl>.UseSimplifiedSkyLight : bool : Read|Write
[スカイライトを周囲光カラーに設定](Skylights as Ambient Color)チェックボックスの状態を取得/設定します。
3ds Max 2013 以降で使用可能です。
<ViewportViewSettingImpl>.ShadowsEnabled : bool : Read|Write
[シャドウ](Shadows)オプションの状態を取得/設定します。
False(既定値)に設定すると、ビューポートにシャドウが表示されません。
True に設定すると、以下で説明する品質設定を使用して、ビューポートで影付けが有効になっているライトにビューポート シャドウも表示されます。
<ViewportViewSettingImpl>.ShadowIntensity : float : Read|Write
[シャドウ](Shadows) > [強度/フェード](Intensity/Fade)オプションの値を取得/設定します。
<ViewportViewSettingImpl>.AmbientOcclusionEnabled : bool : Read|Write
[アンビエント オクルージョン](Ambient Occlusion)オプションの状態を取得/設定します。
False(既定値)に設定すると、アンビエント オクルージョンは計算されません。
True に設定すると、以下で説明する設定を使用して、スクリーンスペースのアンビエント オクルージョン効果が計算されます。
<ViewportViewSettingImpl>.AmbientOcclusionRadius : float : Read|Write
[アンビエント オクルージョン](Ambient Occlusion) > [半径](Radius)値を取得/設定します。
<ViewportViewSettingImpl>.AmbientOcclusionIntensity : float : Read|Write
[アンビエント オクルージョン](Ambient Occlusion) > [強度/フェード](Intensity/Fade)値を取得/設定します。
<ViewportViewSettingImpl>.ReflectionEnabled : bool : Read|Write
[環境からの反射](Reflection From Environment)チェック ボックスの状態を取得/設定します。
3ds Max 2013 以降で使用可能です。
<ViewportViewSettingImpl>.DynamicReflectionEnabled : bool : Read|Write
ダイナミック反射オプション(現在 UI には公開されていない)の状態を取得/設定します。
True に設定すると、反射マップ スロット内にレイトレースまたは反射/屈折マップを含むマテリアルは、[現実的マテリアルをビューポートに表示](Show Realistic Material In Viewport)モードに切り替えられた場合に、周囲のシーン オブジェクトのダイナミック反射を計算します。
False(既定値)に設定すると、ダイナミック反射は計算されません。
3ds Max 2012 以降で使用可能です。
反射のプロパティ
|
結果
|
注:
|
.ReflectionEnabled=off
|
|
.ReflectionEnabled をオフにすると、 .DynamicReflectionEnabled の状態は無視されます。
|
.ReflectionEnabled=on
.DynamicReflectionEnabled=off
|
|
.ReflectionEnabled をオンにすると、マテリアルに反射マップがあり、[現実的マテリアルをビューポートに表示](Show Realistic Material In Viewport)がオンの場合、環境反射マップが表示されます。
|
.ReflectionEnabled=on
.DynamicReflectionEnabled=on
|
|
両方のプロパティをオンにすると、環境反射マップとシーン オブジェクトの両方が反射されます。
反射の反射は計算されません。
反射は、曲面上でのみ正しく見えます。
|
UI に公開されないその他のプロパティ
<ViewportViewSettingImpl>.ProgressiveFadingFactor : integer : Read|Write
プログレッシブ フェード係数の値を取得/設定します。
この値により、ビューポートのプログレッシブ リファインをコントロールします。
値 0 は直ちに集光することを、4 ~ 16 の値は高速リファインを、それより高い値は指数関数的にプロセスの速度を落とすことを意味します。
既定値は 32 です。
3ds Max 2013 以降で使用可能です。
<ViewportViewSettingImpl>.UseViewportBackgroundEnabled : bool : Read|Write
効果なし。
3ds Max 2013 以降で使用可能です。
<ViewportViewSettingImpl>.UseSolidColor : bool : Read|Write
効果なし。
3ds Max 2013 以降で使用可能です。
被写界深度とボケ効果
<ViewportViewSettingImpl>.DOFEnabled : bool : Read|Write
有効な[被写界深度](Depth of Field)オプションの状態を取得/設定します。既定は true です。
DOF ビューポート効果では、f-ストップ値を指定するため、ビューを「被写界深度(mental ray)」マルチパス効果が有効なカメラに設定する必要があります。
3ds Max 2013 以降で使用可能です。
<ViewportViewSettingImpl>.BokehShape : filename : Read|Write
ぼけ効果コントロール イメージのビットマップ ファイル名を取得/設定します。
このビットマップのアルファ チャネルによってぼけ効果のシェイプをコントロールし、一方 RGB によって効果のカラーをコントロールします。
空の文字列 "" (既定値)に設定すると、DOF 効果により円盤形の「錯乱円」が生成されます。
3ds Max 2013 以降で使用可能です。
メソッド:
NPR 設定
NPR パラメータへのアクセス
<void><ViewportViewSettingImpl>.ShowNPRParameters()
パラメータ名、タイプ、値、範囲などの NPR モードに関する情報をリスナーに出力します。OK を返します。
<string by value><ViewportViewSettingImpl>.GetNPRParameterInfo()
パラメータ名、タイプ、値、範囲などの NPR モードに関する情報を含む文字列値を返します。 ShowNPRParameters() に似ていますが、情報をリスナーに出力するのではなく、文字列値として返します。
<integer><ViewportViewSettingImpl>.GetNPRParameterCount()
現在の NPR モードのパラメータの数を返します。
<string by value><ViewportViewSettingImpl>.GetNPRParameterName <integer>index
インデックスで指定されたパラメータの名前を返します。インデックスの基数はゼロです。インデックスが範囲外の場合は、「パラメータなし」が値として返されます。
<enum><ViewportViewSettingImpl>.GetNPRParameterType <integer>index
GetNPRParameterType enums: { #Unknown | #Bool | #Int | #Float | #Float4 | #String }
インデックスで指定されたパラメータのタイプを返します。インデックスの基数はゼロです。インデックスが範囲外の場合は、#Unknown が値として返されます。
ブール パラメータへのアクセス
<bool><ViewportViewSettingImpl>.GetNPRBool <string>name
現在の NPR モードの指定されたブール パラメータの値を返します。
<void><ViewportViewSettingImpl>.SetNPRBool <string>name <boolean>value
現在の NPR モードの指定されたブール パラメータの値を、2 番目の引数として渡されたブール値に設定します。
整数パラメータへのアクセス
<integer><ViewportViewSettingImpl>.GetNPRInt <string>name
現在の NPR モードの指定された整数パラメータの値を返します。
<integer><ViewportViewSettingImpl>.GetNPRMinInt <string>name
現在の NPR モードの指定された整数パラメータの最小値を返します。
<integer><ViewportViewSettingImpl>.GetNPRMaxInt <string>name
現在の NPR モードの指定された整数パラメータの最大値を返します。
<void><ViewportViewSettingImpl>.SetNPRInt <string>name <integer>value
現在の NPR モードの指定された整数パラメータの値を、2 番目の引数として渡された整数値に設定します。
実数パラメータへのアクセス
<float><ViewportViewSettingImpl>.GetNPRFloat <string>name
現在の NPR モードの指定された実数パラメータの値を返します。
<float><ViewportViewSettingImpl>.GetNPRMinFloat <string>name
現在の NPR モードの指定された実数パラメータの最小値を返します。
<float><ViewportViewSettingImpl>.GetNPRMaxFloat <string>name
現在の NPR モードの指定された実数パラメータの最大値を返します。
<void><ViewportViewSettingImpl>.SetNPRFloat <string>name <float>value
現在の NPR モードの指定された実数パラメータの値を、2 番目の引数として渡された実数値に設定します。
Float4 パラメータへのアクセス
<point4><ViewportViewSettingImpl>.GetNPRFloat4 <string>name
現在の NPR モードの指定された float4 パラメータの値を返します。
<point4><ViewportViewSettingImpl>.GetNPRMinFloat4 <string>name
現在の NPR モードの指定された float4 パラメータの最小値を返します。
<point4><ViewportViewSettingImpl>.GetNPRMaxFloat4 <string>name
現在の NPR モードの指定された float4 パラメータの最大値を返します。
<void><ViewportViewSettingImpl>.SetNPRFloat4 <string>name <point4>value
現在の NPR モードの指定された float4 パラメータの値を、2 番目の引数として渡された Point4 値に設定します。
文字列パラメータへのアクセス
<string by value><ViewportViewSettingImpl>.GetNPRString <string>name
現在の NPR モードの指定された文字列パラメータの値を返します。
<void><ViewportViewSettingImpl>.SetNPRString <string>name <string>value
現在の NPR モードの指定された文字列パラメータの値を、2 番目の引数として渡された文字列値に設定します。
例:
|
disp = NitrousGraphicsManager.GetActiveViewportSetting()
for visStyle = 0 to 13 do
(
disp.VisualStyleMode = visStyle
format "\n--Visual Style: %--\n\n" (disp.VisualStyleMode as string)
format "%\n" (disp.GetNPRParameterInfo())
local paramCount = disp.GetNPRParameterCount()
for p = 0 to paramCount-1 do
(
theName = (disp.GetNPRParameterName p)
theType = (disp.GetNPRParameterType p)
theValue = case theType of
(
#bool: disp.GetNPRBool theName
#int: disp.GetNPRInt theName
#float: disp.GetNPRFloat theName
#float4: disp.GetNPRFloat4 theName
#string: disp.GetNPRString theName
)
theRange = case theType of
(
#int: ("[" +disp.GetNPRMinInt theName as string + ", " + disp.GetNPRMaxInt theName as string + "]")
#float: ("[" +disp.GetNPRMinFloat theName as string + ", " + disp.GetNPRMaxFloat theName as string + "]")
#float4: ("[" +disp.GetNPRMinFloat4 theName as string + ", " + disp.GetNPRMaxFloat4 theName as string + "]")
default: ""
)
format "%: Name:\"%\" Type: % Value: % %\n" p theName (theType as string) theValue theRange
)
)
|
次のスクリプト ダイアログでは、現在のビューポート スタイル モードのすべてのパラメータ(存在する場合)をダイナミック ロールアウトで公開し、インタラクティブに微調整できるようにします。このダイアログでは、Quicksilver
レンダラーの NPR 設定もサポートされ、ビューポートとレンダラーを同時に設定できます。そのため、アクティブなビューポートの Quicksilver 設定を即座にプレビューできます。
スクリプト:
|
macroScript NPRExplorer category:"MXS Help"
(
global Nitrous_NPR_Rollout, Nitrous_NPR_SubRollout
global Nitrous_NPR_Settings = NitrousGraphicsManager.GetActiveViewportSetting()
try(destroyDialog Nitrous_NPR_Rollout)catch()
local theINIfile = (getDir #plugcfg + "\\Nitrous_NPR_Settings.ini")
rcmenu Nitrous_NPR_Menu
(
subMenu "File"
(
menuItem mnu_savePreset "SAVE Current Mode To Preset File..."
menuItem mnu_loadPreset "LOAD Current Mode From Preset File..."
)
on mnu_savePreset picked do Nitrous_NPR_Rollout.savePreset()
on mnu_loadPreset picked do Nitrous_NPR_Rollout.loadPreset()
)
rollout Nitrous_NPR_Rollout "Nitrous NPR Settings"
(
radiobuttons rad_SystemToAffect labels:#("Views","Quicksilver","Both")
dropdownlist ddl_NPRMode items:#("Realistic", "Shaded", "ConsistentColors", "Wireframe", "BoundingBox", "Ink", "ColorInk", "Acrylic", "Tech", "Graphite", "ColorPencil", "Pastel", "Clay") height:15
subRollout sub_rollout width:200 height:320
fn createSubRollout source:1 =
(
try(removeSubRollout sub_rollout Nitrous_NPR_SubRollout)catch()
Nitrous_NPR_Settings = case source of
(
default: NitrousGraphicsManager.GetActiveViewportSetting()
2: renderers.current
)
currentMode = case source of
(
default: Nitrous_NPR_Settings.VisualStyleMode
2: Nitrous_NPR_Settings.VisualStyle
)
local theString = "rollout Nitrous_NPR_SubRollout \"Nitrous:"+currentMode as string +" Mode\" width:200 (\n"
local paramCount = Nitrous_NPR_Settings.GetNPRParameterCount()
if paramCount == 0 do theString += "label lbl_1 \"The Current Shading Mode\"\n label lbl_2 \"Exposes No Parameters!\"\n"
for p = 0 to paramCount-1 do
(
theName = Nitrous_NPR_Settings.GetNPRParameterName p
case (Nitrous_NPR_Settings.GetNPRParameterType p) of
(
#int: (
theRange= (Nitrous_NPR_Settings.GetNPRMinInt theName) as string + ", " + (Nitrous_NPR_Settings.GetNPRMaxInt theName) as string +", "+ (Nitrous_NPR_Settings.GetNPRInt theName) as string
theString += "spinner spn_"+p as string + " \""+ theName + "\" type:#integer range:["+theRange+"] fieldwidth:50\n"
theString += "on spn_"+p as string + " changed val do (::Nitrous_NPR_Settings.SetNPRInt \""+theName as string+"\" val; ::Nitrous_NPR_Rollout.updateRenderer())\n"
)
#float: (
theRange = (Nitrous_NPR_Settings.GetNPRMinFloat theName) as string + ", " + (Nitrous_NPR_Settings.GetNPRMaxFloat theName) as string +", "+ (Nitrous_NPR_Settings.GetNPRFloat theName) as string
theString += "spinner spn_"+p as string + " \""+ theName + "\" type:#float range:["+theRange+"] fieldwidth:50\n"
theString += "on spn_"+p as string + " changed val do (::Nitrous_NPR_Settings.SetNPRFloat \""+theName as string+"\" val; ::Nitrous_NPR_Rollout.updateRenderer()) \n"
)
#float4: (
theString += "colorpicker clr_"+p as string + " \""+ theName + "\" alpha:true align:#right color:["+(Nitrous_NPR_Settings.GetNPRFloat4 theName) as string+"] fieldwidth:50\n"
theString += "on clr_"+p as string + " changed val do (::Nitrous_NPR_Settings.SetNPRFloat4 \""+theName as string+"\" (val as Point4); ::Nitrous_NPR_Rollout.updateRenderer())\n"
)
#bool: (
theString += "checkbox chk_"+p as string + " \""+ theName + "\" checked:"+(Nitrous_NPR_Settings.GetNPRBool theName) as string +"\n"
theString += "on chk_"+p as string + " changed val do (::Nitrous_NPR_Settings.SetNPRBool \""+theName as string+"\" val; ::Nitrous_NPR_Rollout.updateRenderer())\n"
)
#string: (
theString += "edittext edt_"+p as string + " \""+ theName + "\" text:\""+(Nitrous_NPR_Settings.GetNPRString theName) +"\" \n"
theString += "on edt_"+p as string + " entered val do (::Nitrous_NPR_Settings.SetNPRString \""+theName as string+"\" val; ::Nitrous_NPR_Rollout.updateRenderer())\n"
)
)--end case
)--end p loop
theString += ")"
execute theString
addSubRollout sub_rollout Nitrous_NPR_SubRollout
)--end fn
fn updateRenderer =
(
if rad_SystemToAffect.state == 3 do
(
renderers.current.VisualStyle = Nitrous_NPR_Settings.VisualStyleMode
local paramCount = Nitrous_NPR_Settings.GetNPRParameterCount()
for p = 0 to paramCount-1 do
(
local theName = Nitrous_NPR_Settings.GetNPRParameterName p
case (Nitrous_NPR_Settings.GetNPRParameterType p) of
(
#int: (renderers.current.SetNPRInt theName (Nitrous_NPR_Settings.GetNPRInt theName))
#float: (renderers.current.SetNPRFloat theName (Nitrous_NPR_Settings.GetNPRFloat theName))
#float4: (renderers.current.SetNPRFloat4 theName (Nitrous_NPR_Settings.GetNPRFloat4 theName))
#bool: (renderers.current.SetNPRBool theName (Nitrous_NPR_Settings.GetNPRBool theName))
#string: (renderers.current.SetNPRString theName (Nitrous_NPR_Settings.GetNPRString theName))
)--end case
)--end p loop
)
)
fn savePreset =
(
local theStyle = Nitrous_NPR_Settings.VisualStyleMode
local paramCount = Nitrous_NPR_Settings.GetNPRParameterCount()
if paramCount > 0 then
(
local theFile = getSaveFileName caption:("Save "+ theStyle as string +" Settings As...") types:"Nitrous NPR Presets (*.NPR)|*.NPR"
if theFile != undefined do
(
for p = 0 to paramCount-1 do
(
local theName = Nitrous_NPR_Settings.GetNPRParameterName p
local theFN = case (Nitrous_NPR_Settings.GetNPRParameterType p) of
(
#int: Nitrous_NPR_Settings.GetNPRInt
#float: Nitrous_NPR_Settings.GetNPRFloat
#float4: Nitrous_NPR_Settings.GetNPRFloat4
#bool: Nitrous_NPR_Settings.GetNPRBool
#string: Nitrous_NPR_Settings.GetNPRString
)
setIniSetting theFile (theStyle as string) (theName as string) ((theFN theName) as string)
)--end p loop
)
)--end if
)
fn loadPreset =
(
local theStyle = Nitrous_NPR_Settings.VisualStyleMode
local paramCount = Nitrous_NPR_Settings.GetNPRParameterCount()
if paramCount > 0 then
(
local theFile = getOpenFileName caption:("Load "+ theStyle as string +" Settings From...") types:"Nitrous NPR Presets (*.NPR)|*.NPR"
if theFile != undefined do
(
for p = 0 to paramCount-1 do
(
local theName = Nitrous_NPR_Settings.GetNPRParameterName p
local theType = Nitrous_NPR_Settings.GetNPRParameterType p
local theFN = case theType of
(
#int: Nitrous_NPR_Settings.SetNPRInt
#float: Nitrous_NPR_Settings.SetNPRFloat
#float4: Nitrous_NPR_Settings.SetNPRFloat4
#bool: Nitrous_NPR_Settings.SetNPRBool
#string: Nitrous_NPR_Settings.SetNPRString
)
local theVal = getIniSetting theFile (theStyle as string) (theName as string)
if theVal != "" do
(
if theType != #string do theVal = execute theVal
theFN theName theVal
)
)--end p loop
createSubRollout source:rad_SystemToAffect.state
updateRenderer()
)--end if
)--end if
)
fn updateList =
(
local theMode = case rad_SystemToAffect.state of
(
default: Nitrous_NPR_Settings.VisualStyleMode
2: Nitrous_NPR_Settings.VisualStyle
)
ddl_NPRMode.selection = findItem (for i in ddl_NPRMode.items collect i as name) theMode
)
on rad_SystemToAffect changed state do
(
local result = true
local theClass = classof renderers.current
if state > 1 and theClass != Quicksilver_Hardware_Renderer do
(
result = querybox ("The current renderer is ["+theClass as string+"].\nClicking YES will replace it with Quicksilver.\n\nAre you sure you want to continue?") title:"Assign Quicksilver"
if result then
renderers.current = Quicksilver_Hardware_Renderer()
)
if result then
(
createSubRollout source:state
if state == 3 do updateRenderer()
updateList()
)
else
rad_SystemToAffect.state = 1
)
on ddl_NPRMode selected itm do
(
case rad_SystemToAffect.state of
(
default: Nitrous_NPR_Settings.VisualStyleMode = ddl_NPRMode.selected as name
2: Nitrous_NPR_Settings.VisualStyle = ddl_NPRMode.selected as name
)
if rad_SystemToAffect.state == 3 do updateRenderer()
createSubRollout source:rad_SystemToAffect.state
)
on Nitrous_NPR_Rollout open do
(
createSubRollout()
updateList()
)
on Nitrous_NPR_Rollout moved pos do
(
setIniSetting theINIfile "Dialog" "Position" (pos as string)
)
)
local thePos = execute (getIniSetting theINIfile "Dialog" "Position")
if thePos == OK do thePos = [100,100]
createDialog Nitrous_NPR_Rollout 220 380 thePos.x thePos.y menu:Nitrous_NPR_Menu
)
|