インタフェース > コア インタフェース > NitrousGraphicsManager |
このコア インタフェースは、MAXScript に Nitrous Graphics Manager を公開します。
Interface: NitrousGraphicsManager
プロパティ:
NitrousGraphicsManager.MakePreviewQuality : integer : Read|Write
3ds Max の[プレビューを作成](Make Preview)機能を使用してプレビュー アニメーションを生成するときに実行される、プログレッシブ リファイン パスの数を取得/設定します。
既定値は 16 です。
MAXScript を介した[プレビューを作成](Make Previewa)機能の制御の詳細については、「createPreview メソッド」のトピックも参照してください。
NitrousGraphicsManager.MultiThreadedShaderCompileMode : bool : Read|Write
シェーダのコンパイルで複数のスレッド(True)または 1 つのスレッド(False)を使用するかどうかを取得/設定します。
既定は true です。
NitrousGraphicsManager.ChangeCursorOnMouseMove : bool : Read|Write
マウスの移動時にカーソルの表示を変えるかどうかを取得/設定します。
True (既定値)に設定すると、マウス カーソルは、オブジェクトの上にあるときには現在のモードを表すアイコンに変わり、その下にオブジェクトがないときには矢印に戻ります。
False に設定すると、マウス カーソルは矢印表示を続け、オブジェクトの上になっても変化しません。ツールチップは表示され続け、マウスの左クリックでヒットテストが実行されます。
NitrousGraphicsManager.BackfaceCullWireframeEnabled : bool : Read|Write
既定値は True です。
NitrousGraphicsManager.ShadowmapSizeLimit : integer : Read|Write
シャドウ マップのサイズ制限を取得/設定します。既定値は 512 です。
NitrousGraphicsManager.NormalBumpMode : integer : Read|Write
[カスタマイズ](Customize)メニュー > [基本設定](Preferences)ダイアログ > [一般](General)タブのラジオ ボタンによって制御された[法線バンプ モード](Normal Bump Mode)を取得/設定します。
有効な値は次のとおりです。
0 - 3ds Max(既定値)
1 - [Maya]
2 - [DirectX]
NitrousGraphicsManager.BackgroundProgressiveRenderingEnabled : bool : Read|Write
3ds Max がフォーカスされていない場合に、Nitrous がプログレッシブ リファインを実行するかどうかを取得/設定します。
False(既定値)に設定すると、3ds Max がバックグラウンドで実行しているときに、Nitrous はプログレッシブ リファインを実行しません。
True に設定すると、3ds Max がバックグラウンドで実行しているときも、プログレッシブ リファインが実行されます。
そのため、パフォーマンスの問題が発生する可能性があります。弊社では責任を負いかねます。注意して使用してください。
NitrousGraphicsManager.OverrideShadingMtl : material : Read|Write
ビューポート表示が [ユーザ定義](User Defined) > [マテリアル](Materials) > [UV チェッカーでオーバーライド](Override with UV Checker)に設定されている場合に使用されるマテリアルを取得または設定します。
NitrousGraphicsManager.OverrideRenderSettingMtl : material : Read|Write
ビューポート表示が [ユーザ定義](User Defined) > [マテリアル](Materials) > [レンダリング設定でオーバーライド](Override with Rendering Setting)に設定されている場合に使用されるマテリアルを取得または設定します。
NitrousGraphicsManager.HardwareHitTestEnabled : bool : Read|Write
ビューポートのハードウェア ヒット テストの状態を取得/設定します。
既定は true です。
NitrousGraphicsManager.GesturaEnabled : bool : Read|Write
NitrousGraphicsManager.AntialiasingQuality : enum : Read|Write AntialiasingQuality enums: {#None|#2X|#4X|#8X}
Nitrous ビューポートのアンチエイリアス品質を取得/設定します。
既定は #none です。
NitrousGraphicsManager.DarkerEdgeOption : enum : Read|Write DarkerEdgeOption enums: {#Off|#SubLevelOnly|#Always}
ワイヤフレーム モードで後ろ向きのメッシュ エッジを前向きのエッジよりも暗く描画するオプションを取得または設定します。このオプションに対応する UI コントロールはありません。
メソッド:
<IObject>NitrousGraphicsManager.GetActiveViewportSetting()
インタフェースを公開してアクティブ ビューポートの設定にアクセスする <IObject:ViewportViewSettingImpl> オブジェクトを返します。
詳細については、このページの以降の部分を参照してください。
<IObject>NitrousGraphicsManager.GetViewportSetting <integer>index
指定されたインデックス付きビューポートの設定を公開する <IObject:ViewportViewSettingImpl> オブジェクトを返します。
パラメータは旧バージョンでは 0 ベースでしたが 3ds Max 2014 以降では 1 ベースです。
詳細については、このページの以降の部分を参照してください。
<IObject>NitrousGraphicsManager.GetSelectionSetting()
一般的なビューポート選択の設定を公開する <IObject:SelectionEffectImpl> オブジェクトを返します。
詳細については、このページの以降の部分を参照してください。
<IObject>NitrousGraphicsManager.GetWorldSetting()
ワールド最適化設定を公開する <IObject:WorldSettingImpl> オブジェクトを返します。
詳細については、このページの以降の部分を参照してください。
<bool>NitrousGraphicsManager.IsEnabled()
Nitrous グラフィック システムが有効になっている場合は True、そうでない場合は False を返します。
<bool>NitrousGraphicsManager.ProgressiveRendering()
プログレッシブ レンダリングをトリガします。
成功した場合は true を、失敗した場合は false を返します。
<bool>NitrousGraphicsManager.IsProgressiveRenderingFinished()
現在のフレームのプログレッシブ リファインメントが終了した場合には True を、そうでない場合は False を返します。
<bool>NitrousGraphicsManager.API()
ビューポートで使用されるドライバ タイプを返します。値は次のとおりです。
<bool>NitrousGraphicsManager.SetTextureSizeLimit <integer>sizeLimit <bool>enabled
Nitrous グラフィック システムのテクスチャ サイズの制限を設定します。
1 番目の引数では、テクスチャ サイズ制限をピクセル単位で指定します。
2 番目の引数では、テクスチャ サイズ制限の有効にされた状態をコントロールします。True として渡されると制限が有効になり、False として渡されると制限が無効になります。
成功した場合は True を、失敗した場合は False を返します。
<bool>NitrousGraphicsManager.SetBackgroundTextureSizeLimit <integer>sizeLimit <bool>enabled
Nitrous グラフィック システムの背景テクスチャ サイズの制限を設定します。
1 番目の引数では、テクスチャ サイズ制限をピクセル単位で指定します。
2 番目の引数では、テクスチャ サイズ制限の有効にされた状態をコントロールします。True として渡されると制限が有効になり、False として渡されると制限が無効になります。
成功した場合は True を、失敗した場合は False を返します。
<void>NitrousGraphicsManager.SetProceduralTextureSizeLimit <integer>sizeLimit
手続き型テクスチャの最大サイズを指定された制限値に設定します。
手続き型テクスチャをビューポートに表示できるようにするには、2D ビットマップとしてレンダーする必要があります。このメソッドでは、多数の手続き型テクスチャを含むシーンで作業する場合のグラフィック カードのメモリ不足を回避するために、これらのビットマップのサイズを制限することができます。
<void>NitrousGraphicsManager.ForceDisableMipMapGeneration <bool>bDisable
引数が True として渡された場合、このメソッドはビューポート テクスチャの MipMap 生成を無効にします。False として渡された場合は、MipMap 生成を有効にします。
MipMap 生成では、同じテクスチャが複数の解像度で作成され、アーティファクトを回避するために、ビューポートのピクセル距離に最も近い解像度のテクセルが検索されます。
ただし、複数の解像度の MipMap は、同じテクスチャの高解像度バージョン 1 つより、33% 多くのメモリを必要とします。
そのため、MipMap の生成をオフにすると、テクスチャの表示品質を犠牲にして、非常に大容量のグラフィックス カード メモリを節約することができます。
<bool>NitrousGraphicsManager.SetAppWindowSize <integer>width <integer>height
3ds Max アプリケーションのウィンドウ サイズを、指定された幅および高さの引数の値に設定します。
この設定は、最大化されている場合でも、3ds Max ウィンドウに影響します。
成功した場合は true を、失敗した場合は false を返します。
<bool>NitrousGraphicsManager.SetAppWindowPos <integer>x <integer>y
3ds Max アプリケーション ウィンドウの左上隅の位置を、デスクトップ領域内の指定された X および Y 座標に設定します。
この設定は、最大化されている場合でも、3ds Max ウィンドウに影響します。
成功した場合は true を、失敗した場合は false を返します。
<bool>NitrousGraphicsManager.PinViewPanelSize <integer>width <integer>height <bool>NitrousGraphicsManager.UnpinViewPanelSize()
これらのメソッドは内部専用です。
以下の方法は、内部テストとプロファイリングでのみ使用します。
<bool>NitrousGraphicsManager.BeginPerformanceProfiling()
パフォーマンス プロファイリング データの収集を開始します。内部でのみ使用されます。
<bool>NitrousGraphicsManager.EndPerformanceProfiling()
パフォーマンス プロファイリング データの収集を終了します。内部でのみ使用されます。
<Integer64>NitrousGraphicsManager.GetSystemMemoryUsed()
Nitrous システムのバイト単位でのメモリ使用量を Integer64 値として返します。
<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 を返します。
<void>NitrousGraphicsManager.BeginPartialUpdateCompareTest()
部分更新比較テストを開始します。内部でのみ使用されます。
<void>NitrousGraphicsManager.EndPartialUpdateCompareTest()
部分更新比較テストを終了します。内部でのみ使用されます。
<bool>NitrousGraphicsManager.GetPartialUpdateCompareTestResult()
部分更新比較テストに合格した場合には True を、不合格だった場合には False を返します。内部でのみ使用されます。
<bool>NitrousGraphicsManager.ApplyViewportViewSettingToLegacyView <integer>index
内部でのみ使用されます。
<bool>NitrousGraphicsManager.ShowShaderDebugger() <bool>NitrousGraphicsManager.HideShaderDebugger()
Nitrous シェーダのデバッガ ウィンドウを開くか、または閉じます。
<bool>NitrousGraphicsManager.SaveViewGraph <index>viewIndex <string>viewGraphName
インデックス付きビューのビュー グラフを指定された名前で保存します。
<bool>NitrousGraphicsManager.LoadViewGraph <index>viewIndex <string>viewGraphName
2 番目の引数で指定された名前のビュー グラフを、1 番目の引数で指定されたインデックス付きビューポートにロードします。
<bool>NitrousGraphicsManagerUnloadViewGraph <index>viewIndex
インデックス付きビューポートからビュー グラフをロード解除します。
<bool>NitrousGraphicsManager.SetViewShadeFragment <index>viewIndex <DWORD>classIDPartA <DWORD>classIDPartB <bool>NitrousGraphicsManager.ResetViewShadeFragment <index>viewIndex
これらのメソッドは内部専用です。
<IObject>NitrousGraphicsManager.GetFixedViewportPipeline <index>index
インデックス付きビューポートの FixedViewportPipeline IObject (以下を参照)を返します。
Interface: FixedViewportPipeline
固定ビューポートパイプラインにシェーディング フラグメントを追加するためのメソッドを公開します。
メソッド:
<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
インデックス付きのポストシェーディング フラグメントの名前を返します。
Interface: WorldSettingImpl
このインタフェースは、 NitrousGraphicsManager.GetWorldSetting() メソッドによって返される IObject によって公開されます。
プロパティ:
<WorldSettingImpl>.ConsolidationEnabled : bool : Read|Write
[統合](Consolidation)オプションの状態を取得/設定します。
既定は true です。
<WorldSettingImpl>.InstanceEnabled : bool : Read|Write
[インスタンス化](Instancing)オプションの状態を取得/設定します。
既定値は True です。
<WorldSettingImpl>.StaticEnabled : bool : Read|Write
既定値は True です。
<WorldSettingImpl>.MaxConsolidatableNodePrimitive : integer : Read|Write
統合可能なノード プリミティブの最大数を取得/設定します。
既定値は 20000 です。
<WorldSettingImpl>.MaxConsolidationCellPrimitive : integer : Read|Write
統合セル プリミティブの最大数を取得/設定します。
既定値は 200000 です。
<WorldSettingImpl>.MinConsolidationCellPrimitive : integer : Read|Write
統合セル プリミティブの最小数を取得/設定します。
既定値は 50000 です。
<WorldSettingImpl>.MaxInstancableNodePrimitive : integer : Read|Write
インスタンス化可能なノード プリミティブの最大数を取得/設定します。
既定値は 10000 です。
Interface: SelectionEffectImpl
このインタフェースは、NitrousGraphicsManager.GetSelectionSetting() メソッドによって返される IObject によって公開されます。
このインタフェースは、[カスタマイズ](Customize) > [基本設定](Preferences)ダイアログ ボックスの[ビューポート](Viewports)タブにある[選択/プレビュー ハイライト](Selection/Preview Highlights)セクションに表示されるビューポート選択設定を公開します。
プロパティ:
<SelectionEffectImpl>.Enabled : bool : Read|Write
[選択/プレビュー ハイライト](Selection/Preview Highlights)の設定を使用するかどうかを取得または設定します。
<SelectionEffectImpl>.SelectionHighlightEnabled : bool : Read|Write
[選択のオーバーレイ](Selection Overlay)の設定を取得または設定します。オンの場合は、選択した項目がカラー オーバーレイと一緒に表示されます。
<SelectionEffectImpl>.SelectionOutlineEnabled : bool : Read|Write
[選択のアウトライン](Selection Outline)の設定を取得または設定します。オンの場合は、選択した項目がカラー アウトラインと一緒に表示されます。
<SelectionEffectImpl>.PreviewHighlightEnabled : bool : Read|Write
[オーバーレイをプレビュー](Preview Overlay)の設定を取得または設定します。オンの場合は、ビューポート内のマウス クリックで選択できる項目の上にマウスを置くと、この項目がカラー オーバーレイと一緒に表示されます。
<SelectionEffectImpl>.PreviewOutlineEnabled : bool : Read|Write
[アウトラインをプレビュー](Preview Outline)の設定を取得または設定します。オンの場合は、ビューポート内のマウス クリックで選択できる項目の上にマウスを置くと、この項目がカラー アウトラインと一緒に表示されます。
<SelectionEffectImpl>.AnimationEnabled : bool : Read|Write
選択のプレビューのハイライト表示に適用されるアニメーション エフェクトを取得または設定します。既定値は false です。 このパラメータの UI はありません。
<SelectionEffectImpl>.HighlightFactor : float : Read|Write
選択ハイライトのオーバーレイの透明度を設定する際に使用されるブレンド係数を取得または設定します。既定値は 0.15 です。このパラメータの UI はありません。
<SelectionEffectImpl>.UseSceneDepth : bool : Read|Write
選択のプレビューを適用するために選択のプレビューでシーンの深度バッファを使用するかどうかを取得または設定します。false の場合、選択のプレビューを行うと、他のオブジェクトの背後にあるオブジェクトもハイライト表示されます。このパラメータの UI はありません。
メソッド:
なし。
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 名が返されます。
有効な値は次のとおりです。
数値 | Enum 名 | |
---|---|---|
0 | #Realistic |
![]() |
1 | #Shaded |
![]() |
2 |
#Facets
3ds Max 2013 で廃止 |
![]() |
3 | #ConsistentColors |
![]() |
4 | #HiddenLine |
![]() |
5 | #Wireframe |
![]() |
6 | #BoundingBox |
![]() |
7 | #Ink |
![]() |
8 | #ColorInk |
![]() |
9 | #Acrylic |
![]() |
10 | #Tech |
![]() |
11 | #Graphite |
![]() |
12 | #ColorPencil |
![]() |
13 | #Pastel |
![]() |
14 | #Clay |
![]() |
<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)チェックボックスの状態を取得/設定します。
<ViewportViewSettingImpl>.ShowHighlightEnabled : bool : Read|Write
[ハイライト](Highlights)オプションの状態を取得/設定します。
True (既定値)に設定すると、ビューポートで鏡面反射ハイライトが計算されます。
False に設定すると、ハイライトは計算されません。
<ViewportViewSettingImpl>.AutoDisplaySelectedLightEnabled : bool : Read|Write
[選択したライトを自動表示](Auto Display Selected Light)オプションの状態を取得/設定します。
<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)チェックボックスの状態を取得/設定します。
<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)チェック ボックスの状態を取得/設定します。
<ViewportViewSettingImpl>.DynamicReflectionEnabled : bool : Read|Write
ダイナミック反射オプション(現在 UI には公開されていない)の状態を取得/設定します。
True に設定すると、反射マップ スロット内にレイトレースまたは反射/屈折マップを含むマテリアルは、[現実的マテリアルをビューポートに表示](Show Realistic Material In Viewport)モードに切り替えられた場合に、周囲のシーン オブジェクトのダイナミック反射を計算します。
False(既定値)に設定すると、ダイナミック反射は計算されません。
反射のプロパティ | 結果 | 注: |
---|---|---|
.ReflectionEnabled=off |
![]() |
.ReflectionEnabled をオフにすると、 .DynamicReflectionEnabled の状態は無視されます。 |
.ReflectionEnabled=on .DynamicReflectionEnabled=off |
![]() |
.ReflectionEnabled をオンにすると、マテリアルに反射マップがあり、[現実的マテリアルをビューポートに表示](Show Realistic Material In Viewport)がオンの場合、環境反射マップが表示されます。 |
.ReflectionEnabled=on .DynamicReflectionEnabled=on |
![]() |
両方のプロパティをオンにすると、環境反射マップとシーン オブジェクトの両方が反射されます。 反射の反射は計算されません。 反射は、曲面上でのみ正しく見えます。 |
<ViewportViewSettingImpl>.ProgressiveFadingFactor : integer : Read|Write
プログレッシブ フェード係数の値を取得/設定します。
この値により、ビューポートのプログレッシブ リファインをコントロールします。
値 0 は直ちに集光することを、4 ~ 16 の値は高速リファインを、それより高い値は指数関数的にプロセスの速度を落とすことを意味します。
既定値は 32 です。
<ViewportViewSettingImpl>.UseViewportBackgroundEnabled : bool : Read|Write
効果なし。
<ViewportViewSettingImpl>.UseSolidColor : bool : Read|Write
効果なし。
<ViewportViewSettingImpl>.DOFEnabled : bool : Read|Write
有効な[被写界深度](Depth of Field)オプションの状態を取得/設定します。既定は true です。
<ViewportViewSettingImpl>.BokehShape : filename : Read|Write
ぼけ効果コントロール イメージのビットマップ ファイル名を取得/設定します。
このビットマップのアルファ チャネルによってぼけ効果のシェイプをコントロールし、一方 RGB によって効果のカラーをコントロールします。
空の文字列 "" (既定値)に設定すると、DOF 効果により円盤形の「錯乱円」が生成されます。
メソッド:
<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 番目の引数として渡された実数値に設定します。
<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 ) |