3ds Max 7 MAXScript の新機能

このページでは、3ds Max 7 の MAXScript 言語の変更と改良点について簡単にその概要を説明します。各機能の詳細については、ドキュメントの各ページのリンクをお読みください。

ジオメトリ

Editable_Poly プロパティ

新しいプロパティが Editable_Poly ジオメトリ クラスに追加され、Paint Soft Selections 機能と Paint Deformations 機能にアクセスできるようになりました。

インタフェース : EditablePoly

新しい メソッドが EditablePoly インタフェースに追加され、Bridge 機能、MakePlanarIn 機能、Relax 機能にアクセスできるようになりました。

Editable_Mesh : GeometryClass および TriMesh : 値

新しい メッシュ(mesh): 作図パラメータがメッシュ コンストラクタに追加され、既存の TriMesh 値から Editable_Mesh オブジェクトを作成できるようになりました。

NURBSCurveshape : Shape

次のパラメータへのアクセスが追加されました。 #angle、#renderable、#mapCoords、#thickness、#sides、#viewport_thickness、#viewport_sides、#viewport_angle、#displayRenderMesh、#useViewportSettings、#displayRenderSettings

ヘルパー

ExposeTm: ヘルパー

この新しいヘルパーは、スクリプト コントローラやワイヤ コントローラなどの入力として使用する位置データと回転データを、シーン ノードから抽出するときに使用します。 この機能を利用すると、カスタム アニメーションを簡単に作成できるようになります。

モディファイヤ

Edit_Poly : モディファイヤ

新しい Edit_Poly モディファイヤでは、編集可能ポリゴン モデリング ツールをモディファイヤに実装してスタックに追加できます。また、非破壊編集とアニメーションが可能になりました。

EmptyModifier: モディファイヤ

EmptyModifier の以前の実装が置き換わりました。EmptyModifier は EmptyModifier_Old になりました。カスタム アトリビュート ホルダーとして使用できます。

Poly_Select: modifier

ソフト選択ペイントをコントロールする 新しいプロパティが、既存のモディファイヤに追加されました。

Projection : モディファイヤ

Project_Mapping_Holder: モディファイヤ

Project_Mapping : ReferenceTarget

新しい投影モディファイヤでは、法線マップのベイク処理に必要な高解像度メッシュと低解像度メッシュ間の UVW 座標のコピーができるようになりました。

Renderable_Spline : モディファイヤ

新しい Renderable_Spline モディファイヤでは、レンダラーとビューポートでスプラインをメッシュに変換する手順が用意されています。3ds Max とその他の Autodesk 製品間でデータを転送する場合にも使用します。

Skin_Morph: Modifier

新しい Skin_Morph モディファイヤ...

Skin_Wrap : モディファイヤ

新しい Skin_Wrap モディファイヤ

Skin_Wrap_Patch : モディファイヤ

新しい Skin_Wrap_Patch モディファイヤ...

ターボスムーズ: モディファイヤ

新しい TurboSmooth モディファイヤは、最適化された非常に高速なサブディビジョン モディファイヤです。

Unwrap_UVW : モディファイヤ

新しい Unwrap_UVW インタフェースでは、エディタとビューポートにおける開いたエッジの表示、マテリアル ID によるマップのフラット化、選択した面のジオメトリと UVW 領域計算へのアクセス、相対入力モードと絶対入力モード、エディタのマップ リストへのマップの追加など、Unwrap_UVW モディファイヤをコントロールする別の方法が提供されます。

VertexPaint : モディファイヤ

新しい .radiosityOption プロパティが既存のモディファイヤに追加されました。

カスタム アトリビュート

MSCustAttribDef クラス

新しいプロパティ .isPB2Based、isMSPluginClass 、および .isMSCustAttribClass がカスタム アトリビュート定義クラスに追加されました。

custAttributes.GetOwner_method

新しい custAttributes.getOwner メソッドは、カスタム アトリビュートが適用されるオブジェクトを返します。

インタフェース: custAttribCollapseManager

この新しいインタフェースでは、カスタム アトリビュートにモディファイヤ スタックの集約を残すかどうかをコントロールします。

マテリアルとテクスチャ マップ

Camera_Map_Per_Pixel : textureMap

新しいピクセルごとのカメラ マッピング テクスチャ マップでは、あらゆる表示角度のジオメトリで正確な結果が得られます。

DirectX_9_Shader : Material

新しいプロパティ .lightDir、.k_a、.k_d、.k_s、.n が既存の DirectX_9_Shader マテリアルに追加されました。一部の古いプロパティはマテリアルから削除されました。

新しいメソッドが既存の DirectX_9_Shader マテリアルに追加されました。

ViewportManagerCustAttrib : CustAttrib

DirectX 標準マテリアル シェーダをコントロールして FX ファイルを保存する新しい プロパティと メソッドが、既存の ViewportManagerCustAttrib クラスとそのインタフェースに追加されました。

Normal_Bump : textureMap

新しい Normal_Bump テクスチャ マップは、ベイク処理した法線マップのホストとして使用します。

Ambient_Reflective_Occlusion__3dsmax : textureMap

新しい mental ray テクスチャ マップ

要素のベイク処理

HeightMap : BakeElement

新しい HeightMap BakeElement を使用すると、高さマップ テクスチャにジオメトリをベイク処理できます。

NormalsMap : BakeElement

既存の BakeElement に追加された 2 つの新しいプロパティは、 useHeightAsAlpha 、および useNormalBump です。

mental ray

mental_ray_Shadow_Map : Shadow

3ds Max 7 で正式にサポートされている既存シェーダに、新しいプロパティが追加されました。

mental_ray_renderer : RendererClass

既存のレンダラー クラスに新しいプロパティが追加され、一部の古いプロパティが削除されました。

サブサーフェス スキャッタリング - mental ray シェーダ

物理的に正確で高速なサブサーフェス スキャッタリング (SSS) を実装した 新しい シェーダが追加されました。このクラスが MAXScript で正式にサポートされていないことに注意してください

ユーティリティ プラグイン

Object_Display_Culling : UtilityPlugin

ビューに依存するオブジェクトの非表示によって、ビューポートでユーザが定義したフレーム レートを維持する、新しいユーティリティ プラグイン。最適表示システム機能は3ds Max 2009 で置き換えられました。

コールバック

#nodeNameSet

この新しいコールバックは、シーン ノード名の設定か変更が行われたときに送信されます。 #nodeRenamed コールバックよりも、このコールバック タイプを使用する方が信頼性があります。 callbacks.notificationParam() では、変更前の名前、変更後の名前、ノードという 3 つの要素からなる配列を返します。

callbacks.notificationParam()

callbacks.notificationParam() では、レンダリング プリセット ファイルが開いているか、あるいは未定義の場合に、2 という整数を返すようになりました。

トラックバー インタフェース

トラックバー キー フィルタ関数の登録と管理を行う、新しいメソッドが追加されました。

次の 2 つの新しいトピックを参照してください。

トラックバー フィルタ コールバック関数の確認

トラックバー フィルタ コールバック関数の例

このトピックでは、機能および可能なカスタム フィルタ関数について説明します。

インタフェース

インタフェース: FrameTagManager

新しい FrameTagManager インタフェースでは、時間タグ機能にアクセスできます。 

インタフェース: ParamCollectorOps

新しい ParamCollectorOps インタフェースでは、[パラメータ コレクタ](Parameter Collector )ダイアログ ボックスにアクセスできます。

インタフェース: reactionMgr

新しい reactionMgr インタフェースでは、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスにアクセスできます。

インタフェース : walkThroughOps

新しい walkThroughOps インタフェースでは、ウォークスルー ビューポート ナビゲーション モードにアクセスできます。

インタフェース: INodeBakeProjProperties

新しい INodeBakeProjProperties インタフェースでは、新しい Projection: モディファイヤProject_Mapping_Holder: モディファイヤ を使用して投影マッピング プロセスを実装できます。

インタフェース: thePainterInterface

新たに .hitNode メソッドが既存のインタフェースに追加されています。

新たに dragStrLimitMin プロパティと dragStrLimitMax プロパティが既存のインタフェースに追加されています。

インタフェース: LayerManager

.closeDialog メソッドと .isDialogOpen メソッドが新たに既存のインタフェースに追加されています。

インタフェース: ChannelInfo

新たに .closeDialog メソッドと .isChecked メソッドが既存のインタフェースに追加されています。

インタフェース: maxOps

新しい[ペイント選択のブラシサイズ](size of the new Paint Selection Brush)オプションのサイズをコントロールする .paintSelBrushSize プロパティが新たに既存のインタフェースに追加されています。

deleteSelectedAnimation() メソッドが新たに既存のインタフェースに追加されています。

コマンド パネル

コマンド パネル

SuspendEditing メソッドと ResumeEditing メソッドが新たに追加されています。

SetCommandPanelTaskMode の構文が変更され、切り替えるパネル名をモード キーワード引数として、または単にメソッドへの引数として指定できるようになりました。

ビューポート

アクティブ ビューポート情報、タイプ、および変換へのアクセス

viewport.isWire() という新しいメソッドが追加されています。

viewport.GetRenderLevel() と viewport.SetRenderLevel() という新しいメソッドが追加されています。

viewport.GetShowEdgeFaces() と viewport.SetShowEdgeFaces() という新しいメソッドが追加されています。

viewport.GetTransparencyLevel() と viewport.SetTransparencyLevel() という新しいメソッドが追加されています。

viewport.GetFOV() という新しいメソッドが追加されています。

viewport.GetScreenScaleFactor() という新しいメソッドが追加されています。

viewport.IsEnabled() という新しいメソッドが追加されています。

viewport.IsPerspView() という新しいメソッドが追加されています。

viewport.DispBkgImage という新しいシステム グローバルが追加されています。

スナップ

snapMode

多くの新しいプロパティが既存の Struct に追加され、スナップ オプションと結果に完全にアクセスできるようになりました。

基本設定

3ds Max システム グローバル

[カスタマイズ](Customize) > [基本設定](Preferences) > [一般](General) > [スピナー グループ](Spinner group)で行う操作に相当する、 preferences.spinnerPrecision、preferences.spinnerSnap preferences.useSpinnerSnap という新しいシステムグローバルが追加されています。

[トラック ビュー選択](Track View Pick)ダイアログ ボックス

[トラック ビュー選択](Track View Pick)ダイアログ ボックス

filter_function という新しいオプションと options: という新しい任意のキーワードが、既存の TrackView.pickTrackDlg 関数に追加されています。

ユーザ インタフェース コントロール

Edittext

新しい labelOnTop というキーワード オプションが EditText という UI コントロールに追加されています。 true に設定すると、テキスト編集ボックスの上側にキャプションが配置されます。 false に設定されている場合、または省略されている場合、キャプションは編集テキスト ボックスの左に配置されます。

Listbox

新しい readOnly というキーワード オプションが ListBox という UI コントロールに追加されています。 true に設定すると、ユーザはリストから項目を選ぶことができません。プロパティとしては公開されていません。

Pickbutton

新しい autoDisplay というキーワード オプションが Pickbutton という UI コントロールに追加されています。 true に設定すると、選択したオブジェクトの名称が自動的にボタン上に配置されます。

.object プロパティが修正され、未定義でも有効な値の割り当てとして受け入れるようになりました。

Edittext

combobox

Dropdownlist

Listbox

ビットマップ

.height width は、これら UI コントロールの読み取り/書き込みプロパティーとして利用できるようになりました。

ComboBox、DropdownList、ListBox の場合、このプロパティは、リスト ウィンドウの高さと幅をピクセル単位で取得/設定します。

注:

構造体パラメータとしての height は、テキスト行での高さを指定することに注意してください。

ComboBoxDropdownlist に対し、 height プロパティはテキスト編集ボックスの高さを含んでいません。ComboBox の場合、最小の高さ設定は 0 ピクセルで固定され、DropdownList の場合は 1 ピクセルで固定されます。

CreateDialog

ダイアログ ボックスの背景ビットマップの取得と設定を行う、新しい 2 つのメソッドが追加されました。

ユーティリティおよびロールアウトのプロパティ、メソッド、およびイベント ハンドラ

新しい .isDisplayed という読み取り専用プロパティーが、ロールアウトに追加されています。.

MacroScript ハンドラ

closeDialogs MacroScript ハンドラ

この新しい macroScript ハンドラでは、isChecked ハンドラとともに、macroScript のオンとオフの切り替えを実装できます。isChecked ハンドラが true を返し、ボタンが再びクリックされると、実行ハンドラの代わりに closeDialogs ハンドラが呼び出されます。

スクリプト プラグイン

スクリプト Camera

スクリプト ヘルパー プラグイン

on getDisplayMesh という新しいハンドラーにより、代理オブジェクトの既定ビューポート表示メッシュの代わりにカスタムビューポートメッシュを使用して開発することができます。

スクリプト プラグイン句

Listbox ユーザ インタフェース コントロールは、スクリプト化プラグインで type:#integer パラメータとの有効な関連としてサポートされます。

SuperClasses

新しいスーパークラス「SoundClass」が追加されました。既定のサウンド オブジェクト クラスは、このスーパークラスに属します。「Default_Sound」クラスの明示的な宣言が追加されました。

クラスとオブジェクトの調査関数

isPropertyAnimatable

この新しいメソッドは、プロパティがアニメート可能である場合に true を返します。プロパティが見つからないかアニメート可能でない場合は false を返します。

getClassInstances

この新しいメソッドは、シーンに存在する特定クラスのすべてのインスタンスの配列を返します。

macros.List()

この新しいメソッドは、ID、名前、カテゴリ、ソース パスなど、インストールされているすべてのマクロスクリプトを Listener に出力します。

値の共通プロパティ、演算子、メソッド

値がスクリプトプラグインなのかカスタム アトリビュートのクラスまたはインスタンスなのかをチェックするために、 isMSCustAttrib(), isMSCustAttribClass(), isMSPlugin(), isMSPluginClass() というメソッドが追加されています。

MAXWrapper

MAXWrapper の共通プロパティ、演算子、メソッド

引数が未削除の MAXWrapper をポイントしている場合、 isValidObj という新しいメソッドが真を返します。

getClassName という新しいメソッドがMAXWrapperのクラス名を文字列として返します。

explicitNames という任意の新しいキーワードが、既存の ExprForMaxObject メソッドに追加されています。

immediateOnly という新しいキーワードが refs.dependents メソッドに追加されています。 true の場合、指定されたオブジェクトに直接従属するもののみが返されます。

refs.dependencyLoopTest という新しいメソッドが既存の refs 構造体に追加されています。

3ds Max オブジェクトでのアニメート可能なプロパティへのアクセス

新しい . name という読み取り専用プロパティーが SubAnim クラスに追加されています。

asString という任意の新しいキーワードが、既存の getSubAnimName メソッドに追加されています。

TheHold

TheHold

getSuperLevel というメソッドが新たに追加されています。

その他の関数

getMaxWindowPos

この新しいメソッドは、デスクトップの左上隅を基準にして 3ds Max ウィンドウの位置を返します。

character studio の拡張機能

character studio における MAXScript の拡張機能

character studio が 3ds Max 7 の一部になりました。

Mixer MAXScript の拡張機能

character studio のモーション Mixer のプロパティとメソッドのマニュアルが追加されました。

Biped アニメーションの操作とクリア

単一ボディ パーツか Biped 全体でアニメーションをクリアするメソッドが追加されました。

Biped IK キーの設定およびリセット

IK アクセスに関連するメソッドが追加されました。

Biped のその他のメソッド

一般的な Biped 関連メソッドが追加されました。

Biped のロードと保存

Biped のロードと保存の関数が拡張され、ロードと保存を行うオブジェクトと subAnim トラックを指定できるようになりました。

関連事項