Deformable_gPoly: GeometryClass

Deformable_gPoly - superclass: GeometryClass; super-superclass:node - classID: #(374834938, 0) 

> MAXWrapper > ノード > GeometryClass > Deformable_gPoly

 

   

ジオメトリ オブジェクト - クイック ナビゲーション

Deformable_gPoly GeometryClass は、高速ビューポート表示用に最適化された 3ds Max オブジェクトのジオメトリ表現を実装します。

これは、Turn_to_gPoly Modifier を通してスタック上の Deformable_gPoly 表現に集約可能な Deformable_gPoly baseobject を提供します。またジオメトリ データをオンザフライでこの表現に変換することができます。

3ds Max 2013 以降で使用可能です。

   

コンストラクタ:

Class instances not creatable by MAXScript.

その他の GeometryClass オブジェクトは、以下を使用して Deformable_gPoly class に集約されます。

convertTo <GeometryObject> Deformable_gPoly

ここで、<GeometryObject> はメッシュを生成可能な任意のジオメトリ クラスです。これには、ジオメトリ プリミティブ、編集可能メッシュ、編集可能ポリゴン、パッチ、および NURBS オブジェクトなどがあります。

   

プロパティ:

公開されているプロパティはありません。

実際、Deformable_gPoly GeometryClass baseobject は、コマンド パネルにユーザ インタフェースを表示しない唯一の 3ds Max オブジェクトです。

gPoly ベンチマーク

(
resetMaxFile #noprompt	
theObj = teapot segs:64
theBend = bend()
addModifier theObj theBend

with animate on (
	at time 50 theObj.pos = [50,0,10]
	at time 100 (
		theObj.pos = [100,0,0]
		theObj.rotation = eulerangles 90 0 0
		theBend.angle = 90
	)
)

theStart = animationrange.start
theEnd = animationrange.end 
theLength = theEnd - theStart + 1

st = timestamp()
for i = theStart to theEnd do sliderTime = i
theTime = ((timestamp()-st)/1000.0)
format "Teapot Primitive: % seconds (% FPS).\n" theTime (theLength/theTime)

deleteModifier theObj theBend
convertTo theObj Deformable_gPoly
addModifier theObj theBend
	
st = timestamp()
for i = animationrange.start to animationrange.end do sliderTime = i
theTime2 = ((timestamp()-st)/1000.0)
format "Teapot gPoly: % seconds (% FPS).\n" theTime2 (theLength/theTime2)

format "gPoly Speed Up: %x\n" (theTime/theTime2)
)

結果

Teapot Primitive: 28.265 seconds (3.56875f FPS).
Teapot gPoly: 11.167 seconds (9.04375f FPS).
gPoly Speed Up: 2.53112x
OK

   

次のインタフェースは、Deformable_gPoly オブジェクトを更新するおよび操作する方法を公開します。

Interface: Deformable_gPoly

メソッド:

<integer>GetNumberFaces()

Deformable_gPoly メッシュの面の数を返します。

   

<integer>GetNumberVertices()

Deformable_gPoly メッシュの頂点の数を返します。

   

<void>ValidateNormals()

Deformable_gPoly メッシュの法線データを検証します。

各更新の面法線およびスムージング グループに基づいて法線をオンザフライで計算する他のジオメトリ クラス以外に、Deformable_gPoly メッシュは法線データをキャッシュします。これはビューポートの表示速度に大きく貢献します。

   

<index>GetMaterialID <index>faceIndex

インデックスで指定された面のマテリアル ID を返します。

   

<void>Update()

Deformable_gPoly データを更新します。

   

<void>LockFaceChannel()

面チャネルをロックします。

   

<void>UnlockFaceChannel()

面チャネルをロック解除します。

   

<void>CopyFaceChannel <&integer array>buffer

buffer is In and Out parameter

参照渡しされる整数の配列に面チャネルをコピーします。

   

<void>PasteFaceChannel <&integer array>buffer

buffer is In and Out parameter

整数の参照渡し配列を新規の面チャネルとして貼り付けます。

   

   

<boolean>LockPosChannel()

位置チャネルをロックします。

成功した場合は true を、失敗した場合は false を返します。

   

<void>UnlockPosChannel()

位置チャネルをロック解除します。

   

<void>CopyPosChannel <&point3 array>buffer

buffer is In and Out parameter

参照渡しされる Point3 値の配列に位置チャネルをコピーします。

   

<void>PastePosChannel <&point3 array>buffer

buffer is In and Out parameter

Point3 値の参照渡し配列を新規の位置チャネルとして貼り付けます。

   

   

<boolean>LockNormalChannel()

法線チャネルをロックします。

成功した場合は true を、失敗した場合は false を返します。

   

<void>UnlockNormalChannel()

法線チャネルをロック解除します。

   

<void>CopyNormalChannel <&point3 array>buffer 

buffer is In and Out parameter

参照渡しされる Point3 値の配列に法線チャネルをコピーします。

   

<void>PasteNormalChannel <&point3 array>buffer 

buffer is In and Out parameter

Point3 値の参照渡し配列を新規の法線チャネルとして貼り付けます。

   

   

<boolean>LockTangentChannel()

接線チャネルをロックします。

成功した場合は true を、失敗した場合は false を返します。

   

<void>UnlockTangentChannel()

接線チャネルをロック解除します。

   

<void>CopyTangentChannel <&point3 array>buffer 

buffer is In and Out parameter

参照渡しされる Point3 値の配列に接線チャネルをコピーします。

   

<void>PasteTangentChannel <&point3 array>buffer 

buffer is In and Out parameter

Point3 値の参照渡し配列を新規の接線チャネルとして貼り付けます。

   

   

<boolean>LockBitangentChannel()

二重接線チャネルをロックします。

成功した場合は true を、失敗した場合は false を返します。

   

<void>UnlockBitangentChannel()

二重接線チャネルをロック解除します。

   

<void>CopyBitangentChannel <&point3 array>buffer 

buffer is In and Out parameter

参照渡しされる Point3 値の配列に二重接線チャネルをコピーします。

   

<void>PasteBitangentChannel <&point3 array>buffer 

buffer is In and Out parameter

Point3 値の参照渡し配列を新規の二重接線チャネルとして貼り付けます。

   

   

<void>getUVWChannels <&integer array>channels 

channels is In and Out parameter

割り当てられたマッピング チャネルを整数の引数の参照渡し配列に書き込みます。

   

<boolean>LockUVWChannel <integer>channelIndex

インデックス付きのマッピング チャネルをロックします。

成功した場合は true を、失敗した場合は false を返します。

   

<void>UnlockUVWChannel <integer>channelIndex

インデックス付きのマッピング チャネルをロック解除します。

   

<void>CopyUVWChannel <&point3 array>buffer 

buffer is In and Out parameter

現在は機能していません。

   

<void>PasteUVWChannel <&point3 array>buffer 

buffer is In and Out parameter

現在は機能していません。

   

関連事項