インタフェース: nvpx

インタフェース > コア インタフェース > nvpx

 

   

ダイナミック - クイック ナビゲーション

   

コア インタフェース - クイック ナビゲーション

nvpx コア インタフェースは、nVidia PhysX テクノロジに基づく MassFX 物理的シミュレーション システムを MAXScript に公開します。

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

トピック ナビゲーション  

シーン書き出し

ワールドの設定

シミュレーション

ボディとコンストレイント

リジット ボディのコピーと貼り付け

リジット ボディ メッシュのアクセス

ノードの物理プロパティ

物理的マテリアルのロードと保存

物理的マテリアルのアクセス

バウンディング ジオメトリの作成

スリープ アクター

パラメータの取得/設定

コンタクト レポート

スキン アクセス

ボーン メソッド

ラグドール アクセス

Biped 統合

Physique 統合

ユーティリティ関数

間接的ドラッグ メソッド

ビジュアライザー メソッド

PhysX システム

ビューア (Viewer)

プロファイラ メソッド

マルチ スレッディングとハードウェア アクセラレーション

UnitTest メソッド

   

 Interface: nvpx

プロパティ:

nvpx.UseAdaptiveForce : boolean : Read|Write

[アダプティブ フォースを使用](Use Adaptive Force)オプションの状態を取得/設定します。

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

   

nvpx.gravityMode : enum : Read|Write

gravityMode enums: {#none|#directional|#object}

重力モードを取得/設定します。

有効な値は次のとおりです。

#none - 重力なし

#directional - 指向性重力

#object - nvpx.gravityObject プロパティを使用するオブジェクトベースの重力 (以下を参照)

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

   

nvpx.gravityObject : node : Read|Write

重力の方向を定義する重力オブジェクトを取得/設定します。

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

   

シーン書き出し

メソッド:

<integer>nvpx.ExportPhysXScene <string>filename <string>extension

2 番目の引数で指定されたファイル形式を使用して、シーン シミュレーション データを外部ファイルに書き出します。成功した場合は 0 を、失敗した場合は -1 を返します。

有効な拡張子の値は次のとおりです。

「xml」 - 既定の XML ファイルを作成します。

「nxb」 - NxuStream BINARY ファイルを作成します。

「dae」 - COLLADA XML ファイルを作成します。

他の拡張子の値を指定すると MAXScript リスナーに警告が出力され、書き出しでは XML ファイル形式が使用されます。

filename 引数で使用される実際のファイル拡張子が、ファイル タイプと一致する必要はありません。たとえば、「collada.xml」という名前のファイルを「dae」という extension 引数を使用して保存できます。

nvpx.ExportPhysXScene "c:\\temp\\physxtest.xml" "xml"
--> 0
nvpx.ExportPhysXScene "c:\\temp\\physxtest.nxb" "nxb"
--> 0
nvpx.ExportPhysXScene "c:\\temp\\physxtest.dae" "dae"
--> 0
nvpx.ExportPhysXScene "c:\\temp\\physxtest.abc" "abc"
--> SDK does not support exporting format, abc. It will be exported with default format.
--> 0

   

<integer>nvpx.ExportPhysXProjectFile <string>physxProjectPath <string>physxProjectName

2 番目の引数に従って命名した XML 形式の PhysX プロジェクト ファイルを、1 番目の引数で指定されたパスに書き出します。拡張子 .PxProj が自動的に追加されます。

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

nvpx.ExportPhysXProjectFile @"c:\temp\" "physxproject"

ファイル内容

<PhysicsPlugin>
    <GraphicsExport File="physxproject.fbx" />
    <PhysicsExport SDK="2.8.5" PhysXScene="" />
    <ClothingTool CTP="" />
    <SceneParameters>
        <AnimationRange Start="0" End="100" FrameRate="30" FrameSubStepCount="0" />
        <LengthUnit type="0" scale="1" length="39.3701" />
        <GroundPlane enabled="true" direction="0.0 0.0 1.0" height="0" />
        <Gravity enabled="true" value="0 0 -386.221" />
        <Simulation SolverIteration="4" LastFrameMode="Continue Simulation" LoopAnimationMode="Reset Simulation" />
    </SceneParameters>
    <SceneObjects />
</PhysicsPlugin>

   

<integer>nvpx.ExportPhysXProject <string>physxProjectPath <string>physxProjectName <string>fbxFileName

2 番目の引数で指定された名前の PhysX プロジェクトを、1 番目の引数で指定されたパスに書き出します。3 番目の引数に従って FBX ファイル名として書き出されたジオメトリが含まれます。

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

   

<integer>nvpx.PrepExportPhysXScene <boolean>isexportphysx <string>extension

書き出しの準備をします。

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

   

<integer>nvpx.PrepExportAPEXClothing <boolean>exportAPEXClothing <string>apExtension <boolean>useModelSpace \
<float>scale <boolean>addHulls <boolean>exportCTW <boolean>exportFBX <boolean>exportSelected <boolean>launchViewer \
<boolean>reverseWinding <boolean>omitMeshSubpartName 
 

将来的に使用します。

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

   

<integer>nvpx.PrepExportAPEXDestruction <boolean>exportAPEXDestruction <string>apExtension <boolean>exportSelected

将来的に使用します。

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

   

<boolean>nvpx.GetExporterMode <integer>Parameter

指定されたパラメータの書き出しモードを返します。

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

<boolean>nvpx.SetExporterMode <integer>Parameter <boolean>onOff

指定したパラメータの書き出しモードを 2 番目の引数のブール演算値に設定します。

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

   

   

ワールドの設定

プロパティ:

nvpx.gravityMode : enum : Read|Write

gravityMode enums: {#none|#directional|#object}

重力モードを取得/設定します。

有効な値は次のとおりです。

#none - 重力なし

#directional - nvpx.SetGravity() メソッドによって指定され、 nvpx.GetGravity() メソッドによって返された方向を使用します。

#object - nvpx.gravityObject プロパティによって指定されたオブジェクトの -Z 軸を使用します。

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

   

nvpx.gravityObject : node : Read|Write

nvpx.GravityMode プロパティが #object に設定されている場合に、その -Z 軸が重力方向を定義する参照オブジェクトを取得/設定します。

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

   

メソッド:

<point3 by value>nvpx.GetGravity()

重力ベクトルを標準単位/秒の二乗で表された Point3 値として返します。システム単位が 1GU = 1 インチに設定されている場合、重力の既定値は[0,0,-386.221]で、これは[0,0,-9.81]メートル/秒の二乗に相当します(地球の加速度)。

<integer>nvpx.SetGravity <point3 byvalue>gravity

重力ベクトルを指定された Point3 値に設定します。

3ds Max 2013 以降では、 nvpx.gravityMode オプションが #directional に設定されている場合に使用されます。

   

<float>nvpx.GetGeometryScale()

ジオメトリ スケール係数を返します。既定値は 1.0 です。

<float>nvpx.SetGeometryScale <float>scaleRate

ジオメトリ スケール係数を Float 引数に設定します。

   

<boolean>nvpx.CreateGround <float>position <&point3>normal

normal is In and Out parameter

position 引数によって指定され、2 番目の引数によって指定された normal ベクトルに合わせて方向を設定した Z の高さにグラウンド平面を作成します。

シミュレーションで使用できるグラウンド平面は 1 つだけです。

   

<boolean>nvpx.RemoveGround()

シミュレーションからグラウンド平面を削除します。

   

<boolean>nvpx.ReadSystemUnit <integer>type <float>scale

   

<float>nvpx.GetMeterToSystemUnit()

メートルと現在のシステム単位の間のスケール係数を返します。システム単位が 1GU = 1 インチに設定されている場合、値は 1 メートルのインチ数である 39.3701 になります。

<float>nvpx.SetMeterToSystemUnit <float>newValue

メートルとシステム単位の間のスケール係数をユーザ値に設定し、新しいワールド スケールを定義します。

   

<void>nvpx.SetCCDMotionThreshold <float>ccdMotionThreshold

持続衝突検出モーションのしきい値を、指定された浮動小数点値パラメータに設定します。

   

<integer>nvpx.GetSolverIterations()

ソルバの反復回数を返します。

<integer>nvpx.SetSolverIterations <integer>count

ソルバの反復回数を integer 引数に設定します。新しい値を返します。

   

<void>nvpx.SetShapePerElement <boolean>shapePerElement

[エレメントごとのシェイプ](Shape Per Element)モードを、指定されたブール演算値に設定します。

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

   

シミュレーション

メソッド:

<integer>nvpx.Simulate <float>deltat

指定された時間ステップを使用してシミュレーションを開始します。

   

<boolean>nvpx.IsSimulating()

シミュレーションが現在実行中の場合は true を返し、実行中でない場合は false を返します。

   

<integer>nvpx.SetSimulationSubSteps <integer>numSteps

シミュレーションのサブステップを指定された値に設定します。

   

<integer>nvpx.SimulationReset()

シミュレーションをリセットします。

   

<void>nvpx.SetSimulationState <integer>state

実際のシミュレーションを実行しないで、シミュレーションの状態を指定されたモードに設定します。

3ds Max 2012 では引数が boolean であり、False はシミュレーションがリセットされたことを、True はシミュレーションが実行されたことを意味しました。

3ds Max 2013 では、引数が次のように整数に変更されました。

0 - シミュレーションがリセットされ、シミュレーション データはありません。

1 -

2 - シミュレーションが実行され、シミュレーション データがあります。

<integer>nvpx.GetSimulationState()

現在のシミュレーション状態を整数で返します。

有効な値については、上記を参照してください。

   

<void>nvpx.PauseSimulation()

シミュレーションを一時停止させます。

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

   

ボディとコンストレイント

メソッド:

<integer>nvpx.AddRigidbody <node>inode

引数として渡されたノードを、リジット ボディとしてシミュレーションに追加します。成功した場合は 1 を、失敗した場合は 0 を返します。失敗した場合は、メッセージも MAXScript リスナーに出力されます。

<integer>nvpx.RemoveRigidbody <node>inode

指定されたノードからリジット ボディ データを削除します。

<integer>nvpx.RemoveAll()

すべてのシーン ノードからリジット ボディ データを削除します。

   

<integer>nvpx.AddConstraint <node>node

コンストレイントを指定されたノードに追加します。

   

<integer>nvpx.AddDistanceJoint <node>node

距離接続を指定されたノードに追加します。

   

<integer>nvpx.SetRigidbodyShapeFlag <node>inode <TSTR by value>flagname <boolean>value

1 番目の引数で指定されたノード内にある、2 番目の引数で指定された名前のリジット ボディ シェイプ フラグを、3 番目の引数として渡されたブール値に設定します。

   

<boolean>nvpx.RBBroken <node>inode

指定されたノードのリジット ボディが壊れている場合は true を返し、それ以外の場合は false を返します。

   

<integer>nvpx.ClearInvalidNodes()

無効なノードをクリアします。

   

<integer>nvpx.PrintNodeParams <node>inode

指定されたノードについての詳細情報を出力します。

nvpx.PrintNodeParams  $Teapot001
 print Node param blocks:
totally 0 Param Blocks
 print modifier param blocks:
totally 1 Param Blocks
 PBlock version 9, local name: ??, flag: 0x226, 60 Params
  Param 0 (type): TYPE_INT, flag: 0x920020, value: 1
  Param 54 (switchType): TYPE_BOOL, flag: 0x820020, value: false
  Param 55 (switchTypeAtFrame): TYPE_INT, flag: 0x920020, value: 0
  Param 35 (EnableGravity): TYPE_BOOL, flag: 0x820020, value: true
  Param 53 (ContinuousCollisionDetection): TYPE_BOOL, flag: 0x820020, value: false
  Param 36 (SleepAtStart): TYPE_BOOL, flag: 0x820020, value: false
  Param 52 (CollideWithRigidBodies): TYPE_BOOL, flag: 0x820020, value: true
  Param 1 (): TYPE_INODE, flag: 0x810000, value: 0x0
  Param 2 (extraShapes): TYPE_STRING, flag: 0x800000, value: "(null)"
  Param 3 (manualSetup): TYPE_BOOL, flag: 0x820020, value: true
  Param 4 (materialId): TYPE_INT, flag: 0x820020, value: 0
  Param 6 (density): TYPE_FLOAT, flag: 0x820020, value: 0
  Param 5 (volume): TYPE_FLOAT, flag: 0x820020, value: 0
  Param 7 (mass): TYPE_FLOAT, flag: 0x820020, value: 0
  Param 8 (staticFriction): TYPE_FLOAT, flag: 0x820020, value: 1073741824
  Param 9 (dynamicFriction): TYPE_FLOAT, flag: 0x820020, value: 1073741824
  Param 10 (bounciness): TYPE_FLOAT, flag: 0x820020, value: 0
  Param 62 (EnableAdvancedSettings): TYPE_INT, flag: 0x820020, value: 0
  Param 56 (SkinWidth): TYPE_BOOL, flag: 0x820020, value: false
  Param 57 (SkinWidthValue): TYPE_FLOAT, flag: 0x20020, value: 0
  Param 58 (SolverIter): TYPE_BOOL, flag: 0x820020, value: false
  Param 59 (SolverIterValue): TYPE_INT, flag: 0x120020, value: 4
  Param 61 (InitialMotionStyle): TYPE_INT, flag: 0x820020, value: 1
  Param 39 (InitialVelocityX): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 40 (InitialVelocityY): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 41 (InitialVelocityZ): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 37 (velocitySpeed): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 42 (InitialSpinX): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 43 (InitialSpinY): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 44 (InitialSpinZ): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 38 (spinSpeed): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 45 (MassCenterX): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 46 (MassCenterY): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 47 (MassCenterZ): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 50 (LinearDamping): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 51 (AngularDamping): TYPE_FLOAT, flag: 0x920020, value: -2147483648
  Param 49 (baked): TYPE_BOOL, flag: 0x820020, value: false
  Param 14 (): TYPE_INT, flag: 0x820020, value: 0
  Param 15 (): TYPE_BOOL, flag: 0x820020, value: false
  Param 16 (): TYPE_BOOL, flag: 0x820020, value: false
  Param 17 (): TYPE_BOOL, flag: 0x820020, value: false
  Param 13 (meshType): TYPE_INT, flag: 0x920020, value: 4
  Param 28 (meshCustomMesh): TYPE_INODE, flag: 0x810000, value: 0x0
  Param 26 (meshVerticesLimit): TYPE_INT, flag: 0x820020, value: 32
  Param 27 (meshInflation): TYPE_FLOAT, flag: 0x820020, value: 0
  Param 60 (meshConvexStyle): TYPE_INT, flag: 0x820020, value: 0
  Param 31 (meshRadius): TYPE_FLOAT, flag: 0x920020, value: -2147483648
  Param 32 (meshLength): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 33 (meshWidth): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 34 (meshHeight): TYPE_FLOAT, flag: 0x920020, value: 0
  Param 29 (): TYPE_BOOL, flag: 0x40800000, value: false
  Param 30 (): TYPE_BOOL, flag: 0x820020, value: false
  Param 18 (meshOverrideMaterial): TYPE_BOOL, flag: 0x820020, value: false
  Param 19 (meshDensity): TYPE_FLOAT, flag: 0x40800000, value: 0
  Param 20 (meshMass): TYPE_FLOAT, flag: 0x40800000, value: 0
  Param 21 (meshStaticFriction): TYPE_FLOAT, flag: 0x40800000, value: 0
  Param 22 (meshDynamicFriction): TYPE_FLOAT, flag: 0x40800000, value: 0
  Param 23 (meshBounciness): TYPE_FLOAT, flag: 0x40800000, value: 0
  Param 24 (): TYPE_BOOL, flag: 0x40800000, value: false
  Param 25 (): TYPE_BOOL, flag: 0x40800000, value: false

Animatable[2] : Transform, classID = (2005, 0)
	Animatable[0]: Position, classID = (118f7e02, ffee238a)
	Animatable[1]: Rotation, classID = (2012, 0)
Animatable[3] : Modified Object, classID = (3, 0)
	Animatable[0]: MassFX Rigid Body, classID = (a750e, 6e6ba)
		Animatable[0]: no name, classID = (2005, 0)
			Animatable[0]: Position, classID = (118f7e02, ffee238a)
			Animatable[1]: Rotation, classID = (2012, 0)
		Animatable[1]: no name, classID = (2005, 0)
			Animatable[0]: Position, classID = (118f7e02, ffee238a)
			Animatable[1]: Rotation, classID = (2012, 0)
		Animatable[2]: no name, classID = (118f7e02, ffee238a)
		Animatable[3]: no name, classID = (2005, 0)
			Animatable[0]: Position, classID = (118f7e02, ffee238a)
			Animatable[1]: Rotation, classID = (2012, 0)
	Animatable[1]: Teapot (Object), classID = (acad13d3, acad26d9)
		Animatable[0]: Parameters, classID = (8, 0)
0

   

<boolean>nvpx.SetAsDynamic <node>inode <boolean>onoff

2 番目の引数として true が渡された場合は、1 番目の引数で渡されたノードをダイナミック リジット ボディに設定し、2 番目の引数が false の場合は、静止リジット ボディに設定します。

   

<integer>nvpx.PrintTM <node>inode

指定されたノードのさまざまな変換行列についての詳細情報を出力します。

nvpx.PrintTM $Teapot001
PivotTM = (matrix3 [1.000000, 0.000000, 0.000000] [0.000000, 1.000000, 0.000000] [0.000000, 0.000000, 1.000000] [0.000000, 0.000000, 0.000000])
nodeTM = (matrix3 [1.000000, 0.000000, 0.000000] [0.000000, 1.000000, 0.000000] [0.000000, 0.000000, 1.000000] [1.576996, -11.519989, 0.000000])
parentTM = (matrix3 [1.000000, 0.000000, 0.000000] [0.000000, 1.000000, 0.000000] [0.000000, 0.000000, 1.000000] [0.000000, 0.000000, 0.000000])
objectTM = (matrix3 [1.000000, 0.000000, 0.000000] [0.000000, 1.000000, 0.000000] [0.000000, 0.000000, 1.000000] [1.576996, -11.519989, 0.000000])
--pivot = [0.000000, 0.000000, 0.000000]
--nodeObjectTM <==> PhysicsNodeTM == PhysicsNodeScaleTM * PhysicsNodePivotTM * PhysicsNodePoseTM
PhysicsNodeScaleTM = (matrix3 [1.000000, 0.000000, 0.000000] [0.000000, 1.000000, 0.000000] [0.000000, 0.000000, 1.000000] [0.000000, 0.000000, 0.000000])
PhysicsNodePivotTM = (matrix3 [1.000000, 0.000000, 0.000000] [0.000000, 1.000000, 0.000000] [0.000000, 0.000000, 1.000000] [0.000000, 0.000000, 0.000000])
PhysicsPoseTM = (matrix3 [1.000000, 0.000000, 0.000000] [0.000000, 1.000000, 0.000000] [0.000000, 0.000000, 1.000000] [1.576996, -11.519989, 0.000000])
--Node Pos in Physics = [1.576996, -11.519989, 0.000000]

--Node is convex = 0
0
<class>nvpx.GetObjectClass <node>node

指定されたノードのクラスを返します。

   

<void>nvpx.UpdateCCDCtrlState <node>node

指定されたノードの持続衝突検出の制御状態を更新します。

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

   

リジット ボディのコピーと貼り付け

メソッド:

<boolean>nvpx.CopyRigidbody <node>fromNode <node>toNode

リジット ボディ モディファイヤを、1 番目の引数で指定されたノードから、2 番目の引数で指定されたノードにコピーします。成功した場合は true を、失敗した場合は false を返します。

   

<boolean>nvpx.ClipboardCopyRBMesh <node>inode <integer>meshIndex

2 番目の引数で指定されたインデックスのリジット ボディ メッシュを、1 番目の引数で指定されたノードからクリップボードにコピーします。成功した場合は true を、失敗した場合は false を返します。

<boolean>nvpx.ClipboardPasteRBMesh <node>inode

クリップボードから指定されたノードに、リジット ボディ メッシュを貼り付けます。成功した場合は true を、失敗した場合は false を返します。

   

リジット ボディ メッシュのアクセス

以下のメソッドは、ノードの MassFX_RBody モディファイヤの設定と相互作用します。これらのメソッドを使用してノードを反復処理し、モディファイヤ自体を操作する代わりに、リジット ボディの設定を変更できます。

メソッド:

<integer>nvpx.AddRBMesh <node>inode

指定されたノードにリジット ボディ メッシュを追加します。新しいメッシュのインデックスを返します。

   

<boolean>nvpx.DeleteRBMesh <node>inode <integer>meshIndex

2 番目の引数のインデックスで指定されたリジット ボディ メッシュを、1 番目の引数で指定されたノードから削除します。成功した場合は true を、失敗した場合は false を返します。

   

<integer>nvpx.GetRBMeshCount <node>inode

指定されたノードのリジット ボディ メッシュの数を返します。

   

<string>nvpx.GetRBMeshName <node>inode <integer>meshIndex

指定されたノードにある指定されたインデックスのリジット ボディ メッシュの名前を返します。

   

<integer>nvpx.SetRBMeshName <node>inode <integer>meshIndex <string>meshName

指定されたノードにある 2 番目のインデックス引数で指定されたリジット ボディ メッシュの名前を、3 番目の引数で指定された名前に変更します。

   

<integer>nvpx.GetRBMeshType <node>inode <integer>meshIndex

指定されたノードにある、2 番目のインデックス引数で指定されたリジット ボディ メッシュのタイプを返します。戻り値の意味については、次のメソッドの説明を参照してください。

<boolean>nvpx.SetRBMeshType <node>inode <integer>meshIndex <integer>meshType

指定されたノードにある、2 番目のインデックス引数で指定されたリジット ボディ メッシュのタイプを、次のタイプに設定します。

1 - 球

2 - ボックス

3 - カプセル

4 - 凸型

5 - 合成

6 - オリジナル

7 - カスタム

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

   

<&matrix3>nvpx.GetRBMeshTM <node>inode <integer>meshIndex

指定されたノードにある、2 番目の引数で指定されたインデックスのリジット ボディ メッシュの変換行列を返します。

<boolean>nvpx.SetRBMeshTM <node>inode <integer>meshIndex <&matrix3>pose

pose is In and Out parameter

指定されたノードにある、2 番目の引数で指定されたインデックスのリジット ボディ メッシュの変換行列を、3 番目の引数として渡された matrix3 値に設定します。成功した場合は true を、失敗した場合は false を返します。

   

<float>nvpx.GetRBMeshRadius <node>inode <integer>meshIndex

該当する場合、ノードの指定されたインデックスのリジット ボディ メッシュの半径を返します(リジット ボディ メッシュのタイプが球、ボックス、カプセルの場合など)。それ以外の場合は 0 を返します。

<boolean>nvpx.SetRBMeshRadius <node>inode <integer>meshIndex <float>radius

ノードの指定されたインデックスのリジット ボディ メッシュの半径を、3 番目の引数で指定された浮動小数点値に設定します。リジット ボディ メッシュのタイプが半径の値をサポートしている場合は true、サポートしていない場合は false を返します。

   

<float>nvpx.GetRBMeshLength <node>inode <integer>meshIndex

該当する場合、ノードの指定されたインデックスのリジット ボディ メッシュの長さを返します(リジット ボディ メッシュのタイプがボックスの場合など)。それ以外の場合は 0 を返します。

<boolean>nvpx.SetRBMeshLength <node>inode <integer>meshIndex <float>Length

ノードの指定されたインデックスのリジット ボディ メッシュの長さを、3 番目の引数で指定された浮動小数点値に設定します。リジット ボディ メッシュのタイプがボックスの場合は true、それ以外の場合は false を返します。

   

<float>nvpx.GetRBMeshWidth <node>inode <integer>meshIndex

該当する場合、ノードの指定されたインデックスのリジット ボディ メッシュの幅を返します(リジット ボディ メッシュの種類がボックスの場合など)。それ以外の場合は 0 を返します。

<boolean>nvpx.SetRBMeshWidth <node>inode <integer>meshIndex <float>Width

ノードの指定されたインデックスのリジット ボディ メッシュの幅を、3 番目の引数で指定された浮動小数点値に設定します。リジット ボディ メッシュのタイプがボックスの場合は true、それ以外の場合は false を返します。

   

<float>nvpx.GetRBMeshHeight <node>inode <integer>meshIndex

該当する場合、ノードの指定されたインデックスのリジット ボディ メッシュの高さを返します(リジット ボディ メッシュのタイプがボックスの場合など)。それ以外の場合は 0 を返します。

<boolean>nvpx.SetRBMeshHeight <node>inode <integer>meshIndex <float>Height

ノードの指定されたインデックスのリジット ボディ メッシュの高さを、3 番目の引数で指定された浮動小数点値に設定します。リジット ボディ メッシュのタイプがボックスの場合は true、それ以外の場合は false を返します。

   

<node>nvpx.GetRBMeshCustomNode <node>inode <integer>meshIndex

該当する場合、指定されたノードの指定されたインデックスのリジット ボディ メッシュのカスタム ノードを返します(リジット ボディ メッシュのタイプがカスタムに設定されている場合など)。それ以外の場合は undefined を返します。

<integer>nvpx.SetRBMeshCustomNode <node>inode <integer>meshIndex <node>CustomNode

ノードの指定されたインデックスのリジット ボディ メッシュのカスタム メッシュを、3 番目の引数で指定されたノードに設定します。リジット ボディ メッシュのタイプがカスタムの場合は true 、それ以外の場合は false を返します。

   

<integer>nvpx.GetRBMeshVertexLimit <node>inode <integer>meshIndex

ノードの指定されたインデックスのリジット ボディ メッシュの頂点の制限値を返します。

<boolean>nvpx.SetRBMeshVertexLimit <node>inode <integer>meshIndex <integer>VerticeLimit

ノードの指定されたインデックスのリジット ボディ メッシュの頂点の制限値を、3 番目の引数で指定された整数値に設定します。リジット ボディ メッシュのタイプが頂点の制限をサポートしている場合(凸型など)は true を、サポートしていない場合は false を返します。

   

<float>nvpx.GetRBMeshInflation <node>inode <integer>meshIndex

ノードの指定されたインデックスのリジット ボディ メッシュのタイプが凸型の場合はその膨張値を返し、それ以外のタイプの場合は undefined を返します。

<boolean>nvpx.SetRBMeshInflation <node>inode <integer>meshIndex <float>Inflation

ノードの指定されたインデックスのリジット ボディ メッシュの膨張値を、3 番目の引数で指定された浮動小数点値に設定します。リジット ボディ メッシュのタイプが膨張をサポートしている場合(凸型など)は true を、サポートしていない場合は false を返します。

   

<mesh>nvpx.GetRBMeshShape <node>inode <integer>meshIndex

ノードの指定されたインデックスのリジット ボディ メッシュのタイプが凸型またはカスタムの場合はその TriMesh 値を返し、それ以外のタイプの場合は undefined を返します。

<boolean>nvpx.SetRBMeshShape <node>inode <integer>meshIndex <mesh>newMesh

ノードの指定されたインデックスのリジット ボディ メッシュのシェイプを、3 番目の引数で指定された TriMesh 値に設定します。リジット ボディ メッシュのタイプにメッシュがある場合(凸型、カスタムなど)は true を、ない場合は false を返します。

   

<boolean>nvpx.GetRBMeshOverrideMasterMat <node>inode <integer>meshIndex

指定されたノードのリジット ボディ メッシュの[物理的マテリアルを上書き](Override Physical Material)オプションの状態を返します。

<boolean>nvpx.SetRBMeshOverrideMasterMat <node>inode <integer>meshIndex <boolean>overrideIt

指定されたノードのリジット ボディ メッシュの[物理的マテリアルを上書き](Override Physical Material)オプションの状態を、3 番目の引数で指定された値に設定します。成功した場合は true を返し、失敗した場合は false を返します(たとえば、ノードにリジット ボディ モディファイヤがない場合や、meshIndex が無効な場合など)。

   

   

ノードの物理プロパティ

メソッド:

<&point3>nvpx.GetGlobalPosition <node>inode

指定されたノードのグローバル位置の値を返します。値を報告できない場合は[0,0,0]を返します。

<integer>nvpx.SetGlobalPosition <node>inode <&point3>position

position is In and Out parameter

指定されたノードのグローバル位置を、2 番目の引数として参照で渡された Point3 の値に設定します。成功した場合は 0 を、失敗した場合は -1 を返します。

   

<&point3>nvpx.GetLinearVelocity <node>inode

指定されたノードの線形速度の値を返します。値を取得できない場合は[0,0,0]を返します。

<integer>nvpx.SetLinearVelocity <node>inode <&point3>linearvelocity

linearvelocity is In and Out parameter

指定されたノードの線形速度を、2 番目の引数として参照で渡された Point3 の値に設定します。成功した場合は 0 を、失敗した場合は -1 を返します。

   

 <&point3>nvpx.GetAngularVelocity <node>inode

指定されたノードの矩形速度の値を返します。値を取得できない場合は[0,0,0]を返します。

<integer>nvpx.SetAngularVelocity <node>inode <&point3>angularvelocity

angularvelocity is In and Out parameter

指定されたノードの線形速度を、2 番目の引数として参照で渡された Point3 の値に設定します。成功した場合は 0 を、失敗した場合は -1 を返します。

   

<&matrix3>nvpx.GetGlobalPose <node>inode

指定されたノードのグローバル ポーズの値を返します。値を報告できない場合は恒等行列を返します。

 <integer>nvpx.SetGlobalPose <node>inode <&matrix3>pose

pose is In and Out parameter

指定されたノードのグローバル ポーズを、2 番目の引数として参照で渡された matrix3 の値に設定します。成功した場合は 0 を、失敗した場合は -1 を返します。

   

<float>nvpx.GetMass<node>inode

指定されたノードの質量の値を返します。値を取得できない場合は 0.0 を返します。

<float>nvpx.SetMass <node>inode <float>value

指定されたノードの質量を 2 番目の引数として渡された Float の値に設定します。新しい質量を返します。設定が失敗した場合は 0.0 を返します。

   

<float>nvpx.GetDynamicFriction <node>inode

指定されたノードの動的摩擦の値を返します。値を取得できない場合は 0.0 を返します。

<integer>nvpx.SetDynamicFriction <node>inode <float>value

指定されたノードの動的摩擦を 2 番目の引数として渡された Float の値に設定します。成功した場合は 0 を、失敗した場合は -1 を返します。

   

<float>nvpx.GetStaticFriction <node>inode

指定されたノードの静止摩擦の値を返します。値を取得できない場合は 0.0 を返します。

<integer>nvpx.SetStaticFriction <node>inode <float>value

指定されたノードの静止摩擦を 2 番目の引数として渡された Float の値に設定します。成功した場合は 0 を、失敗した場合は -1 を返します。

   

<float>nvpx.GetRestitution <node>inode

指定されたノードの反発の値を返します。値を取得できない場合は 0.0 を返します。

<integer>nvpx.SetRestitution <node>inode <float>value

指定されたノードの反発を 2 番目の引数として渡された Float の値に設定します。成功した場合は 0 を、失敗した場合は -1 を返します。

   

<matrix3 by value>nvpx.GetInitialPose <node>inode

指定されたノードの初期ポーズ変換行列を返します。

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

<void>nvpx.SetInitialPose <node>inode <&matrix3>initialPose 

initialPose is In and Out parameter

指定されたノードの初期ポーズ変換行列を、by-reference matrix3 に設定します。

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

   

<boolean>nvpx.CaptureInitTransforms <&node array>nodes 

nodes is In and Out parameter

by-reference 配列引数によって指定されたノードの初期変換をキャプチャします。成功した場合は True を、失敗した場合は False を返します。

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

   

<boolean>nvpx.GetBakedFlag <node>inode

指定されたノードのベイク処理フラグを返します - ノードがベイク処理される場合は True、ベイク処理されない場合は False。

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

<boolean>nvpx.SetBakedFlag <node>inode <boolean>isBaked

指定されたノードのベイク処理フラグを 2 番目の boolean 引数に設定します。成功した場合には True を、フラグを設定できなかった場合には False を返します。

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

   

物理的マテリアルのロードと保存

メソッド:

<boolean>nvpx.SaveMaterial <string>filename <float>staticFriction <float>dynamicFriction <float>bounciness <integer>density

物理的マテリアルの XML ファイルを、1 番目の引数で指定されたファイル名に保存します。2 番目、3 番目、4 番目、5 番目の引数では、物理的マテリアルの静止摩擦、動的摩擦、弾力性、および密度の値を指定します。成功した場合は true を、失敗した場合は false を返します。

   

<float>nvpx.LoadMaterialStaticFric <string>filename

静止摩擦の値を指定された物理的マテリアル XML ファイルからロードし、Float として返します。

   

<float>nvpx.LoadMaterialDynFric <string>filename

動的摩擦の値を指定された物理的マテリアル XML ファイルからロードし、Float として返します。

   

<float>nvpx.LoadMaterialBounciness <string>filename

弾力性の値を指定された物理的マテリアル XML ファイルからロードし、Float として返します。

   

<integer>nvpx.LoadMaterialDensity <string>filename

弾力性の値を指定された物理的マテリアル XML ファイルからロードし、Float として返します。

   

物理的マテリアルのアクセス

メソッド:

<integer>nvpx.MaterialGetCount()

シーン内の物理的マテリアルの数を返します。

   

<integer>nvpx.MaterialGetId <integer>matIndex

指定された 0 から始まるマテリアル インデックス(マテリアル 1 のインデックスは 0、マテリアル 2 のインデックスは 1、など)に対し、マテリアルの整数 ID を返します。または、インデックスが範囲外の場合は 0 を返します。

   

<integer>nvpx.MaterialGetType <integer>matId

nvpx.MaterialGetId() メソッドによって返されたマテリアル ID を受け取り、マテリアルのタイプを返します。

   

<boolean>nvpx.MaterialIsLocked <integer>matId

   

<integer>nvpx.MaterialFind <string>ParamName

   

<integer>nvpx.MaterialCreate <integer>type

指定されたタイプの新しい名前のない物理的マテリアル プリセットを作成します。マテリアル ID を整数で返します。

   

<boolean>nvpx.MaterialRemove <integer>matId

指定された ID の物理的マテリアル プリセットを削除します。成功した場合は true を、失敗した場合は false を返します。

   

<string>nvpx.MaterialGetParam <integer>matId <string>ParamName

指定された ID の物理的マテリアルのパラメータを文字列として返します。

2 番目の引数はパラメータ名であり、次のいずれかです。

<boolean>nvpx.MaterialSetParam <integer>matId <string>ParamName <string>ParamValue

1 番目の引数で指定された物理的マテリアルの、2 番目の引数で指定された名前のパラメータを、3 番目の引数で提供された文字列値に設定します。

成功した場合は true を返し、失敗した場合は false を返します(パラメータ名がサポートされていない場合など)。

   

<integer>nvpx.GetPMVisibleForRigidBodies()

物理的マテリアルがリジット ボディに対して表示される場合は 1 を返し、表示されない場合は 0 を返します。

<void>nvpx.SetPMVisibleForRigidBodies <integer>visible

リジット ボディに対する物理的マテリアルの表示を、整数引数(1 は表示、0 は非表示)に設定します。

   

<boolean>nvpx.SetRBDisplayMaterial <material>dynamicMat <material>kinematicMat <material>staticMat

3ds Max の 3 つのマテリアルを、ダイナミック オブジェクト、キネマティック オブジェクト、およびリジット ボディ オブジェクトの表示用に使用するように設定します。成功した場合は true を、失敗した場合は false を返します。

   

バウンディング ジオメトリの作成

以下のメソッドは任意のシーン ノードで動作し、ノードがリジット ボディ メッシュまたはジオメトリ オブジェクトである必要はありません。

メソッド:

<node>nvpx.CreateBoundingBox <node>inode

指定されたノードのオブジェクトで位置合わせされたバウンディング ボックスと一致する nv_Box ジオメトリ プリミティブを作成します。

   

<node>nvpx.CreateBoundingSphere <node>inode

指定されたノードに対して位置合わせされ、ノードのバウンディング ボックスの球体バウンディングを表している、nv_Sphere ジオメトリ プリミティブを作成します。

   

<node>nvpx.CreateBoundingCapsule <node>inode

ノードのバウンディング ボックスを囲む nv_Capsule ジオメトリ プリミティブを作成します。

   

<node>nvpx.CreateBoundingCapsuleFromPoints <matrix3>poseTransform <&float array>points

points is In and Out parameter

ポーズ変換行列と、カプセルの内部に含まれる点の配列に基づいて、nv_Capsule ジオメトリ プリミティブを作成します。

   

<node>nvpx.CreateBoundingShapeConvex <node>inode <integer>vertLimit <float>inflation <int>style

指定されたノードを囲む編集可能メッシュ ノードを作成します。2 番目の引数は、結果のメッシュに含まれる頂点の数を制限します。3 番目の引数は、バウンディング サーフェスからのオフセットを適用する膨張を定義します。4 番目の引数は、凸型ハルの生成に使用されるアルゴリズムを指定します。

   

<mesh>nvpx.CreateBoundingConvex <node>inode <integer>vertLimit <float>inflation

指定されたノードの凸型のバウンディング シェイプを表す TriMesh 値を返します。2 番目の引数は、結果のメッシュに含まれる頂点の数を制限します。3 番目の引数は、バウンディング サーフェスからのオフセットを適用する膨張を定義します。このメソッドは nvpx.CreateBoundingShapeConvex() と似ていますが、シーン ノードを作成するのではなく、メモリ内にメッシュを生成します。

   

<mesh>nvpx.CreateBoundingConvexFromNodes <&node array>inodes <integer>vertLimit <float>inflation

inodes is In and Out parameter

指定されたすべてのノードの凸型のバウンディング シェイプを表す TriMesh 値を返します。2 番目の引数は、結果のメッシュに含まれる頂点の数を制限します。3 番目の引数は、バウンディング サーフェスからのオフセットを適用する膨張を定義します。このメソッドは nvpx.CreateBoundingConvex() と似ていますが、複数のノードを同時に処理します。

   

<mesh>nvpx.CreateConvexHull <mesh>mesh <integer>vertlimit <float>inflation

指定された TriMesh 値の凸型のバウンディング シェイプを表す TriMesh 値を返します。2 番目の引数は、結果のメッシュに含まれる頂点の数を制限します。3 番目の引数は、バウンディング サーフェスからのオフセットを適用する膨張を定義します。このメソッドは nvpx.CreateBoundingConvex() と似ていますが、シーン ノードではなく、メモリ内の TriMesh 値に対して動作します。

   

<mesh>nvpx.CreateConvexFromPoints <&float array>points <integer>vertlimit <float>inflation

points is In and Out parameter

浮動小数点値の配列で指定される点を囲む凸型のバウンディング シェイプを表す TriMesh 値を返します。配列の要素の数は、空間の Point3 値の数の 3 倍である必要があります。連続する 3 つの浮動小数点値が 1 つの Point3 値の X、Y、Z コンポーネントとして使用されます。

2 番目の引数は、結果のメッシュに含まれる頂点の数を制限します。3 番目の引数は、バウンディング サーフェスからのオフセットを適用する膨張を定義します。

このメソッドは nvpx.CreateBoundingConvex() と似ていますが、ジオメトリの頂点ではなくユーザ定義の点に対して動作します。

   

スリープ アクター

メソッド:

<boolean>nvpx.SetSleepState <node>inode <boolean>onoff

指定されたノードのスリープ状態を、2 番目の引数で提供されるブール値に設定します。

   

<integer>nvpx.FindSleepingActors()

シーン内のスリープ アクターの数を返します。

   

<node>nvpx.GetSleepingActor <integer>index

0 から始まるインデックス引数に対応するスリープ ノードを返します。インデックスは、0 から (nvpx.FindSleepingActors())-1 の範囲である必要があります。

インデックスが範囲外の場合は、 undefined を返します。

   

パラメータの取得/設定

メソッド:

<string>nvpx.GetRBParam <node>inode <string>paramName

指定されたリジット ボディの指定された名前のパラメータの文字列値を返します。

<boolean>nvpx.SetRBParam <node>inode <string>paramName <string>paramValue

指定されたリジット ボディの指定された名前のパラメータの値を、3 番目の引数として指定された文字列値に設定します。

   

<boolean>nvpx.GetRBShapeParam <node>inodeRB <node>inodeShape <string>paramName

指定されたリジット ボディおよびシェイプ ノードの指定されたパラメータのブール値を返します。

<boolean>nvpx.SetRBShapeParam <node>inodeRB <node>inodeShape <string>paramName <string>paramValue

指定されたリジット ボディおよびシェイプ ノードの指定されたパラメータの文字列値を、4 番目の引数として指定された文字列値に設定します。

   

<boolean>nvpx.GetConstraintParam <node>inode <string>paramName

指定されたノードのコンストレイント プロパティの値を返します。2 番目の引数はプロパティの名前です。

<boolean>nvpx.SetConstraintParam <node>inode <string>paramName <string>paramValue

指定されたノードのコンストレイントの指定されたプロパティの値を設定します。3 番目の引数はプロパティの名前です。成功した場合は true を、失敗した場合は false を返します。

   

<float>nvpx.GetSDKParameter <TSTR byvalue>paramName

指定された名前の SDK パラメータの値を返します。

サポートされる SDK パラメータの名前のリストを取得するには、シーンを XML ファイルに書き出し、<NxParameterDesc param="ABC"> タグのファイルの内容を参照します。「ABC」はパラメータの名前です。

パラメータの名前がサポートされていない場合、戻り値は -3.40282e+038 (最小の浮動小数点値)になります。

<integer>nvpx.SetSDKParameter <TSTR byvalue>paramName <float>value

指定された名前の SDK パラメータを、2 番目の引数で指定された値に設定します。詳細は前のメソッドを参照してください。

<integer>nvpx.SetSDKDefaultParameter <TSTRby value>paramName

指定された名前の SDK パラメータを、既定値に設定します。

   

コンタクト レポート

コンタクト レポートは、物理的シミュレーションの間に記録された衝突に関する情報を提供し、フォース、位置、および関係するノードが含まれます。フォースの大きさのしきい値を使用してコンタクトをフィルタ処理し、軽い衝突を除外できます。

メソッド:

<boolean>nvpx.SetUseContactReport <boolean>OnOff

コンタクト レポートの有効状態を true または false に設定します。

   

<integer>nvpx.GetContactsCount()

記録されたコンタクトの数を返します。

   

<boolean>nvpx.SelectFirstContact()

最初のコンタクトを選択します。

成功した場合は True を、失敗した場合は False を返します。

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

   

<boolean>nvpx.GetNextContact()

次のコンタクトの内部ポインタを設定します。コンタクトのフォース、ポイント、ノードを取得するための以降のメソッドに影響します。

   

<point3 byvalue>nvpx.GetContactForce index:<index>

index default value: 0

インデックス付きコンタクト レコードのコンタクト フォースを Point3 値として返します。

インデックスが 0 または指定されていない場合は、現在のコンタクト レコードが使用されます。

新しい インデックス : 3ds Max 2013 に追加されたオプションのキーワード3ds Max 2012 では、このメソッドにより現在のコンタクトのみが返されました。

   

<point3 byvalue>nvpx.GetContactPoint index:<index>

index default value: 0

インデックス付きコンタクト レコードのコンタクト ポイントを Point3 値として返します。

インデックスが 0 または指定されていない場合は、現在のコンタクト レコードが使用されます。

新しい インデックス : 3ds Max 2013 に追加されたオプションのキーワード3ds Max 2012 では、このメソッドにより現在のコンタクトのみが返されました。

   

<node>nvpx.GetContactNode0 index:<index>

index default value: 0

インデックス付きコンタクト レコードの 1 番目のノードを返します。

インデックスが 0 または指定されていない場合は、現在のコンタクト レコードが使用されます。

新しい インデックス : 3ds Max 2013 に追加されたオプションのキーワード3ds Max 2012 では、このメソッドにより現在のコンタクトのみが返されました。

   

<node>nvpx.GetContactNode1 index:<index>

index default value: 0

インデックス付きコンタクト レコードの 2 番目のノードを返します。

インデックスが 0 または指定されていない場合は、現在のコンタクト レコードが使用されます。

新しい インデックス : 3ds Max 2013 に追加されたオプションのキーワード3ds Max 2012 では、このメソッドにより現在のコンタクトのみが返されました。

   

<float>nvpx.GetContactFilter()

現在のコンタクト フィルタの値を返します。

フォースのベクトルの長さ(大きさ)がこの値より小さいコンタクトは記録されません。

<float>nvpx.SetContactFilter <float>force

コンタクトのフィルタを浮動小数点のしきい値に設定します。

フォースのベクトルの長さがこの値より小さいコンタクトは記録されません。

   

スキン アクセス

以下のメソッドは、3ds Max のスキン データへのアクセスを提供します。

メソッド:

<boolean>nvpx.ParseSkinInfo <node>inode <float>weightThreshold

2 番目の引数を重みのしきい値として使用して、指定されたノードからスキンの情報を収集します。重みがしきい値より小さい頂点についてのデータは収集されません。成功した場合は true を返し、失敗した場合は false を返します(ノードがスキン オブジェクトではない場合など)。

   

<integer>nvpx.GetVerticesCountFromSkinnedBone <node>inode

nvpx.ParseSkinInfo() メソッドで収集されるときに指定されたボーンによって影響を受ける頂点の数を返します。

   

<float by value array>nvpx.GetVerticesFromSkinnedBone <node>inode

指定されたボーンによって影響を受ける頂点の X、Y、Z コンポーネントを表す浮動小数点値の配列を返します。座標はボーンのローカル スペースのものです。ワールド空間の位置を生成するには、配列の 3 つの浮動小数点値から作成される Point3 値に、ボーンの変換行列を乗算する必要があります。

   

<boolean>nvpx.ReleaseSkinInfo()

nvpx.ParseSkinInfo() によって収集されたスキン情報データをクリアします。

   

ボーン メソッド

メソッド:

<boolean>nvpx.HaveBoneFloatLimitControl <node>inode <string>block

ボーンに実数リミット コントロールがある場合は true を返します。

   

<string>nvpx.GetBoneFloatLimitValue <node>inode <string>block <string>param

ボーンの実数リミットの値を返します。

   

<boolean>nvpx.IsBone <node>inode

指定されたノードがボーンである場合は true を返し、ボーンではない場合は false を返します。

   

<matrix3 by value>nvpx.GetBonePose <node>inode

指定されたボーンのポーズ変換行列を返します。

   

ラグドール アクセス

メソッド:

<node>nvpx.RagdollGetRootBone <node>inode

指定されたラグドールのルート ボーンを返します。

   

<boolean>nvpx.IsRagdollNode <node>inode

指定されたノードがラグドール ノードである場合、true を返します。

   

<boolean>nvpx.LoadRagdollHelperMesh <meshby value>mesh

ラグドール ヘルパー メッシュの値をロードします。成功した場合は true を、失敗した場合は false を返します。

   

<node>nvpx.CreateRagdollHelper()

ラグドール ヘルパーを作成します。

   

<void>nvpx.RagdollRegenerate <node>ragdoll <&node array>bones 

bones is In and Out parameter

2 番目の引数で指定されたボーン ノードの配列を使用して、指定されたラグドール ノードを再生成します。

   

<void>nvpx.RagdollAddBone <node>ragdoll <node>boneNode

2 番目の引数で指定されたボーン ノードを、1 番目の引数で指定されたラグドール ノードに追加します。

   

<void>nvpx.RagdollRemoveBone <node>ragdoll <node>boneNode

2 番目の引数で指定されたボーン ノードを、1 番目の引数で指定されたラグドールから削除します。

   

<boolean>nvpx.RagdollGroupBones <node>ragdoll <&node array>bones 

bones is In and Out parameter

1 番目の引数で指定されたラグドールのラグドール ボーンを、2 番目の引数として渡された参照の配列を使用して指定します。成功した場合は true を、失敗した場合は false を返します。

   

<boolean>nvpx.RagdollSave <node>ragdoll <string>filename

1 番目の引数で指定されたラグドールを、2 番目の引数で指定されたファイル名に保存します。成功した場合は true を、失敗した場合は false を返します。

   

<boolean>nvpx.RagdollLoad <node>ragdoll <string>filename

1 番目の引数で指定されたラグドールを、2 番目の引数で指定されたファイルからロードします。成功した場合は true を、失敗した場合は false を返します。

   

Biped 統合

メソッド:

<boolean>nvpx.IsBiped <node>inode

指定されたノードが Biped ノードである場合は true を返し、それ以外の場合は false を返します。

   

<boolean>nvpx.IsBipedRoot <node>inode

指定されたノードが Biped ルート ノードである場合は true を返し、それ以外の場合は false を返します。

   

<boolean>nvpx.IsBipedFootsteps <node>inode

指定されたノードが Biped 足跡ノードである場合は true を返し、それ以外の場合は false を返します。

   

<void>nvpx.BipedSetKeys <boolean>setKeys

引数が true の場合、選択されている Biped に対するキーを設定します。

   

Physique 統合

メソッド:

<boolean>nvpx.PhysiqueLoad <node>inode

指定されたノードの Physique データをロードします。

   

<integer>nvpx.PhysiqueGetNumBones <node>inode

指定されたノードの Physique モディファイヤに関連付けられているボーンの数を返します。

   

<node>nvpx.PhysiqueGetBone <node>inode <integer>boneIndex

指定されたノードの指定されたインデックスのボーン ノードを返します。

   

<integer>nvpx.PhysiqueGetNumBoneVertices <node>inode <node>boneNode

1 番目の引数で指定されたノード内にある、2 番目の引数で指定されたボーンによって影響を受ける頂点の数を返します。

   

<point3 by value>nvpx.PhysiqueGetBoneVertex <node>inode <node>boneNode <integer>verticeIndex

1 番目の引数で指定されたノード内にあり、2 番目の引数で指定されたボーンによって影響を受ける、インデックスで指定された頂点の位置を返します。

   

ユーティリティ関数

メソッド:

<boolean>nvpx.IsConvex <node>inode

指定されたノードが凸型の場合は true を返し、凹型の場合またはジオメトリ オブジェクトではない場合は false を返します。

   

<float>nvpx.CalcVolume <node>inode

指定されたノードのボリュームを一般的なキュービック単位で返します。

   

間接的ドラッグ メソッド

メソッド:

<boolean>nvpx.StartIndirectDrag <node>attach

シミュレーションの実行中に指定されたノードをマウスにアタッチすることで間接的ドラッグを開始します。成功した場合は true を返し、シミュレーションが実行されていない場合は false を返します。

   

<boolean>nvpx.OnIndirectDrag <&point3>mousepos

mousepos is In and Out parameter

間接的ドラッグが有効の場合は、 true を返し、マウスの位置を参照引数に格納します。それ以外の場合は false を返します。

   

<boolean>nvpx.EndIndirectDrag()

間接的ドラッグを終了します。成功した場合は true 、失敗した場合は false を返します。

   

ビジュアライザー メソッド

メソッド:

<boolean>nvpx.VisualizerGetEnabled()

ビジュアライザーの有効状態を返します。

<void>nvpx.VisualizerSetEnabled <boolean>flag

ビジュアライザーの有効状態を設定します。

   

<float>nvpx.VisualizerGetScale()

ビジュアライザーのスケール値を返します。既定値は 1.0 です。

<float>nvpx.VisualizerSetScale <float>newScale

ビジュアライザーのスケールを、指定された浮動小数点値に設定します。

   

<integer>nvpx.VisualizerGetPhysXParamCount()

ビジュアライザーがサポートしている PhysX パラメータの数を返します。

   

<string>nvpx.VisualizerGetPhysXParamName <integer>index

i 番目のパラメータの名前を返します。インデックスの基数は 1 です。

   

<integer>nvpx.VisualizerGetPhysXParam <string>paramName

指定されたビジュアライザー パラメータの値を返します。ブール値は整数で表され、0 は false、1 は true です。

<boolean>nvpx.VisualizerSetPhysXParam <string>paramName <boolean>flag

1 番目の引数で指定された名前のビジュアライザー パラメータを、2 番目の引数で指定されたブール値に設定します。成功した場合は true を返し、パラメータ名を認識できなかった場合は false を返します。有効なパラメータ名のリストについては、次の例を参照してください。

例:

for i = 1 to nvpx.VisualizerGetPhysXParamCount() do
(
  local theName= (nvpx.VisualizerGetPhysXParamName i)
  format "%: \"%\" = %\n" i theName (nvpx.VisualizerGetPhysXParam theName)
)

出力:

1: "Body Axis" = 0
2: "Body Mass Axes" = 0
3: "Body Linear Velocity" = 0
4: "Body Angular Velocity" = 0
5: "Joint Local Axes" = 0
6: "Joint World Axes" = 0
7: "Joint Limits" = 0
8: "Contact Point" = 0
9: "Contact Normal" = 0
10: "Contact Error" = 0
11: "Contact Force" = 1
12: "Actor Axes" = 0
13: "Collision AABBS" = 0
14: "Collision Shapes" = 0
15: "Collision Axes" = 0
16: "Collision Compounds" = 0
17: "Collision VNormals" = 0
18: "Collision FNormals" = 0
19: "Collision Edges" = 0
20: "Collision Spheres" = 0
21: "Collision Static" = 0
22: "Collision Free" = 0
23: "Collision CCD" = 0
24: "Collision Skeletons" = 0
OK

   

PhysX システム

メソッド:

<integer>nvpx.GetPhysXSDKVersion()

PhysX SDK のバージョンを整数として返します。

   

<string>nvpx.GetPhysXSDKVersionString()

PhysX SDK のバージョンを文字列として返します。

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

<integer>nvpx.GetPhysXSDKVersionMajor()

PhysX SDK のメジャー バージョンを整数として返します。

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

<integer>nvpx.GetPhysXSDKVersionMinor()

PhysX SDK のマイナー バージョンを整数として返します。

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

<integer>nvpx.GetPhysXSDKVersionBugFix()

PhysX SDK のバグ修正バージョンを整数として返します。

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

   

<integer>nvpx.GetApexSDKVersion()

Apex SDK のバージョンを整数として返します。

   

<integer>nvpx.GetPhysXPluginCount()

インストールされている PhysX プラグインの数を返します。

   

<integer>nvpx.GetPhysXPluginVersion <integer>Index

指定されたインデックスの PhysX プラグインのバージョン番号を返します。

インデックスが 1 未満の場合、または nvpx.GetPhysXPluginCount() で返される値より大きい場合は、0 が返されます。

   

<string>nvpx.GetPhysXPluginVersionString <integer>Index

指定されたインデックスの PhysX プラグインのバージョンを文字列として返します。

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

<integer>nvpx.GetPhysXPluginVersionMajor <integer>Index

指定されたインデックスの PhysX プラグインのメジャー バージョンを整数として返します。

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

<integer>nvpx.GetPhysXPluginVersionMinor <integer>Index

指定されたインデックスの PhysX プラグインのマイナー バージョンを整数として返します。

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

<integer>nvpx.GetPhysXPluginVersionBugFix <integer>Index

指定されたインデックスの PhysX プラグインのバグ修正バージョンを整数として返します。

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

   

<bool>nvpx.IsAutodeskVersion()

PhysX プラグインが Autodesk MassFX バージョンの場合は True を、NVidia またはサード パーティ ビルドの場合は False を返します。

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

   

<string>nvpx.GetPluginCompanyName()

組織固有のプラグイン名を返します。

Autodesk ビルドの場合は、「MassFX」を返します。

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

   

<string>nvpx.GetScriptPath()

MassFX 関連スクリプトへのパスを返します。

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

例:

nvpx.GetScriptPath()

出力:

"stdplugs\stdscripts\(MassFX)\"

   

<integer>nvpx.InitializePhysX <value>stream

PhysX システムを初期化します。

   

<void>nvpx.BeforeAddPhysXActors()

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

   

<integer>nvpx.CreateToolbar()

MassFX シミュレーション ツールバーを作成します。

   

<void>nvpx.ShowToolbar <boolean>show

ブール引数として true が渡された場合は、MassFX シミュレーション ツールバーを表示します。

ブール引数として false が渡された場合は、MassFX シミュレーション ツールバーを表示しません。

   

<void>nvpx.ShowMaterialEditor <boolean>show

このメソッドは 3ds Max 2012 で使用できましたが、3ds Max 2013 から削除されています。

   

<boolean>nvpx.ShowValidateScene <boolean>automated

[シーンを検証](Validate Scene)ダイアログを表示します。

ブール引数が true の場合は、テストも自動的に実行されます。

ブール引数が false の場合は、テストは実行されないので、[検証](Validate)ボタンをクリックする必要があります。

   

<boolean>nvpx.HwAvailable()

PhysX アクセラレーション ハードウェアが使用可能な場合は true を返し、それ以外の場合は false を返します。

   

<integer>nvpx.GetScreenHeight()

画面の高さをピクセル数で返します。

   

<float>nvpx.GetSimulationFPS()

シミュレーションのフレーム レートを、1 秒あたりのフレーム数の浮動小数点値で返します。

   

<boolean>nvpx.PrintSimulationFPS <boolean>onoff

ブール引数として true が渡された場合は、MAXScript リスナーに対する自動シミュレーション フレーム レートの出力を有効にします。

引数が false の場合は、フレーム レートの出力はオフになります。

   

<boolean>nvpx.UsePhysXPlugin <integer>Index

指定されたインデックスの PhysX プラグインに切り替えます。

成功した場合は true を返し、失敗した場合(プラグインのインデックスが範囲外の場合など)は false を返します。

さらに、MAXScript リスナーに「Switch PhysX SDK to XXX」というメッセージを出力します。XXX は、 nvpx.GetPhysXPluginCount() によって返される SDK のバージョンです。

   

<void>nvpx.DetachPhysX()

PhysX プラグインをデタッチします。

   

<void>nvpx.AttachPhysX()

PhysX プラグインをアタッチします。

   

<void>nvpx.DestroyPhysX()

PhysX プラグインを破棄します。

   

<void>nvpx.OpenHelpFile()

使用可能な場合は、MassFX ヘルプ ファイルを開きます。

   

<boolean>nvpx.IsApexAvailable()

APEX の布地シミュレーションが現在のプラグインで使用可能な場合は true を返し、それ以外の場合は false を返します。

   

<integer>nvpx.DebugPrint()

デバッグ テキストを MAXScript リスナーに出力します。PhysX エンジンの現在の状態、およびシーン内のシミュレーション オブジェクトについての情報が含まれます。

nvpx.DebugPrint()
-->
PhysX SDK version: 34079744, HW version: 0
   Number of PPUs: 0
   Number of Triangle meshes: 0
   Number of HeightFields: 0
   Number of Cloth meshes: 0
   Number of SoftBody meshes: 0
   Number of CCD skeletons: 0
   Number of Scenes: 1
   Scene object: 1013386992
      Number of NxActors: 0
Our Scene object: 1013386992
Cooking interface object: 970914512, initialized: true
---------------------------------------------------
0

   

<void>nvpx.DescribeMe()

nvpx インタフェースによって実装されているすべてのメソッドのリストを出力します。 showInterface nvpx を呼び出すのと似ています。

   

<void>nvpx.PhysXPanelTooltip()

   

<boolean>nvpx.ConnectPVD <string>hostName

   

<void>nvpx.SetButtonCheck <integer>id <boolean>value

   

<boolean>nvpx.SetNullCM()

PhysX ドラッグ モードを開始します。

   

<boolean>nvpx.RemoveNullCM()

PhysX ドラッグ モードを終了します。

   

<void>nvpx.SetAnimationState <boolean>state

アニメーションの状態を、指定されたブール演算値に設定します。

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

<boolean>nvpx.GetAnimationState()

アニメーションの状態をブール演算値として返します。

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

   

<string>nvpx.GetPluginBuild()

プラグイン ビルド文字列を返します。

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

   

<void>nvpx.ShowAboutDialog()

MassFX バージョン ダイアログが開きます。

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

   

<integer>nvpx.GetBehaviorReason()

[動作理由](Behavior Reason)モードを表す整数を返します。

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

<boolean>nvpx.SetBehaviorReason <integer>mode

動作理由を指定された整数モードに設定します。成功した場合は True を、失敗した場合は False を返します。

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

   

<integer>nvpx.GetVirtualScreenX()

仮想画面の X サイズを返します。

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

<integer>nvpx.GetVirtualScreenY()

仮想画面の Y サイズを返します。

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

   

<void>nvpx.DumpContentCore <string>file <integer>Type

すべてのコア設定が含まれている XML ファイルを、指定されたファイル名で作成します。

2 番目の引数によって内容のタイプをコントロールします - 0 の場合はオブジェクトの定義のみが出力され、1 または 0 以外の場合は引数にすべてのタイプの定義も含まれます。

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

nvpx.DumpContentCore @"c:\temp\DumpContentCore.txt" 0

ファイル内容

<?xml version="1.0" encoding="utf-16"?><?xml-stylesheet type="text/xsl" href="cc.xslt"?>
<contentcore>
	<objects>
		<object name="0x29953550" type="ICCPhysX" links="0" address="0x29953550" >
			<field name="ContactShellDepth">
				0.0393701
			</field>
			<field name="ContactShellOffset">
				0.0393701
			</field>
			<field name="ContactShellInvert">
				0
			</field>
			<field name="BounceMinimumVelocity">
				0
			</field>
			<field name="EnableCCD">
				0
			</field>
			<field name="CcdEpsilon">
				0
			</field>
			<field name="ContinuousCD">
				3241.57
			</field>
			<field name="UseGravity">
				1
			</field>
			<field name="Gravity">
				{0,0,-386.221}
			</field>
			<field name="UseAdaptiveForce">
				1
			</field>
			<field name="EnableContactReport">
				0
			</field>
			<field name="IsApexDLLPresent">
				1
			</field>
			<field name="IsApexLoaded">
				0
			</field>
			<field name="PhysXSDKVersion">
				285
			</field>
			<field name="PhysXSDKVersionMajor">
				2
			</field>
			<field name="PhysXSDKVersionMinor">
				8
			</field>
			<field name="PhysXSDKVersionBugFix">
				5
			</field>
			<field name="ApexSDKVersion">
				102
			</field>
			<field name="DensityFactor">
				0.016387
			</field>
			<field name="SolverIterations">
				30
			</field>
			<field name="FPS">
				0
			</field>
			<field name="IsHwAvailable">
				1
			</field>
			<field name="SupportMultiThread">
				1
			</field>
			<field name="UseMultiThread">
				0
			</field>
			<field name="CCDMotionThreshold">
				5
			</field>
			<field name="SupportHardwareScene">
				1
			</field>
			<field name="UseHardwareScene">
				0
			</field>
			<field name="UseGroundPlane">
				74
			</field>
			<field name="FOV">
				0.785398
			</field>
			<field name="FocalDistance">
				250
			</field>
			<field name="ViewDirection">
				{-0.612372,-0.612372,0.5}
			</field>
			<field name="ViewPoint">
				{-153.093,-153.093,125}
			</field>
			<field name="ViewUpDirection">
				{0.353553,0.353553,0.866025}
			</field>
			<field name="ViewportWidth">
				842
			</field>
			<field name="ViewportHeight">
				484
			</field>
			<field name="OrthoWidth">
				1
			</field>
			<field name="OrthoHeight">
				1
			</field>
			<field name="MinZ">
				0.1
			</field>
			<field name="MaxZ">
				4000
			</field>
			<field name="IsPerspective">
				1
			</field>
			<field name="GenerateShapePerElement">
				1
			</field>
			<field name="SleepEnergyMassInvariant">
				1.9685
			</field>
		</object>
		<object name="0x49d18c30" type="ICCScene" links="0" address="0x49d18c30" >
			<field name="AnimationFPS">
				60
			</field>
			<field name="AnimationStartFrame">
				0
			</field>
			<field name="AnimationEndFrame">
				0
			</field>
			<field name="RootNode">
				0x00000000297B81A0
			</field>
			<field name="WorldBounds">
				<class type="ccBounds3"></class>
			</field>
			<field name="SubSteps">
				3
			</field>
			<field name="SubSubSteps">
				0
			</field>
			<field name="DistanceUnit">
				5
			</field>
		</object>
		<object name="0x49d18d00" type="ICCContactManager" links="0" address="0x49d18d00" >
			<field name="IsEnabled">
				1
			</field>
			<field name="Layers">
				{{[0x0000000048904020]=0x0000000048904020}{[0x00000000489042E0]=0x00000000489042E0}{[0x0000000048904440]=0x0000000048904440}{[0x00000000489045A0]=0x00000000489045A0}{[0x0000000048904700]=0x0000000048904700}}
			</field>
		</object>
		<object name="0x48904020" type="ICCContactLayer" links="0" address="0x48904020" >
			<field name="ContactSelf">
				1
			</field>
			<field name="LayersInteractWith">
				{empty}
			</field>
			<field name="AgentsJoinedFull">
				{empty}
			</field>
			<field name="AgentsJoinedPartial">
				{empty}
			</field>
		</object>
		<object name="0x489042e0" type="ICCContactLayer" links="0" address="0x489042e0" >
			<field name="ContactSelf">
				0
			</field>
			<field name="LayersInteractWith">
				{empty}
			</field>
			<field name="AgentsJoinedFull">
				{empty}
			</field>
			<field name="AgentsJoinedPartial">
				{empty}
			</field>
		</object>
		<object name="0x489045a0" type="ICCContactLayer" links="0" address="0x489045a0" >
			<field name="ContactSelf">
				1
			</field>
			<field name="LayersInteractWith">
				{{[0x0000000048904020]=0x0000000048904020}}
			</field>
			<field name="AgentsJoinedFull">
				{empty}
			</field>
			<field name="AgentsJoinedPartial">
				{empty}
			</field>
		</object>
		<object name="0x48904440" type="ICCContactLayer" links="0" address="0x48904440" >
			<field name="ContactSelf">
				0
			</field>
			<field name="LayersInteractWith">
				{empty}
			</field>
			<field name="AgentsJoinedFull">
				{empty}
			</field>
			<field name="AgentsJoinedPartial">
				{empty}
			</field>
		</object>
		<object name="0x48904700" type="ICCContactLayer" links="0" address="0x48904700" >
			<field name="ContactSelf">
				1
			</field>
			<field name="LayersInteractWith">
				{empty}
			</field>
			<field name="AgentsJoinedFull">
				{empty}
			</field>
			<field name="AgentsJoinedPartial">
				{empty}
			</field>
		</object>
		<object name="0x297b81a0" type="ICCNode" links="0" address="0x297b81a0" >
			<field name="WorldMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="OffsetMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="PivotMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="PivotInverseMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="Scene">
				0x0000000049D18C30
			</field>
			<field name="ChildActor">
				0x0000000000000000
			</field>
			<field name="ChildGeometry">
				0x0000000000000000
			</field>
			<field name="ChildConvexes">
				{empty}
			</field>
			<field name="IsBone">
				0
			</field>
			<field name="Children">
				{empty}
			</field>
			<field name="Parent">
				0x0000000000000000
			</field>
			<field name="NodeName">
				{Scene Root}
			</field>
			<field name="NodeType">
				0
			</field>
			<field name="PartIndex">
				917
			</field>
			<field name="DCCHandle">
				924
			</field>
		</object>
		<object name="0x49d193f0" type="ICCScene" links="0" address="0x49d193f0" >
			<field name="AnimationFPS">
				30
			</field>
			<field name="AnimationStartFrame">
				0
			</field>
			<field name="AnimationEndFrame">
				100
			</field>
			<field name="RootNode">
				0x00000000297B8640
			</field>
			<field name="WorldBounds">
				<class type="ccBounds3"></class>
			</field>
			<field name="SubSteps">
				3
			</field>
			<field name="SubSubSteps">
				0
			</field>
			<field name="DistanceUnit">
				5
			</field>
		</object>
		<object name="0x49d194c0" type="ICCContactManager" links="0" address="0x49d194c0" >
			<field name="IsEnabled">
				0
			</field>
			<field name="Layers">
				{empty}
			</field>
		</object>
		<object name="0x297b8640" type="ICCNode" links="0" address="0x297b8640" >
			<field name="WorldMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="OffsetMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="PivotMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="PivotInverseMatrix">
				{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}
			</field>
			<field name="Scene">
				0x0000000049D193F0
			</field>
			<field name="ChildActor">
				0x0000000000000000
			</field>
			<field name="ChildGeometry">
				0x0000000000000000
			</field>
			<field name="ChildConvexes">
				{empty}
			</field>
			<field name="IsBone">
				0
			</field>
			<field name="Children">
				{empty}
			</field>
			<field name="Parent">
				0x0000000000000000
			</field>
			<field name="NodeName">
				{Scene Root}
			</field>
			<field name="NodeType">
				0
			</field>
			<field name="PartIndex">
				0
			</field>
			<field name="DCCHandle">
				0
			</field>
		</object>
	</objects>
</contentcore>

   

<void>nvpx.SwitchSDKOnPanelData()

内部で使用します。

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

   

ビューア

<void>nvpx.CreateViewer()

ビューアを作成します。

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

   

<void>nvpx.PreCreateViewer()

ビューアの作成前に呼び出します。

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

   

<void>nvpx.PostCreateViewer()

ビューアの作成後に呼び出します。

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

   

<boolean>nvpx.ShouldViewerSync()

ビューアの同期状態を返します。既定値は False です。

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

   

<integer>nvpx.GetViewerCommand()

ビューアのコマンドを返します。

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

<integer>nvpx.SetViewerCommand <integer>command

ビューアのコマンドを設定します。

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

   

<void>nvpx.CheckViewerState()

ビューアの状態を更新します。

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

   

<void>nvpx.UpdateViewerPlayback()

ビューアの再生を更新します。

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

   

プロファイラ メソッド

メソッド:

<void>nvpx.ProfilerBegin <string>name

プロファイリングを開始します。

   

<void>nvpx.ProfilerEnd <string>name

プロファイリングを終了します。

   

<void>nvpx.ProfilerDump()

開始と終了の呼び出しの間に収集されたプロファイリング情報をダンプします。定義されているプロファイラごとに行があり、平均時間、最小時間、最大時間、合計時間と、シミュレーションの実行回数に関する情報が含まれます。

nvpx.ProfilerBegin "Test" --start profiling.
--> OK

--Perform MassFX Simulation, e.g. Bake All.

nvpx.ProfilerEnd "Test" --end profiling.
--> OK
nvpx.ProfilerDump() --Dump the collected info:
--> Test avg:37728ms min:37728 max:37728 count:1 total:37728ms
--> OK

   

マルチ スレッディングとハードウェア アクセラレーション

メソッド:

<boolean>nvpx.SupportMultiThread()

PhysX エンジンがマルチ スレッディングをサポートしている場合は true を返し、サポートしていない場合は false を返します。

   

<boolean>nvpx.IsMultiThreadOn()

マルチ スレッディングが有効である場合は true を返し、無効になっている場合は false を返します。既定値は false です。

   

<boolean>nvpx.UseMultiThread <boolean>onOff

引数が true の場合は、マルチ スレッディングを有効にします。引数が false の場合は、マルチ スレッディングを無効にします。

   

<boolean>nvpx.SupportHardwareScene()

ハードウェア アクセラレーションが現在サポートされている場合は true を返し、サポートされていない場合は false を返します。

   

<boolean>nvpx.IsHardwareSceneOn()

ハードウェア アクセラレーションが有効である場合は true を返し、無効になっている場合は false を返します。

   

<boolean>nvpx.UseHardwareScene <boolean>onOff

引数が true でハードウェア アクセラレーションがサポートされている場合は、ハードウェア アクセラレーションを有効にします。false の場合は、ハードウェア アクセラレーションを無効にします。成功した場合は true を返し、ハードウェア アクセラレーションがサポートされていない場合は false を返します。

   

UnitTest メソッド

以下のメソッドは内部的な単位テストの実行に使用されるものなので、ユーザは呼び出さないでください。

メソッド:

<void>nvpx.UnitTest_MaterialCreate <integer>type <string>name
<boolean>nvpx.UnitTest_MaterialFind <string>name
<void>nvpx.UnitTest_MaterialDelete <string>type
<void>nvpx.UnitTest_MaterialAssign <node>node <string>name
<string>nvpx.UnitTest_MaterialPick <node>node
<void>nvpx.UnitTest_MaterialSetSelection <string>type
<string>nvpx.UnitTest_MaterialGetSelection()

   

破壊と破損

<node>nvpx.CreateDestruction <&node array>nodes 

nodes is In and Out parameter

by-reference 配列引数でノードを使用して、破壊設定を作成します。

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

   

<void>nvpx.UpdateDamageForces <float>Damage <float>Momentum <float>Radius

指定された破損、運動量、および半径を使用して破損フォースを更新します。

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

   

<void>nvpx.ToggleBomb()

爆破のオンとオフを切り替えます。

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

   

<void>nvpx.ToggleHammer()

ハンマーのオンとオフを切り替えます。

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

   

   

関連事項