レンダラー

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 レンダリングやテクスチャ ベーキングなど)を実行するためにレンダラーを使用できるかどうかを決定できます。

RendererClass インスタンスの共通プロパティ:

<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