meshOp Structにより公開されている次のメソッドは、メッシュ頂点に対する高度なアクセスを提供します。
メッシュの頂点の数を設定します。新しい頂点は、メッシュのローカル座標系の[0,0,0]に作成されます。
指定された頂点の位置を返します。<mesh> がノードの場合、または <mesh> が編集可能メッシュあるいはメッシュ値で、 node: が指定されている場合、返される位置は現在の座標系コンテキストにあります。<mesh> が編集可能メッシュまたはメッシュ値で、 node: が指定されていない場合、戻り値はメッシュのローカル座標系にあります。
指定された頂点を指定された位置に移動します。<mesh> がノードの場合、または <mesh> が編集可能メッシュあるいはメッシュ値で、 node: が指定されている場合、位置は現在の座標系コンテキストにあります。<mesh> が編集可能メッシュまたはメッシュ値で、 node: が指定されていない場合、位置はメッシュのローカル座標系にあります。
オプションで位置を配列として指定できます。この場合、pos_array の値の数が vertlist で指定された頂点の数と一致している必要があります。
アニメーションのコンテキストがオン、または[オート キー](AutoKey)ボタンにチェックが付いた状態で実行された場合、編集可能メッシュの頂点にアニメーション キーが作成されます。これは、3ds Max 2 から使用できるオリジナルの setVert() 頂点メソッドには当てはまりません。
3ds Max 2008 以降で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
このメソッドは、頂点が存在する各面におけるこの頂点のコーナーの角度の合計を、頂点ごとに計算します。
たとえば、グリッドの中心に配置されているポイントは、常に 2*Pi (6.28319 ラディアン = 360 度)の頂点角度になりますが、ボックスのコーナーは 3.0/2*Pi (4.71239 ラディアン = 270 度)になります。
size=(mesh 内の #vertices)の配列を返します。<vertlist> で指定されていない頂点の配列要素には、値 0 が含まれます。
meshop.getVertsByColor <Mesh mesh> <color color> <float red_thresh> <float green_thresh> <float blue_thresh> channel:<int=0>
頂点カラーがカラー範囲内にある頂点を <bitarray> として返します。値の範囲は 0 から 255 です。
meshop.getVertsByColor <Mesh mesh> <point3 uvw> <Float u_thresh> <Float v_thresh> <Float w_thresh> channel: <int=0>
頂点 UVW が UVW 範囲内にある頂点を <bitarray> として返します。値の範囲は 0 から 1 です。
<vertlist> 内の各頂点に対して、N-1 個の新しい頂点が同じ位置に作成されます。N はその頂点を使用する面の数です。
delete: が true の場合、面はデタッチ後に削除されます。
delete: が false の場合、面は削除されません。
asMesh: が true の場合、面はデタッチされ、メッシュ値として返されます。
非表示のすべての頂点に設定されているビットで、size=(mesh 内の #vertices)の BitArray を返します。
指定された頂点を非表示にして、指定されていない頂点を表示するように設定します。
面で使用されないすべての頂点に設定されているビットで、size=(mesh 内の #vertices)の BitArray を返します。
<vertIndex> から <vertlist> で指定された頂点までの最小距離を返します。
この関数は、選択された頂点(<vertlist> で指定された頂点)から選択されていない頂点までの距離をエッジ パスに沿って計算します。size=(mesh 内の #vertices)の配列を返します。選択がない場合、この配列の各要素は -1 に設定されます。選択がある場合、配列要素値は 0 に設定されます。選択されていない頂点が <iterations> の場合、または選択された頂点から離れた少数のエッジの場合は、選択された頂点への最短のエッジ パス距離が割り当てられます。選択されていない頂点が <iterations> エッジよりも離れている場合は、-1 に設定されます。<iterations> が 0 の場合、トポロジに関係なく、各頂点から最も近くで選択されている頂点までの距離が計算されます。この計算は負荷が大きいアルゴリズムです。この計算では、処理する頂点の数が 2 倍になると 4 倍の時間がかかります。<iterations> が 0 以外の場合、最も近くの選択頂点を見つけるために通過しなければならないエッジの数を表します。つまり、2 倍の頂点数を処理するのに 2 倍の時間で済みます。これは、[ソフト選択](Soft Selection)ダイアログ ボックスの[エッジの距離](Edge Distance)パラメータに似ています。
meshop.moveVert <Mesh mesh> <vertlist> {<point3 offset> | <point3 offset_array>} node:<node=unsupplied> useSoftSel:<bool>
<mesh> がノードの場合、または <mesh> が編集可能メッシュあるいはメッシュ値で、 node: が指定されている場合、オフセットは現在の座標系コンテキストにあります。
<mesh> が編集可能メッシュまたはメッシュ値で、 node: が指定されていない場合、オフセットはメッシュのローカル座標系にあります。
3ds Max 2008 以降では、このメソッドに配列として位置を指定できるようになりました。この場合、pos_array の値の数が vertlist で指定された頂点の数と一致している必要があります。この機能は、従来、Avguard 機能拡張の一部でした。
useSoftSel: が true であり、かつメッシュのソフト選択データ チャネルが存在する場合は、指定されたオフセットに頂点のソフト選択値が乗算されます。
meshop.moveVertsToPlane <Mesh mesh> <vertlist> <point3 normal> <float offset> node:<node=unsupplied>
指定された頂点を指定された平面に移動します。ターゲット平面とは、DotProd'd に N を使用する場合に、指定オフセットを返すすべてのポイントのことです。
<mesh> がノードの場合、または <mesh> が編集可能メッシュあるいはメッシュ値で、 node: が指定されている場合、法線は現在の座標系コンテキストにあります。
<mesh> が編集可能メッシュまたはメッシュ値で、 node: が指定されていない場合、法線はメッシュのローカル座標系にあります。
名前を meshOp に変更しました。 weldVertSet 。
weldpoint: が指定されている場合、結果として生じる頂点は指定されたポイントに位置付けされます。
weldpoint: が指定されていない場合、結果として生じる頂点は、指定された頂点の平均位置に位置付けされます。
<mesh> がノードの場合、または <mesh> が編集可能メッシュあるいはメッシュ値で、 node: が指定されている場合、位置は現在の座標系コンテキストにあります。
<mesh> が編集可能メッシュまたはメッシュ値で、 node: が指定されていない場合、位置はメッシュのローカル座標系にあります。