3dmax ツール開発

仕事の必要性のために、私はいくつかの 3dmax 関連のスクリプトを学びました。ここでそれらを整理します。

1. ソフトウェア アーキテクチャとクラス ビュー3dmax ソフトウェア アーキテクチャ

クラス ビュー

2. 言語選択

1) maxScrpit: 3dmax の公式言語。
2) python: maxScript の公式関数が python に統合されました。
3) C++: SDK 言語で、より効率的で幅広い機能を備えています。ただし、max をより深く理解する必要があります。

初めての学習では、もちろん maxScript と python から選択しました。Python のサポート範囲は広く、他の DCC ソフトウェアも Python を使用して開発される予定です。maxScript api は、初期開発に適しています。言語は大差ないので、より汎用性の高いpythonは考慮していません。

3. 言語関連

1) maxScript は上から下にコンパイルされる言語なので、コンパイル順序に注意する必要があります
2) 添字は 1 から始まります
3) maxScript はオブジェクト指向言語でもあります
4) 大文字と小文字を区別しません
5)
これらの自動 GC

4. 特定物関連

MaxWrapper (すべてのオブジェクト タイプの基本タイプ): 値 (すべてのタイプのルート タイプ)

モディファイヤ : MAXWrapper および SpacewarpModifier

Displace_Mesh : SpacewarpModifier

ノード :MAXWrapper

MaxWrapper : カテゴリ (クラス名)、.classes 配列、読み取り専用、classId、superClassID、creatable、localizedName、nonLocalizedName、dllName (プラグインによって生成されたクラスの場合)、copy と addModifier と isValidObj と isDeleted と getClassName と disable /enableRefMsgs( すべてのオブジェクトにメソッドがあります)、refs、notifydependents (コントローラーの更新を通知)
よく使用されるマテリアル、テクスチャ マップ、サウンドなどは、この基本クラスから派生します。

ノード : 共通属性 name、transform、pivot、material、pos/scale/rot、dir(z)、isSelected、target(node) シーン
オブジェクト、ライト、カメラ、GeometryClass、形状などを派生できます。

モディファイア: モディファイア、一般的に使用されるグリッド、UV、アニメーションなどはすべて、このモディファイア ベース クラスから派生します。

特別なタイプのモディファイヤである SpacewarpModifier は、2 つのタイプに分けられます。1 は spaceWrap ノードに直接バインドされたモディファイヤであり、2 は直接作成され、他のモディファイヤ SpaceCameraMap、SpacePathDeform、
この基底クラスから派生した SpaceSurfDeform など

5.コードリスナー

maxScript は、実行されたロジックのほとんどをリッスンし、関連するコードを出力できるため、開発者の困難が大幅に軽減されます。

6. VisualScript エディター

UI関連の適応コードを自動生成

7.機能

1) 3dmax のほとんどの機能は書き換え可能
2) プラグイン機能は監視/変更できない
3) これまでに判明したことは、モディファイヤ内のデフォーマ機能の変更が監視できないことです

8. プラグイン

1) 3dmax 自体はかなりの数のプラグインを持っているので、類似のプラグインが市場に出回っているかどうかをまずチェックすることができます 2
) プラグインは基本的にクローズド ソースです (私が最初に学習を始めたとき、美術の同級生は、すべてのプラグインはオープン ソースです..)
3) Max スクリプトの開発は、アートの作業効率を大幅に向上させることができます。

おすすめ

転載: blog.csdn.net/qq_28976599/article/details/126124596