このページでは、3ds Max 9 の MAXScript 言語の変更と改良点について簡単にその概要を説明します。各機能の詳細については、ドキュメントの各ページのリンクをお読みください。
Logarithmic_Exposure_Control : ToneOperator
この露出コントロールに使用する 新しいトーン マッピング アルゴリズムが実装されました。古いアルゴリズムも、下位互換性の理由でまだ使用できます。新旧の動作を切り替えるための新しいプロパティ .useLegacyAlgorithm が追加されました。
新しい SceneEffectLoader インタフェースは、[シーンの効果ローダ](Scene Effect Loader)ユーティリティを MAXScript に公開します。
新しいメソッド gw.setDirectXDisplayAllTriangle() を使用すると、Direct3D ドライバの[カスタマイズ](Customize) > [基本設定](Preferences) > [ビューポート](Viewports) > [ドライバを設定](Configure Driver)ダイアログ ボックスにチェックボックスとして表示されている UI、[三角形エッジをすべて表示](Display All Triangle Edges)を変更できます。
3ds Max 9 で追加された新しい mental ray の機能
2 つの新しい読み込み専用プロパティ(.LastTotalNonRenderTime_ms および .LastTotalGeomTranslationTime_ms)が mental ray レンダラーに追加されました。これらのプロパティには、変換時間に関する詳細が含まれています。
新しい Arch & Design マテリアル(3ds Max 9 で追加)は、シェーダ プリセット、光沢反射、カスタム BRDF 反射機能、ビルトインの環境オクルージョン、ラウンド コーナー効果などの高度な機能を提供します。
新しいフォトメトリック ライトが 3ds Max 9 では、追加されました。mental ray を使用してレンダリングした場合に、物理的に正確なスカイ ライトおよびサン ライトを実現します。
新しい mental ray シェーダが 3ds Max 9 に追加されました。物理的な空を環境マップとして視覚的に表します。
新しいプロパティ CheckNetworkPaths がアセット トラッキング システムに追加されました。
新しいメソッド( GetFileStatus()、GetFileSystemStatus()、TestFileSystemStatus() )がアセット トラッキング システムに追加されました。ファイルの状態を問い合わせることができます。
新しいメソッド( ResolveSelectionToUNC()、ResolveSelectionRelativeToProjectFolder() 、および ResolveSelectionToAbsolute() )がアセット トラッキング システムに追加されました。選択したパスを UNC、相対パス、または絶対パスに変換することができるようになりました。
checkin()、checkout()、undocheckout()、addfiles() 、および getlatest() の戻り値が<void>から<bool>に変更されました。
新しいメソッド( IsInputFile()、SetWorkingFolder()、GetWorkingFolder()、IsFileShareLocked() )がアセット トラッキング システムに追加されました。
新しい PathConfig 構造体は、相対パスと絶対パスを操作し、システム パスおよびプロファイル パスにアクセスするための高度なメソッドを公開します。
新しいパス名が追加されました。システム ディレクトリ名の値を要求する GetDir()、SetDir() メソッド、および pathConfig 構造体の一部のメソッドに対するオプションとして、 #animations、#archives、#downloads、#maxData、#Photometric、#proxies、#renderassets、#renderPresets、#renderoutput、#temp、#userMacros、#userScripts、#userStartupScripts、#userIcons が追加されました。
新しいメソッド (ConvertDirIDToInt())が MAXScript に追加されました。システム ディレクトリ名 ID に対応する整数を返します。
新しいメソッド( getFullFilePath() )が mapPaths 構造体に追加されました。マップ パスを使用してファイル名を解決し、このファイルが見つかった場合には完全な修飾名を返します。
新しいプラグイン パス構造体は、 count() と get() の 2 つのメソッドを提供します。count() メソッドは定義されているプラグイン パスの数を返し、get() はインデックス付きのプラグイン パスを返します。
新しいメソッド( getFullFilePath() )が mapPaths 構造体に追加されました。外部参照パスを使用してファイル名を解決し、このファイルが見つかった場合には完全な修飾名を返します。
新しい symbolicPaths 構造体は、システム シンボル パスへのアクセスおよびユーザ定義のシンボル パスの管理を行うための高度なメソッドを公開します。
新しいメソッド logName が logsystem 構造体に追加されました。このメソッドを使用して、ログ ファイル名とパスを定義することができます。
すべてのベイク処理要素におけるプロパティ .fileName および .fileType の型は、String から Filename に変更されました。
プロパティ .fileName および .dirName の型は、String から Filename に変更されました。
プロパティ .fileName の型は、String から Filename に変更されました。
ヘア インタフェースの SavePreset() メソッドと LoadPreset() メソッドにおけるプリセット名引数の型は、String から Filename に変更されました。
Particle_Cache : SpacewarpModifier
Point_CacheSpacewarpModifier : SpacewarpModifier
プロパティ .cache_name の型は、String から Filename に変更されました。
プロパティ .bitmapName および .outputName の型は、String に対応する StringsArray から Filename に対応する FilenameArray に変更されました。
SetCombustionOutputPath() メソッドと SetRenderElementFilename() メソッドのファイル名引数の型、および GetCombustionOutputPath() メソッドと GetRenderElementFilename() メソッドの戻り値の型は、String から Filename に変更されました。
メソッド renderUV() に対するファイル名引数の型は、String から Filename に変更されました。
ViewportManagerCustAttrib インタフェース: viewportmanager
メソッド saveFXFile() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド loadColorFile()、saveColorFile()、setIconFolder() に対するファイル名引数の型、およびメソッド getColorFile()、getFileName()、getIconFolder() の戻り値の型は、String から Filename に変更されました。
メソッド fileInPackage() および unloadPackage() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド loadMenuFile() および saveMenuFile() に対するファイル名引数の型、およびメソッド getMenuFile() の戻り値の型は、String から Filename に変更されました。
メソッド loadKeyboardFile() および saveKeyboardFile() に対するファイル名引数の型、およびメソッド getKeyboardFile() の戻り値の型は、String から Filename に変更されました。
メソッド dropPackage()、downloadPackage() および DownloadUrlToDisk() に対するファイル名引数の型、およびメソッド getDownloadDirectory() の戻り値の型は、String から Filename に変更されました。
メソッド getAnimFileDirectory() および getAnimMapFile() で返される型は、String から Filename に変更されました。
メソッド getLayerCount() 、 getLayerName() 、および LoadLayer() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド canImportBitmap() および loadCUIFile() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド LoadPresetFile() および SavePresetFile() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド createFormFromFile() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド export() および exportArray() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド ExportDRA() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド LoadAnalysisFile() および SaveAnalysisFile() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド GetFiles()、AddFile()、SetFile() 、 RemoveFileByName() に対するファイル名引数の型は、String から Filename に変更されました。
メソッド openFile() に対するファイル名引数の型は、String から Filename に変更されました。
Mixin インタフェース: maxOps.GetCurRenderElementMgr(...) : インタフェース: RenderElementMgr
メソッド SetCombustionOutputPath() および SetRenderElementFilename() に対するファイル名引数の型、およびメソッド GetCombustionOutputPath() と GetRenderElementFilename() の戻り値の型は、String から Filename に変更されました。
Mixin インタフェース: memStreamMgr.openString(...) : インタフェース: memStream
メソッド getFileName() の戻り値の型は、String から Filename に変更されました。
Mixin インタフェース: netRender.getManager(...) : インタフェース: NetManager
メソッド NewJob() に対する file: キーワード引数の型は、String から Filename に変更されました。
Mixin インタフェース: (schematicviews.open "A";schematicviews.current) : インタフェース: SchematicView
メソッド getBackgroundImageName() の戻り値の型、およびメソッド setBackgroundImageName() に対するファイル名引数の型は、String から Filename に変更されました。
Mixin インタフェース: batchRenderMgr.createView(...) : インタフェース: batchRenderViewOps
プロパティ . presetFile および . outputFilename の値の型は、String から Filename に変更されました。
新しい autosave インタフェースは自動バックアップ機能を公開します。ユーザはこのインタフェースを使用して自動バックアップ機能を使用可能/使用不可にしたり、バックアップの間隔や自動バックアップ ファイルの数と名前を変更したり、タイマーをリセットしたり、自動バックアップ システムが現在アクティブであるかどうかをチェックすることができます。自動バックアップ システムはリファクタリングされ、シーンを保存する必要性を表すシーン ダーティ フラグを考慮するようになりました。さらに、保存が完了するとタイマーがリセットされ、ユーザがシーンを十分に作業してから次の自動保存が行われるようになりました。
新しい AnimLayerManager インタフェースは、MAXScript にアニメーション レイヤ システムを公開します。
新しい Float_Layer コントローラは、階層化された実数型コントローラを管理する目的でアニメーション レイヤ システムによって作成および使用されます。
Point3_Layer : Point3Controller
新しい Point3_Layer コントローラは、階層化された Point3 コントローラを管理する目的でアニメーション レイヤ システムによって作成および使用されます。
Point4_Layer : Point4Controller
新しい Point4_Layer コントローラは、階層化された Point4 コントローラを管理する目的でアニメーション レイヤ システムによって作成および使用されます。
Position_Layer : PositionController
新しい Position_Layer コントローラは、階層化された位置コントローラを管理する目的でアニメーション レイヤ システムによって作成および使用されます。
Rotation_Layer : RotationController
新しい Rotation_Layer コントローラは、階層化された回転コントローラを管理する目的でアニメーション レイヤ システムによって作成および使用されます。
新しい Scale_Layer コントローラは、階層化されたスケール コントローラを管理する目的でアニメーション レイヤ システムによって作成および使用されます。
Layer_Output : FloatController
新しい Layer_Output コントローラは、レイヤ コントローラの出力を管理する目的でアニメーション レイヤ システムによって作成および使用されます。
すべてのアニメーション レイヤ コントローラ(Layer_Output コントローラを除く)は、レイヤ インタフェースを公開します。
layermanger.newlayerfromname() を呼び出すと、新しいレイヤが作成したコールバックがトリガされます。これまでのバージョンでは、コールバック通知パラメータをポーリングすると、誤った名前( layermanager.newlayer() が報告する既定値の名前と同じもの)が報告されていました。このエラーは修正されました。
次のプロパティは書き込み可能になりました: srcFileName、srcItemName
名前付き選択セットの新しい .name プロパティを取得および設定できるようになりました。このため、既存の名前付き選択セットの名前を直接変更できるようになり、古い選択セットを削除して新しい選択セットを作成しなおして新しい名前を付ける必要はなくなりました。
isDeleted() メソッドを名前付き選択セットに対しても使用できるようになりました。
名前付き選択セットに対して deleteItem() メソッドを使用する場合に、2 つ目の引数として選択セットの名前ではなく選択セットの値を使用できるようになりました。
PointCache モディファイヤは、従来はフリーのプラグインであった PointCache2 モディファイヤに置き換えられました。新しいポイント キャッシュ モディファイヤは、キャッシュの再生をより高度にコントロールしたり、同一のデータ フォーマットを使用する新しいキャッシュを実装している Autodesk Maya と変形データおよびアニメーション データを共有したりできるようになりました。
同じモディファイヤにより、PointCache モディファイヤによって現在のメモリ使用量を取得するためのメソッド pointCacheMan.GetMemoryUsed() を公開する PointCacheMan 構造体が定義されます。
同じモディファイヤにより、MAXScript によってキャッシュ下のモディファイヤの有効化/無効化、キャッシュの記録、再ロード、およびアンロードを行うためのメソッド CachOps.DisableBelow()、cacheOps.EnableBelow()、cacheOps.RecordCache()、cacheOps.Reload、cacheOps.Unload() を公開する CacheOps 構造体が定義されます。
新しい面ごとのデータ保存が simpleFaceManager インタフェースおよび simpleFaceChannel Mixin インタフェースによって MAXScript に公開され、そのメソッドの一部によって返されます。それぞれの面の中で、整数、インデックス、実数、ブール値、point2 および point3 の値を保持できるようになります。
DialogMonitorOPS インタフェースは、UI の動作によってトリガされるカスタム コールバックを登録し、UIAccessor Interface によって公開されるメソッドを使用してダイアログやポップアップを自動的に処理するためのシステムです。
RefTargMonitor : ReferenceTarget
このクラスは、あらゆる ReferenceTarget に対する間接的な参照を保持します。主に内部テストを目的として追加されたものですが、スクリプトとしても便利な用途がある可能性があるため、アクセス可能な状態にしてあります。
RingArray インタフェースは、RingArray システムの作成方法を公開します。RingArray には 3ds Max における実際の機能はなく、このインタフェースは主にテストおよびデバッグを目的として作成されたものです。このインタフェースはシステムの一例に過ぎません。
新しいメソッドが Biped 構造体に追加されました( biped.maxTwistNodes()、biped.maxTwistLinks() 、および biped.getTwistStartID() )。character studio Biped 内のねじれたノードおよびリンクに MAXScript がアクセスできるようになりました。
新しいメソッドがビューポート構造体に追加されました。[統計を表示](Show Statistics)オプションによって提供される現在のビューポートのフレーム レートの測定値に MAXScript がアクセスできるようになりました。
CommCenterGUP : GlobalUtilityPlugin
新しいグローバル ユーティリティ プラグインが追加されましたが、プロパティ、メソッド、インタフェースは公開されていません。