スクリプト化された共通ベイク マップ プラグインは、BakeToTextureMap
を拡張し、それによって所有されます。これらのプラグインは、ユーザの視点からはすべてのレンダラーで同じように見えるベイク処理要素の統一されたビューを提供します。サポートされる各レンダラーのレンダラー固有のロジックは、コンパニオン CommonBakeMapOperator
に格納されています。このコンパニオンは、ベイク処理環境を設定し、実際に使用されるベイク処理要素を指定します。
3ds Max に付属の既定の共通ベイク マップは $startupScripts/BTT
にあり、このタイプのプラグインの実装例を探す場合に適しています。
スクリプト化された共通ベイク マップ プラグインを宣言するには、<superclass>
を CommonBakeMap
として指定します。
共通ベイク マップ プラグインは、ロールアウトの説明で extendedUi: true
で示される特別な拡張ユーザ インタフェースを実装します。この UI は、基盤となる UI フレームワークとして従来の Win32 の代わりに Qt を使用し、拡張された Qt ウィジェットのプロパティとレイアウトにアクセスできるようにします。詳細については、「[テクスチャにベイク処理](Bake To Texture)ロールアウト コントロール」を参照してください。
拡張 UI は、共通ベイク マップ プラグインでのみ使用することを目的としており、その他のタイプのロールアウトではサポートされていません。
例については、「スクリプト化された[テクスチャにベイク処理](Bake To Texture)プラグインの例」を参照してください
次のオプションのキーワードを CommonBakeMap
宣言で使用できます。
tooltTip : string
[テクスチャにベイク処理(Bake To Texture)]ツリービューでベイク マップ上にマウスを置いたときに表示されるツールチップ文字列を定義します。
useGamma : bool
共通ベイク マップが UI にガンマ設定を表示するかどうかを示します。
backgroundColor : point3
ベイク処理されたイメージの既定のバックグラウンド カラーを指定します。
CommonBakeMapOperator
プラグイン クラスは、マップのベイク処理環境を初期化および初期化解除するレンダラー固有のハンドラです。
CommonBakeMapOperator
宣言の必須キーワードは次のとおりです。
commonMapClassID : 2 element array
このベイク マップ オペレータが属する CommonBakeMap のクラス ID。
rendererClassID : 2 element array
このベイク マップ オペレータがベイク処理を実行するレンダラー クラス ID です。
次に、オプションのキーワードを示します。
bakeElementClassID : 2 element array
ベイク処理で使用されるベイク処理要素のクラス ID です。ベイク処理要素は、プラグイン記述レベルのキーワードを使用して静的に定義するか、ベイク処理要素が何らかのオペレータ内部ロジックに依存している場合は、bakeElementClassID()
コールバックを使用して動的に提供することもできます。プラグイン クラス キーワードとして定義されている bakeElementClassID
がない場合、これはベイク処理の前に呼び出されます。
CommonBakeMapOperator
クラスでは次のプロパティを使用できます。
bttMap : BakeToTextureMap : Read only
このベイク オペレータが参照するテクスチャ マップへのベイク処理です。パラメータも含め、一般的なベイク マップ インタフェースにアクセスできます。
commonMap : MAXWrapperObject : Read only
このベイク オペレータが属する共通のベイク処理マップ。オブジェクト参照を使用すると、共通のベイク マップで定義されたパラメータにアクセスできます。
preBake( bakeElem : BakeElementProperties) : void
このコールバックは、ベイク処理プロセスが開始される直前に呼び出されれます。これは、ベイク処理環境のレンダラー固有およびマップ固有の設定を行うために使用できます。パラメータ bakeElement
は、ベイク処理に使用されるベイク処理要素のインスタンスです。
postBake() : void
このコールバックは、ベイク処理が完了したときに呼び出されます。これを使用して、preBake
コールバックで行った変更をリセットできます。
requireSceneChange() : bool
シーンの変更が必要なプロパティに従ってマップをグループ化するために、ベイク処理の前に BTT から呼び出されます。マップが true を返した場合でも、同じパラメータを持つ同じタイプのマップでグループ化されます。
bakeElementClassID() : 2 element array
ベイク処理に使用されるベイク処理要素のクラス ID です。プラグイン記述レベルでキーワードを使用してベイク処理要素が定義されていない場合は、ダイナミック コールバック bakeElementClassID
を実装する必要があります。これはベイク処理の前に呼び出されるため、[テクスチャにベイク処理(Bake To Texture)]は作成する必要があるベイク処理要素を認識します。