3ds Max 2015 の MaxScript の新機能

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

3ds Max の新機能の公開

新しいジオメトリ クラス

Seat: GeometryClass が Populate ツールセットに新しく追加されました。

新しい PointCloud: GeometryClass3ds Max にポイント クラウド ロードを実装します。

新しい四角形面取りモディファイヤと編集可能ポリゴンの面取りオプション

オプションの四角形面取りモードを持つ新しい Chamfer: モディファイヤ が追加されました。

四角形面取りオプション: .edgeChamferSmooth.edgeChamferSmoothThreshold.edgeChamferSmoothType.edgeChamferType.edgeChamferTension、 および .edgeChamferInvert を公開するために、既存の Editable_Poly クラスに新しいプロパティがいくつか追加されました。

新しい iray レンダリング要素

新しい Custom_LPE: RenderElement を使用して、iray レンダラーからカスタムのライトパス式(LPE)を出力することができます。

新しい Light__Area: RenderElement は、iray レンダラーからエリア ライト LPE を出力します。

新しい Light__Environment: RenderElement は、iray レンダラーから環境ライト LPE を出力します。

新しい Light__Point: RenderElement は、iray レンダラーからポイント ライト LPE を出力します。

新しい Mtl__Caustics: RenderElement を使用して、iray レンダラーからコースティックス LPE を出力できます。

新しい Mtl__Diffuse : RenderElement を使用して、iray レンダラーから拡散反射光 LPE を出力できます。

新しい Mtl__Reflections: RenderElement を使用して、iray レンダラーから反射 LPE を出力できます。

新しい Mtl__Self_Illumination : RenderElement を使用して、iray レンダラーから自己照明 LPE を出力できます。

新しい Mtl__Translucency: RenderElement を使用して、iray レンダラーからトランスルーセント LPE を出力できます。

新しい Mtl__Transparency : RenderElement を使用して、iray レンダラーから透明度 LPE を出力できます。

新しい UtilityPlugin クラス

PythonHost : UtilityPlugin が新しく追加されましたが、UI コントロール、プロパティ、メソッドは公開されていません。 実際のプロパティとメソッドへのアクセスについては、「python コア インタフェース」を参照してください。

新しい Placement_Utility: UtilityPlugin は内部使用のみで、プロパティ、メソッドまたは UI コントロールを公開しません。 新しく統合された配置ツールに関連する実際のプロパティとメソッドについては、「PlacementTool コア インタフェース」を参照してください。

新しいコア インタフェース

新しい nodeSelectionSet コア インタフェースは、表示とレンダリング制御目的でノード選択セットを作成するためのシステムを提供します。

新しい PlacementTool コア インタフェースは、MAXScript に配置ツールのコントロールおよび機能を公開します。 シーン ジオメトリのサーフェスに、オブジェクトをインタラクティブにまたはスクリプトで配置できます。

新しい python コア インタフェースは、MAXScript に Python エンジンのコントロールを公開します。

新しい iray_string_options コア インタフェースは、MAXScript に iray レンダラーの追加の文字列コントロールを公開します。

新しい MaterialPreviewSystem コア インタフェースは内部使用に限定されます。

3ds Max ユーザ インタフェースを操作するための新しい関数

3ds Max Assert の表示およびログに関連する新しい関数セット: SetMaxAssertDisplay()GetMaxAssertLogFileName()SetMaxAssertLogFileName() を追加

 ActiveShade ビットマップにアクセスするための新しい関数: GetActiveShadeBitmap() を追加

ActiveShade ウィンドウを閉じるための新しい関数: CloseActiveShade() を追加

レンダリング要素に関連する関数 の新しいセット: ElementFileDialog()ElementGetCustomGamma()ElementSetCustomGamma()ElementGetMetaData()、および ElementSetMetaData() が追加されました。

ようこそ画面に関連する関数 の新しいセット: WelcomeScreenLastTabShown()WelcomeScreenLaunchCount()WelcomeScreenShowAtStartup() が追加されました。

新しいポイント クラウド mental ray シェーダ

新しい Autodesk_Point_Cloud_Generator: textureMap は、mental ray レンダラーにポイント クラウドを生成します。

新しい Autodesk_Point_Cloud_Material: material は、mental ray レンダラーにポイント クラウド マテリアルを実装します。

新しい Autodesk_Point_Cloud_Base_Shader: textureMap ベースのシェーダは、mental ray でポイント クラウド パーティクルをレンダーするために使用されます。

新しい Autodesk_Point_Cloud_Shader: textureMap は、mental ray レンダラーのポイント クラウド テクスチャ マップを実装します。

既存の 3ds Max の強化機能

CAT インタフェースおよびプロパティの変更点

既存の ICATControlFPInterface で、PasteRig() メソッドが最初の引数として <controller> ではなく <maxObject> を必要とするようになりました。

既存の CATNodeControlFPInterface では、設定およびアニメーション時のコントロールを分けるために、.Stretchy プロパティが 2 つの新しいプロパティによって置き換えられました。

既存の CATNodeControlFPInterface で、.AnimModeInheritance プロパティの名前が .AnimationModeInheritance に変更されました。

既存の CATNodeControlFPInterface で、既存の AddArbBone() メソッドおよび CreateLayerMatrix3() メソッドがオプションキーワード AsNewGroup: を受け入れるようになりました。

既存の LayerRootFPInterface に、レイヤ カラーの取得および設定を可能にする GetLayerColor() メソッドと SetLayerColor() メソッドが新しく追加されました。

TailTrans: Matrix3Controller から .BoneID プロパティが削除されました。

pop インタフェースの変更点

既存の pop インタフェース に、.TurnOpt.SeatMaxTalkAngle.SeatMaxTalkDist.SeatMaxTalkAngle プロパティが新しく追加されました。

既存の pop インタフェース に待機中、歩行中、着席中のキャラクタをコントロールする pop.NumStandingIdlers()pop.NumPedestrians()pop.GetStandingIdler()pop.GetPedestrian()pop.NumSeatedIdlers()pop.GetSeatedIdler()pop.AddSeat()pop.SetSelectedSeatsGender() メソッドが新しく追加されました。

既存の pop インタフェース に待機中、歩行中、着席中のキャラクタをコントロールする pop.ResimulateSelected()pop.RegenerateSelected()pop.DisplayMarks()pop.ShowAppearanceUI()pop.SwapSelPeopleAppearance()pop.DeleteSelPeople()pop.SwitchSelPeoplePos()pop.BakeSelPeople()pop.SaveTextureMaps() メソッドが新しく追加されました。

#HighSkin オプションは、pop インタフェース.DisplayType プロパティから削除されました。

パーティクル フローの変更点

既存の particleFlow グローバル インタフェースに 2 つのメソッド、setNodeEditorDisplayFlags() および forceRedrawParticleView() が新しく追加されました。

既存の Test_Icon object に新しい .Enable_By_Switch プロパティが追加されました。

既存の Test_Iconオブジェクトから .Disable_By_Dependency プロパティが削除されました。

旧バージョンでは、MAXScript に公開され、内部使用に限定されていた、クラス Viewport_Render : Helper が削除されました。

RetimerMan インタフェースの変更点

既存の RetimerMan インタフェースの .numRetimers プロパティが、インデックスから整数タイプに変更されました。

既存の RetimerMan インタフェースに IsGlobalRetimerActive()ApplyGlobalRetimer()RemoveGlobalRetimer()GetActiveRetimerCtrl()AddToRetimer()SetUpRetimers()RemoveRetimers()BakeRetimers()FindNodesDependentOnRetimer()GetGlobalRetimerControl() メソッドが新しく追加されました。

LayerManager インタフェースの変更点

既存の LayerManager インタフェース に新しく追加された layerPropDialog() メソッドを使用すると、任意の数のレイヤについて[レイヤのプロパティ](Layer Properties)ダイアログを開くことができます。

既存の LayerProperties Mixin インタフェース にネストされたレイヤをサポートするためのメソッド: getParent()setParent()getChild()getNumChildren() が新しく追加されました。

NitrousGraphicsManager インタフェースの変更点

既存の NitrousGraphicsManager インタフェース に 2 つのプロパティ .HardwareHitTestEnabled および .AntialiasingQuality が新しく追加されました。

既存の NitrousGraphicsManager インタフェース に 2 つのテクスチャ コントロール メソッド SetProceduralTextureSizeLimit() および ForceDisableMipMapGeneration() が新しく追加されました。

既存の NitrousGraphicsManager インタフェース にビュー グラフ メソッド SaveViewGraph()LoadViewGraph()UnloadViewGraph() が新しく追加されました。

SceneExplorerManager インタフェースの変更点

既存の SceneExplorerManager インタフェースにメソッド GetExplorer()CreateLayerManager()GetActiveExplorer()IsDefaultLayer()SetActiveExplorer() が新しく追加されました。

skinOps 構造体の変更

2 つの新しいメソッド、skinOps.GetBoneIDByListID() および skinOps.GetListIDByBoneID() が既存の SkinOps Struct に追加されました。

skinOps.GetBoneNameByListID() メソッドは SkinOps Struct から削除されました。

メッシュ編集の変更

既存の setNormal() メッシュ頂点メソッド は、メッシュ上のカスタムデータを保持するために、明示的な法線の設定に変更されました。

INode インタフェースの変更点

新しいプロパティ .isSceneXRefNode が既存の INode インタフェース に追加されました。

MSCustAttribDef クラスの変更

MSPluginClass に新しい .version プロパティが追加されました。MSCustAttribDef はそこから派生し、カスタムアトリビュート定義.version プロパティを効果的に公開します。

windows 構造体の変更点

Windows デスクトップ、3ds Max メイン ウィンドウ、ビューポートまたはその HWND による他のウィンドウなど、指定したウィンドウのスナップ ショットのイメージを作成する、新しいメソッド windows.snapshot() が既存の windows 構造体 に追加されました。

ビューポート構造体の変更点

既存の ビューポート構造体 にビューポートの Windows ハンドルを取得するためのメソッド viewport.getHWnd() が新しく追加されました。

任意のビューポート インデックス、viewPanel インデックス、アルファ チャンルのサポートおよびガンマ補正のために、ビューポート構造体の既存の viewport.getViewportDIB() メソッドが拡張されました。

ビューポート描画メソッド: gw 構造体の変更

オプションのアルファ チャンルのサポートおよびガンマ補正のために、既存の gw Struct の既存の gw.getViewportDIB() メソッドが拡張されました。

既存の gw Struct の既存の gw.text()gw.htext() および gw.wtext() メソッドが、新しい線分を \n エスケープシーケンスを使用して導入するマルチ テキストをサポートするように改善されました。

新しい MacroScript イベント ハンドラ

新しい on isIndeterminate do ハンドラは、True を返して、MacroScript メニュー項目をメニューおよび QuadMenus に水平ダッシュ(不確定チェックマークを示す)として表示できます。

新しいアニメート可能選択関数

新しい pickAnimatable() 関数は、既存の pickObject() 関数に似ていますが、3D ビューポート、Explorer、スケマティク ビューまたはトラック ビューからアニメート可能なトラックを選択できます。

新しいビットマップ値の機能と拡張機能

新しい forceReloadBitmapFile() 関数を使用すると、ビットマップ値 を持つファイルを再ロードすることができます。

新しい registerFileChangedFunction() 関数を使用すると、ビットマップ値 を持つビットマップ ファイルがディスク上で変更されたときに関数を実行するコールバックを登録することができます。

新しいオプションのキーワード引数 caption: が、ビットマップ値 に関連する既存の display() 関数に追加され、VFB のタイトルバーに、カスタムのキャプション文字列を表示できるようになりました。

新しい RefTargContainer ReferenceTarget

新しい RefTargContainer: ReferenceTarget が追加されました。

bsearch の機能拡張

既存の bsearch() 関数に新しく追加されたオプションの index: 参照引数キーワードにより、検索された項目のインデックスにアクセスすることができます。

永続グローバル変数の強化

存続グローバル変数 値として保存およびロードする IntegerPtr のサポートが追加されました。 以前の 3ds Max バージョンに保存する場合、IntegerPtr 値が Integer64 として保存されます。次のドキュメントの修正点も参照してください。

UI と[Esc]キーの扱い

editText コントロール のテキストを編集中に[Esc]キーを押すと、フォーカスがコントロールの親ウィンドウに移動します。

escapeEnable: キーワード引数が False に設定されている場合、createDialog() を使用して作成したモーダル ダイアログで [ESC] キーを押すとダイアログが閉じます。 これはドキュメントに記載されていましたが、旧バージョンでは実装されていませんでした。

削除された機能

OldBoolean

非表示にされ、90 年代半ばに保存された古い .max シーン ファイルにのみ使用された OldBoolean : GeometryClass クラスは削除されました。

XML マテリアルの書き出し

マテリアルを VIZrender 付きの Architectural Desktop 2004 で使用するために手動で XML 形式に書き出すために使用された、Material_XML_Exporter: UtilityPlugin は削除されました。

マテリアルを VIZrender 付きの Architectural Desktop 2004 で使用するために MAXScript を使用して XML 形式に書き出すために使用された、Interface: XMLMaterial は削除されました。

ドキュメントの修正点

永続グローバル変数 によってサポートされる値タイプのリストは、Integer64、IntegerPtr、Double、Point4 などを含む、MAXScript の元の実装から、すべての新しい値のタイプを含めるように更新されました。 また、リストが一目で簡単に検索できるようにアルファベット順にソートされています。

getMaxFileVersionData() 関数は、もとは 3ds Max 2013 で導入されていました。 ファイルを生成した 3ds Maxのバージョンを含む、.max シーン ファイルのバージョンにアクセスできます。 実際のバージョン情報は、3ds Max 2010 以降で保存したファイルにあります。