3ds Max 4 で MAXClass ラップがプラグイン レンダラー スーパークラスに追加されたため、レンダラー インスタンスを MAXScript で使用できるようになりました。新しいスーパークラスの名前は「Renderer」です。
プロパティ . クラスはすべてのインストールされている RendererClass オブジェクトの配列を提供します。これによりたとえばレンダラー クラスのインスタンスの手続型の作成や現在のシステム上で使用可能なレンダラーのチェックなどが可能になります。
例
|
RendererClass.classes
#(Default_Scanline_Renderer, VUE_File_Renderer, Quicksilver_Hardware_Renderer, mental_ray_renderer, Missing_Renderer)
--新しいレンダラー クラスを現在のレンダラー クラスに割り当てることができます。
renderers.current = RendererClass.classes[3]()
mental_ray_renderer:mental_ray_renderer
--条件付き割り当て: 名前パターン "Quicksilver*" に一致するすべてのレンダラー クラスを収集します。
--そして収集されたのが 1 つの場合、
--現在のレンダラーにインスタンスを割り当てます。:
theRenderer = for i in RendererClass.classes where \
matchPattern (i as string) pattern:"Quicksilver*"collecti
#(Quicksilver_Hardware_Renderer)
if theRenderer.count == 1 do renderers.current = theRenderer[1]()
Quicksilver_Hardware_Renderer:Quicksilver_Hardware_Renderer
--クラスをパターン マッチの文字列として使用すると、
--実際のクラス名が変更しているときに名前が便利です。(たとえば、
--いくつかのサード パーティのレンダラーではクラス名にバージョン番号が含まれていて、
--複数のバージョンに対するスクリプトでのハードコードが
--困難になります。)
--上記の方法は、これらの場合にも有効です。
|
提供されている RendererClass クラスは次のとおりです。
Default_Scanline_Renderer : RendererClass
Mental_Ray_Renderer : RendererClass
iRay_Renderer: RendererClass
Quicksilver_Hardware_Renderer : RendererClass
VUE_File_Renderer : RendererClass