Renderers は、systemGlobal の構造体です。これによってユーザは、レンダラー クラスのインスタンスを、現在、プロダクション、マテリアル エディタ、activeShade のレンダラーに割り当てることができます。
renderers.current
現在のレンダラーを取得/設定します。
renderers.production
プロダクション レンダラーを取得/設定します。
renderers.activeShade
activeShade レンダラーを取得/設定します。supportsActiveShade
プロパティが true
に設定されているレンダラーのみを activeShade レンダラーとして設定できます。
renderers.medit_locked
[シーンをレンダリング](Render Scene)ダイアログ ボックスの[共通設定] (Common)タブ/[レンダリングを割り当て](Assign Renderer)ロールアウト内でマテリアル エディタ スロットの隣にある[現在のレンダラーにロック](Lock to Current Renderer)チェックボタンの状態を制御します。True
に設定した場合、マテリアル エディタによって自動的にプロダクション レンダラーが使用されます。False
に設定した場合、マテリアル エディタのレンダラーを、プロダクション レンダラーから独立して設定できます。
renderers.medit
マテリアル エディタのレンダラーを取得/設定します。
renderers.renderDialogMode
レンダリング ダイアログ モードを取得/設定します。
有効な値は次のとおりです。
#production
#activeShade
3ds Max 2016 以降で使用可能です。
renderers.renderButtonText
現在は「」を返します。設定できません。
3ds Max 2016 以降で使用可能です。
renderers.target
[レンダリング設定](Render Setup)ダイアログのターゲット モードを取得/設定します。
有効な値は次のとおりです。
[ローカル] (local) - ローカルでレンダリングします
[クラウド] (cloud) - クラウドでレンダリングします
3ds Max 2016 以降で使用可能です。
renderers.GetDraftRenderer()
ドラフト レンダラーを返します。
ドラフト レンダラーが公開されたり3ds Maxによって使用されたりすることはバージョン 6 以降はありませんが、レンダラーがドラフト レンダラーとして割り当てられることはあります。このレンダラーがサード パーティ製プラグインのインスタンスであり、このプラグインがインストールされていないコンピュータ上でこのシーン ファイルをロードした場合には、「プラグインが見つからない」というメッセージが表示され、これを解決する方法はありません。
3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
ドラフト レンダラーを取得することによって、新しいドラフト レンダラーが作成され、現在のドラフト レンダラーが存在しない場合にはドラフト レンダラーとして設定されます。
renderers.ClearDraftRenderer()
ドラフト レンダラーが存在する場合にドラフト レンダラーを削除します。
ドラフト レンダラーが公開されたり 3ds Max によって使用されたりすることはバージョン 6 以降はありませんが、レンダラーがドラフト レンダラーとして割り当てられることはあります。このレンダラーがサード パーティ製プラグインのインスタンスであり、このプラグインがインストールされていないコンピュータ上でこのシーン ファイルをロードした場合には、「プラグインが見つからない」というメッセージが表示され、これを解決する方法はありません。
3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
レンダラー クラス インスタンスは、MAXScript で作成できます。これらのインスタンスには共通の読み込み専用のプロパティがあり、これらのプロパティを使用して、ある特殊なタスク(ActiveShade レンダリングやテクスチャ ベーキングなど)を実行するためにレンダラーを使用できるかどうかを決定できます。
<RendererClassInstance>.supportsActiveShade
レンダラーを ActiveShade レンダラーとして使用できる場合は true
、そうでない場合は false
を返します。読み取り専用です。
<RendererClassInstance>.supportsTexureBaking
レンダラーがテクスチャ ベーキングをサポートしている場合は true
、そうでない場合は false
を返します。読み取り専用です。
特定のシステム上にインストールされているすべてのレンダラーのリストを取得するには、RendererClass
の .classes
プロパティにアクセスします。
例
RendererClass.classes -->#(Default_Scanline_Renderer, VUE_File_Renderer, mental_ray_Renderer, Missing_Renderer) --You can assign a new renderer class to the current renderer renderers.current = RendererClass.classes[2]() -->VUE_File_Renderer:VUE_File_Renderer
areMtlAndRendererCompatible {<mtlbase> | <maxclass>} [ renderer:{<renderer> | <maxclass>} ]
マテリアル/テクスチャ マップとレンダラーに互換性がある場合は true
を返します。マテリアル/テクスチャ マップとレンダラーは、インスタンスまたは MAXClass として指定されます。レンダラーが指定されていない場合、現在のレンダラーがテストされます。
例:
--Check Mental_Ray material against Scanline Renderer --They are not compatible! theMat = Mental_Ray() -->mental_ray:mental_ray theRenderer = Default_Scanline_Renderer() -->Default_Scanline_Renderer:Default_Scanline_Renderer areMtlAndRendererCompatible theMat renderer:theRenderer -->false --Check a Standard material against Scanline Renderer --They are compatible! theMat = Standard() -->Standardmaterial:Standard areMtlAndRendererCompatible theMat renderer:theRenderer -->true