2011-01-06 1 views
0

テストプラグインを作成しています。ノードのすべての頂点を取得し、値 "X"のウェルド3dsmax SDK

は、SDKを介してmaxscriptに関数を公開します。

ので、私は次のように入力します MyFunctionを$

はその後、私のコードでは、私がノードを持っています。 今のところ、私はすべての頂点を取得して、それらが "X"に近い場合に溶接しなければならないということです。 ポリモード編集の「溶接」ツールに似ています。

どうすれば前進できますか?

My機能は以下のようになります。

void FixMesh(INode* p_node) 
{ 
    Mesh mesh(p_node); 
    if (mesh.numfaces < 0 && mesh.isTriMesh) 
    { 
     MessageBox(NULL, "This node will not fix, it has no faces.!\nCritical Error!", "Error!", MB_OK|MB_ICONERROR); 
    } 
    else 
    { 
     MessageBox(NULL, "This node will be fixed :)", "Error!", MB_OK|MB_ICONERROR); 
     //What do I do here? 
     //I want to get all vertices, and weld with value "X". 
    } 
} 

答えて

0

あなたが最終的に達成したいものを説明できますか?溶接操作(例えば、maxsdk \ samples \ modifiers \ BasicOps \ vweld.cpp)のためのSDKには、たくさんのソースコードがあります。また、MNMeshまたはEPolyでの頂点溶接の基本機能もあります。 MeshDeltaクラスには、距離しきい値で溶接できるメンバー関数もあります。

+0

ここが問題です。値がX以内のすべてのオブジェクトの頂点を溶接するスクリプトがあります。私たちは大規模なシーンでそれを使用します。今私が持っているのは、私自身の機能を公開するプラグインなので、同じことをしたいのですが、プラグインで行います。この "MyWeldFunction $ value"のような関数を呼び出すと、オブジェクトを取得し、値内のすべての頂点を選択して溶接します。私はmaxscriptでそれを行うことができることを知っていますが、私はどのくらい良いパフォーマンスを得るかを見たいと思います。 –

関連する問題