このページでは、3ds Max 7 の MAXScript 言語の変更と改良点について簡単にその概要を説明します。各機能の詳細については、ドキュメントの各ページのリンクをお読みください。
新しいプロパティが Editable_Poly ジオメトリ クラスに追加され、Paint Soft Selections 機能と Paint Deformations 機能にアクセスできるようになりました。
新しい メソッドが EditablePoly インタフェースに追加され、Bridge 機能、MakePlanarIn 機能、Relax 機能にアクセスできるようになりました。
Editable_Mesh : GeometryClass および TriMesh : 値
新しい メッシュ(mesh): 作図パラメータがメッシュ コンストラクタに追加され、既存の TriMesh 値から Editable_Mesh オブジェクトを作成できるようになりました。
次のパラメータへのアクセスが追加されました。 #angle、#renderable、#mapCoords、#thickness、#sides、#viewport_thickness、#viewport_sides、#viewport_angle、#displayRenderMesh、#useViewportSettings、#displayRenderSettings
この新しいヘルパーは、スクリプト コントローラやワイヤ コントローラなどの入力として使用する位置データと回転データを、シーン ノードから抽出するときに使用します。 この機能を利用すると、カスタム アニメーションを簡単に作成できるようになります。
新しい Edit_Poly モディファイヤでは、編集可能ポリゴン モデリング ツールをモディファイヤに実装してスタックに追加できます。また、非破壊編集とアニメーションが可能になりました。
EmptyModifier の以前の実装が置き換わりました。EmptyModifier は EmptyModifier_Old になりました。カスタム アトリビュート ホルダーとして使用できます。
ソフト選択ペイントをコントロールする 新しいプロパティが、既存のモディファイヤに追加されました。
Project_Mapping_Holder: モディファイヤ
Project_Mapping : ReferenceTarget
新しい投影モディファイヤでは、法線マップのベイク処理に必要な高解像度メッシュと低解像度メッシュ間の UVW 座標のコピーができるようになりました。
新しい Renderable_Spline モディファイヤでは、レンダラーとビューポートでスプラインをメッシュに変換する手順が用意されています。3ds Max とその他の Autodesk 製品間でデータを転送する場合にも使用します。
新しい Skin_Wrap_Patch モディファイヤ...
新しい TurboSmooth モディファイヤは、最適化された非常に高速なサブディビジョン モディファイヤです。
新しい Unwrap_UVW インタフェースでは、エディタとビューポートにおける開いたエッジの表示、マテリアル ID によるマップのフラット化、選択した面のジオメトリと UVW 領域計算へのアクセス、相対入力モードと絶対入力モード、エディタのマップ リストへのマップの追加など、Unwrap_UVW モディファイヤをコントロールする別の方法が提供されます。
新しいプロパティ .isPB2Based、isMSPluginClass 、および .isMSCustAttribClass がカスタム アトリビュート定義クラスに追加されました。
custAttributes.GetOwner_method
新しい custAttributes.getOwner メソッドは、カスタム アトリビュートが適用されるオブジェクトを返します。
インタフェース: custAttribCollapseManager
この新しいインタフェースでは、カスタム アトリビュートにモディファイヤ スタックの集約を残すかどうかをコントロールします。
Camera_Map_Per_Pixel : textureMap
新しいピクセルごとのカメラ マッピング テクスチャ マップでは、あらゆる表示角度のジオメトリで正確な結果が得られます。
新しいプロパティ .lightDir、.k_a、.k_d、.k_s、.n が既存の DirectX_9_Shader マテリアルに追加されました。一部の古いプロパティはマテリアルから削除されました。
新しいメソッドが既存の DirectX_9_Shader マテリアルに追加されました。
ViewportManagerCustAttrib : CustAttrib
DirectX 標準マテリアル シェーダをコントロールして FX ファイルを保存する新しい プロパティと メソッドが、既存の ViewportManagerCustAttrib クラスとそのインタフェースに追加されました。
新しい Normal_Bump テクスチャ マップは、ベイク処理した法線マップのホストとして使用します。
新しい HeightMap BakeElement を使用すると、高さマップ テクスチャにジオメトリをベイク処理できます。
既存の BakeElement に追加された 2 つの新しいプロパティは、 useHeightAsAlpha 、および useNormalBump です。
mental_ray_Shadow_Map : Shadow
3ds Max 7 で正式にサポートされている既存シェーダに、新しいプロパティが追加されました。
mental_ray_renderer : RendererClass
既存のレンダラー クラスに新しいプロパティが追加され、一部の古いプロパティが削除されました。
サブサーフェス スキャッタリング - mental ray シェーダ
物理的に正確で高速なサブサーフェス スキャッタリング (SSS) を実装した 新しい シェーダが追加されました。このクラスが MAXScript で正式にサポートされていないことに注意してください。
Object_Display_Culling : UtilityPlugin
ビューに依存するオブジェクトの非表示によって、ビューポートでユーザが定義したフレーム レートを維持する、新しいユーティリティ プラグイン。最適表示システム機能は3ds Max 2009 で置き換えられました。
この新しいコールバックは、シーン ノード名の設定か変更が行われたときに送信されます。 #nodeRenamed コールバックよりも、このコールバック タイプを使用する方が信頼性があります。 callbacks.notificationParam() では、変更前の名前、変更後の名前、ノードという 3 つの要素からなる配列を返します。
callbacks.notificationParam() では、レンダリング プリセット ファイルが開いているか、あるいは未定義の場合に、2 という整数を返すようになりました。
新しい FrameTagManager インタフェースでは、時間タグ機能にアクセスできます。
新しい ParamCollectorOps インタフェースでは、[パラメータ コレクタ](Parameter Collector )ダイアログ ボックスにアクセスできます。
新しい reactionMgr インタフェースでは、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスにアクセスできます。
新しい walkThroughOps インタフェースでは、ウォークスルー ビューポート ナビゲーション モードにアクセスできます。
インタフェース: INodeBakeProjProperties
新しい INodeBakeProjProperties インタフェースでは、新しい Projection: モディファイヤ と Project_Mapping_Holder: モディファイヤ を使用して投影マッピング プロセスを実装できます。
新たに .hitNode メソッドが既存のインタフェースに追加されています。
新たに dragStrLimitMin プロパティと dragStrLimitMax プロパティが既存のインタフェースに追加されています。
.closeDialog メソッドと .isDialogOpen メソッドが新たに既存のインタフェースに追加されています。
新たに .closeDialog メソッドと .isChecked メソッドが既存のインタフェースに追加されています。
新しい[ペイント選択のブラシサイズ](size of the new Paint Selection Brush)オプションのサイズをコントロールする .paintSelBrushSize プロパティが新たに既存のインタフェースに追加されています。
SuspendEditing メソッドと ResumeEditing メソッドが新たに追加されています。
SetCommandPanelTaskMode の構文が変更され、切り替えるパネル名をモード キーワード引数として、または単にメソッドへの引数として指定できるようになりました。
アクティブ ビューポート情報、タイプ、および変換へのアクセス
viewport.isWire() という新しいメソッドが追加されています。
viewport.GetRenderLevel() と viewport.SetRenderLevel() という新しいメソッドが追加されています。
viewport.GetShowEdgeFaces() と viewport.SetShowEdgeFaces() という新しいメソッドが追加されています。
viewport.GetTransparencyLevel() と viewport.SetTransparencyLevel() という新しいメソッドが追加されています。
viewport.GetFOV() という新しいメソッドが追加されています。
viewport.GetScreenScaleFactor() という新しいメソッドが追加されています。
viewport.IsEnabled() という新しいメソッドが追加されています。
[カスタマイズ](Customize) > [基本設定](Preferences) > [一般](General) > [スピナー グループ](Spinner group)で行う操作に相当する、 preferences.spinnerPrecision、preferences.spinnerSnap 、 preferences.useSpinnerSnap という新しいシステムグローバルが追加されています。
[トラック ビュー選択](Track View Pick)ダイアログ ボックス
filter_function という新しいオプションと options: という新しい任意のキーワードが、既存の TrackView.pickTrackDlg 関数に追加されています。
新しい labelOnTop というキーワード オプションが EditText という UI コントロールに追加されています。 true に設定すると、テキスト編集ボックスの上側にキャプションが配置されます。 false に設定されている場合、または省略されている場合、キャプションは編集テキスト ボックスの左に配置されます。
新しい readOnly というキーワード オプションが ListBox という UI コントロールに追加されています。 true に設定すると、ユーザはリストから項目を選ぶことができません。プロパティとしては公開されていません。
新しい autoDisplay というキーワード オプションが Pickbutton という UI コントロールに追加されています。 true に設定すると、選択したオブジェクトの名称が自動的にボタン上に配置されます。
.object プロパティが修正され、未定義でも有効な値の割り当てとして受け入れるようになりました。
.height と width は、これら UI コントロールの読み取り/書き込みプロパティーとして利用できるようになりました。
ComboBox、DropdownList、ListBox の場合、このプロパティは、リスト ウィンドウの高さと幅をピクセル単位で取得/設定します。
ComboBox と Dropdownlist に対し、 height プロパティはテキスト編集ボックスの高さを含んでいません。ComboBox の場合、最小の高さ設定は 0 ピクセルで固定され、DropdownList の場合は 1 ピクセルで固定されます。
ダイアログ ボックスの背景ビットマップの取得と設定を行う、新しい 2 つのメソッドが追加されました。
この新しい macroScript ハンドラでは、isChecked ハンドラとともに、macroScript のオンとオフの切り替えを実装できます。isChecked ハンドラが true を返し、ボタンが再びクリックされると、実行ハンドラの代わりに closeDialogs ハンドラが呼び出されます。
on getDisplayMesh という新しいハンドラーにより、代理オブジェクトの既定ビューポート表示メッシュの代わりにカスタムビューポートメッシュを使用して開発することができます。
Listbox ユーザ インタフェース コントロールは、スクリプト化プラグインで type:#integer パラメータとの有効な関連としてサポートされます。
新しいスーパークラス「SoundClass」が追加されました。既定のサウンド オブジェクト クラスは、このスーパークラスに属します。「Default_Sound」クラスの明示的な宣言が追加されました。
この新しいメソッドは、プロパティがアニメート可能である場合に true を返します。プロパティが見つからないかアニメート可能でない場合は false を返します。
この新しいメソッドは、シーンに存在する特定クラスのすべてのインスタンスの配列を返します。
この新しいメソッドは、ID、名前、カテゴリ、ソース パスなど、インストールされているすべてのマクロスクリプトを Listener に出力します。
値がスクリプトプラグインなのかカスタム アトリビュートのクラスまたはインスタンスなのかをチェックするために、 isMSCustAttrib(), isMSCustAttribClass(), isMSPlugin(), isMSPluginClass() というメソッドが追加されています。
引数が未削除の MAXWrapper をポイントしている場合、 isValidObj という新しいメソッドが真を返します。
getClassName という新しいメソッドがMAXWrapperのクラス名を文字列として返します。
explicitNames という任意の新しいキーワードが、既存の ExprForMaxObject メソッドに追加されています。
immediateOnly という新しいキーワードが refs.dependents メソッドに追加されています。 true の場合、指定されたオブジェクトに直接従属するもののみが返されます。
refs.dependencyLoopTest という新しいメソッドが既存の refs 構造体に追加されています。
3ds Max オブジェクトでのアニメート可能なプロパティへのアクセス
character studio における MAXScript の拡張機能
character studio が 3ds Max 7 の一部になりました。
character studio のモーション Mixer のプロパティとメソッドのマニュアルが追加されました。
単一ボディ パーツか Biped 全体でアニメーションをクリアするメソッドが追加されました。
Biped のロードと保存の関数が拡張され、ロードと保存を行うオブジェクトと subAnim トラックを指定できるようになりました。