MAXScript にスクリプト Camera プラグインを記述できるようになりました。現時点では、既存の MAX カメラを拡張する拡張カメラ プラグイン、またはカスタム カメラ システムの作成ツールの管理に使用できるテンポラリ カメラ プラグインを記述できます。
カメラのプラグイン スーパークラスは、「camera」です。
スクリプト カメラでは、このイベント ハンドラを利用して、CameraObject:: renderApertureChanged コールバックにアクセスすることができます。ユーザがレンダラーの口径に影響するパラメータを調整するときに、カメラへの[レンダリング](Rendering)ダイアログ ボックスでこのコールバックが作成されます。
この「 val 」パラメータには、新しいレンダラーの口径値が設定されます。このハンドラは、通常、[レンダリング](Rendering)ダイアログ ボックスの[出力イメージ サイズ](Output Size)ドロップダウンで新しい口径を選択したとき、またはカスタム モードでスピナーを調整したときに呼び出されます。
[シーンをレンダリング](Render Scene)ダイアログ ボックスで、[イメージ アスペクト](Image Aspect)のロックが解除されているときに、[幅](Width)、[高さ](Height)、または[ピクセル アスペクト](Pixel Aspect)を変更した場合
[シーンをレンダリング](Render Scene)ダイアログ ボックスで、出力サイズのプリセット ボタンのいずれかをクリックした場合
[シーンをレンダリング](Render Scene)ダイアログ ボックスで、[イメージ アスペクト](Image Aspect)がロックされているときに[幅](Width)、[高さ](Height)、または[ピクセル アスペクト](Pixel Aspect)を変更するか、[口径幅](Aperture Width)を変更してから[レンダリング](Render)または[閉じる](Close)をクリックした場合
ハンドラに渡される値は口径幅です。それ以外の値は、 renderWidth 、 renderHeight 、および RenderPixelAspect グローバル変数から取得できます。ただし、これらの値は、[口径幅](Aperture Width)の値を除いて、通常は古い値です。ハンドラへの呼び出しは、「InvalidateCameras」メソッドから行われます。このメソッドは、新しい値を設定する直前に呼び出されます。新しい値が設定された後に、ブロードキャストは行われません。つまり、すべてのビューポートでセーフ フレームがオフになっている場合、ビューポートは再描画されません。
スクリプト カメラでこのハンドラが使用される場合は、[口径幅](Aperture Width)の古い値をキャッシュに格納し、受け取った値とキャッシュ値を照合してから処理を継続することをお勧めします。
このイベント ハンドラは、スクリプト カメラとヘルパーで使用でき、開発者は、代理オブジェクトのビューポート表示メッシュを、カスタム表示メッシュに置き換えることができます。
下の例は、メッシュが実際に変更された場合に限り、ハンドラでそのメッシュを更新する方法を示しています。
このオプションのイベント ハンドラーを使用すると、開発者はビューポートでのオブジェクトの描画にノードのワイヤ カラーを使用するか、指定のオブジェクト タイプに対応した UI カラー(カメラにはカメラ オブジェクト)を使用するかを指定できます。このハンドラが true を返す場合は、ノードのワイヤ カラーが使用されます。このハンドラが true を返す場合は、ノードのワイヤ カラーが使用されます。 false を返す場合は、オブジェクト タイプの UI カラーが使用されます。イベント ハンドラを指定しない場合は、ワイヤ カラーが使用されます。 getDisplayMesh ハンドラを指定した場合に限って、このハンドラを使用できます。3ds Max 8 以降 で使用可能です。