MassFX_RBody : モディファイヤ
MassFX_RBody - superclass: modifier; super-superclass:MAXWrapper - 54:8 - classID: #(685326, 452282)
このクラスは、MassFX リジッド ボディ モディファイヤを実装します。
3ds Max 2012 以降で使用可能です。
コンストラクタ:
以下のプロパティのほとんどは MassFX_RBody モディファイヤ自身によって公開され、メソッドは PhysXModRBInterface MixIn Interface によって公開されます。
[リジッド ボディ プロパティ](Rigid Body Properties)ロールアウト
プロパティ:
<MassFX_RBody>.type Integer default: 1 -- integer; None
[リジッド ボディ タイプ](Rigid Body Type)ドロップダウン リストの状態を取得/設定します。
有効な値は次のとおりです。
1 - ダイナミック (既定値) - リジッド ボディはシミュレーションによってコントロールされます。重力の影響を受け、他のリジッド ボディなどと衝突し、それに反応します。リジッド ボディ
メッシュを凹型にすることはできません。
2 - キネマティック - リジッド ボディは定義済み(通常はキーフレーム)のアニメーションによってコントロールされます。ダイナミック リジッド ボディをコントロールできますが、それ以外の場合は物理シミュレーションの影響を受けません。リジッド
ボディ メッシュを凹型にすることはできません。
3 - 静止 - リジッド ボディは曲がりません。ダイナミック リジッド ボディと連動できますが、アニメートすることはできません。リジッド ボディ メッシュは凹型にすることができます。
<MassFX_RBody>.switchType BooleanClass default: false -- boolean; None
[有効フレーム](Until Frame)チェックボックスの状態を取得/設定します。true に設定した場合、 .switchTypeAtFrame プロパティで指定した特定のフレームでリジッド ボディのタイプをキネマティックからダイナミックに切り替えることができます。
<MassFX_RBody>.switchTypeAtFrame Integer default: 0 -- integer; None
.switchType プロパティが true に設定されている場合にリジッド ボディがキネマティックからダイナミックに切り替えられるフレームを取得/設定します。
<MassFX_RBody>.baked Integer default: 0 -- integer; None
[ベイク処理](Bake)/[ベイク解除](Unbake)ボタンの状態を取得/設定します。ベイク処理されている場合、ダイナミック リジッド ボディのアニメーションはキーフレームに変換されます。
有効な値は次のとおりです。
0 - ベイク解除 - このプロパティを 0 に設定すると、リジッド ボディがベイク解除され、ボタンのキャプションが「ベイク処理」に切り替わります。
1 - ベイク処理 - このプロパティを 1 に設定すると、リジッド ボディがベイク処理され、ボタンのキャプションが「ベイク解除」に切り替わります。
<MassFX_RBody>.ContinuousCollisionDetection BooleanClass default: false -- boolean; None
[高速度衝突を使用](Use High Velocity Collisions)オプションの状態を取得/設定します。
true に設定し、[MassFX ワールド](MassFX World)パネルのグローバルな[高速度衝突](High Velocity Collisions)スイッチがオンになっている場合、ダイナミック
リジッド ボディは継続的な衝突探知を実行します。
<MassFX_RBody>.SleepAtStart BooleanClass default: false -- boolean; None
[スリープ モードで開始](Start In Sleep Mode)オプションの状態を取得/設定します。
true に設定した場合、ダイナミック リジッド ボディは、シミュレーションの開始時に、グローバル スリープ モード設定を使用してスリープ モードになります。つまり、ダイナミック
リジッド ボディは、スリープになっていないリジッド ボディと衝突するまで動きません。
<MassFX_RBody>.CollideWithRigidBodies BooleanClass default: true -- boolean; None
[リジッド ボディと衝突](Collide With Ridig Bodies)オプションの状態を取得/設定します。
true に設定すると、このリジッド ボディは他のリジッド ボディと衝突します。false に設定すると、このリジッド ボディは衝突に関与しません。
[物理的マテリアル](Physical Material)ロールアウト
プロパティ:
<MassFX_RBody>.density Float default: 0.5 -- float; None
リジッド ボディの密度を取得/設定します。密度は 1 立方センチメートルあたりのグラムで測定されます。この値を変更すると、オブジェクトの正しい質量をボリュームに基づき自動的に計算します。
<MassFX_RBody>.mass Float default: 1.0 -- float; None
リジッド ボディの質量(キログラム単位)を取得/設定します。
<MassFX_RBody>.staticFriction Float default: 0.3 -- float; None
リジッド ボディの物理的マテリアルの静止摩擦値を取得/設定します。
静止摩擦は、2 つのリジッド ボディが互いにスライドを開始する難易度を表します。値 0.0 は摩擦がないことを示し、値 1.0 は完全な摩擦を示します。2 つのリジッド
ボディ間の有効な静止摩擦は、両者のリジッド ボディの静止摩擦値の積です。一方のリジット ボディの静止摩擦が 0.0 の場合は、他のリジッド ボディの値は重要ではありません(濡れた氷の上では何でもスライドします。紙やすりでもスライドします)。2
つのオブジェクトがスライドを開始すると、動的摩擦(以下参照)が代わりに適用されます。
<MassFX_RBody>.dynamicFriction Float default: 0.3 -- float; None
物理的マテリアルの動的摩擦値を取得/設定します。
動的摩擦は、2 つのリジッド ボディが互いにスライドを継続する難易度を表します。正確には、このパラメータは「キネマティック摩擦係数」と呼ばれます。値 0.0 は摩擦がないことを示し、値 1.0 は完全な摩擦を示します。現実の世界では、この値は静止摩擦より小さくなります。オブジェクトを動かし続けるよりもオブジェクトを動かし始めるほうが難しいからです。静止摩擦に関して、2
つのリジッド ボディ間の係数値は各値の積になります。
<MassFX_RBody>.bounciness Float default: 0.5 -- float; None
リジッド ボディの物理的マテリアルの弾力性値を取得/設定します。
この値は、オブジェクトが別のリジッド ボディとぶつかったときにどの程度跳ね返るかをコントロールします。正確には、このパラメータは「反発係数」と呼ばれます。値が 0.0 の場合、バウンドしないことを示します。また、値が 1.0 の場合、オブジェクトが衝突するのと同じように強くバウンドすることを示します。2
つのリジッド ボディ間の有効な弾力性は、両者のリジッド ボディの弾力性値の積です。
メソッド:
<boolean><MassFX_RBody>.SetRBPresetMaterial <integer>materialID
3ds Max 2013 以降で使用可能です。
[物理的シェイプ](Physical Shapes)ロールアウト
プロパティ:
<MassFX_RBody>.meshType Integer default: 4 -- integer; None
有効な値は次のとおりです。
1 - 球
2 - ボックス
3 - カプセル
4 - 凸型(既定値)
5 - 凸型
6 - カスタム
7 - 凹型
<MassFX_RBody>.meshOverrideMaterial BooleanClass default: true -- boolean; None;
このプロパティは、[物理的マテリアルを上書き](Override Physical Mesh)チェックボックスのパラメータによって公開されていますが、使用することはできません。
各メッシュの[物理的マテリアルを上書き](Override Physical Material)オプションを取得および設定するには、次で説明する .GetRBMeshOverrideMasterMat() および .SetRBMeshOverrideMasterMat() メソッドを使用します。
メソッド:
<integer><MassFX_RBody>.GetRBMeshCount()
リジッド ボディ メッシュの数を返します。
<integer><MassFX_RBody>.AddRBMesh()
リジッド ボディ メッシュを追加し、そのインデックスを返します。
<string><MassFX_RBody>.GetRBMeshName <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの名前を返します。
<boolean><MassFX_RBody>.SetRBMeshName <integer>meshIndex <string>meshName
インデックスで指定されたリジッド ボディ メッシュの名前を、2 番目の引数で渡された文字列に設定します。
<boolean><MassFX_RBody>.DeleteRBMesh <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュを削除します。
成功した場合は true を、失敗した場合は false を返します。
<boolean><MassFX_RBody>.ClipboardCopyRBMesh <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュをクリップボードにコピーします。
成功した場合は true を、失敗した場合は false を返します。
<boolean><MassFX_RBody>.ClipboardPasteRBMesh()
リジッド ボディ メッシュをクリップボードから貼り付けます(貼り付け可能な場合)。
成功した場合は true を、失敗した場合は false を返します。
<string><MassFX_RBody>.GetRBMeshType <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュのタイプを返します。
<boolean><MassFX_RBody>.SetRBMeshType <integer>meshIndex <integer>meshType
インデックスで指定されたリジッド ボディ メッシュのタイプを、2 番目の引数で渡された整数に設定します。
<node><MassFX_RBody>.RBMeshConvertToCustomMesh <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュをカスタム メッシュに変換し、それをノードとして返します。
<boolean><MassFX_RBody>.GetRBMeshOverrideMasterMat <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの[マスター マテリアルを上書き](Override Master Material)プロパティをブール値として返します。
<boolean><MassFX_RBody>.SetRBMeshOverrideMasterMat <integer>meshIndex <boolean>overrideIt
インデックスで指定されたリジッド ボディ メッシュの[マスター マテリアルを上書き](Override Master Material)を、2 番目の引数で渡されたブール値に設定します。
<&matrix3><MassFX_RBody>.GetRBMeshTM <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの変換行列を返します。
<boolean><MassFX_RBody>.SetRBMeshTM <integer>meshIndex <&matrix3>pose
pose is In and Out parameter
インデックスで指定されたリジッド ボディ メッシュの変換行列を、2 番目の参照引数で渡された matrix3 値に設定します。
<mesh><MassFX_RBody>.GetRBMeshShape <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュのシェイプを TriMesh 値として返します。
<boolean><MassFX_RBody>.SetRBMeshShape <integer>meshIndex <mesh>newMesh
インデックスで指定されたリジッド ボディ メッシュのシェイプを、2 番目の引数で渡された triMesh 値に設定します。
<void><MassFX_RBody>.RBMeshRegenerate <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュを再生成します。
<integer><MassFX_RBody>.GetRBMeshCompositeMeshCount <integer>meshIndex
リジッド ボディのインデックス付きメッシュ内の合成メッシュ数を返します。
指定されたメッシュ内に合成メッシュがない場合は 0 を返します。
3ds Max 2013 以降で使用可能です。
<boolean><MassFX_RBody>.ExtractCustomMesh()
現在未実装 .
3ds Max 2013 以降で使用可能です。
<boolean><MassFX_RBody>.RBMeshCustomNodeExtract <integer>meshIndex
カスタム ノードとして使用するためにインデックス付きメッシュ ハルを抽出します。
物理的シェイプ ロールアウトの[カスタム シェイプに変換](Convert To Custom Shape)ボタンを押すのと同じです。
3ds Max 2013 以降で使用可能です。
例:
|
theTeapot = Teapot() --create a Teapot primitive
--> $Teapot:Teapot001 @ [0.000000,0.000000,0.000000]
theMod = MassFX_RBody() --create a MassFX Rigid Body Modifier
--> MassFX_RBody:MassFX Rigid Body
addModifier theTeapot theMod --add the Modifier to the Teapot
--> OK
theMod.RBMeshCustomNodeExtract 1 --extract the teapot hull as mesh
--> true
|
[球の物理的メッシュ パラメータ](Sphere Physical Mesh Params)ロールアウト
プロパティ:
<MassFX_RBody>.meshRadius Float default: 0.01 -- float; None
半径スピナーのトラック値を公開します。特定のメッシュのメッシュ半径値を取得および設定するには、次で説明するメソッドを使用する必要があります。
メソッド:
<float><MassFX_RBody>.GetRBMeshRadius <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの半径を返します。
<boolean><MassFX_RBody>.SetRBMeshRadius <integer>meshIndex <float>radius
インデックスで指定されたリジッド ボディ メッシュの半径を、2 番目の引数で渡された浮動小数点値に設定します。
[ボックスの物理的メッシュ パラメータ](Box Physical Mesh Params)ロールアウト
プロパティ:
<MassFX_RBody>.meshWidth Float default: 0.01 -- float; None
<MassFX_RBody>.meshHeight Float default: 0.01 -- float; None
<MassFX_RBody>.meshLength Float default: 0.01 -- float; None
これらのプロパティは、UI で見つかった長さ、幅、および高さスピナーを公開します。特定のメッシュの長さ、幅、および高さを取得および設定するには、次で説明するメソッドを使用する必要があります。
メソッド:
<float><MassFX_RBody>.GetRBMeshLength <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの長さを返します。
<boolean><MassFX_RBody>.SetRBMeshLength <integer>meshIndex <float>Length
インデックスで指定されたリジッド ボディ メッシュの長さを、2 番目の引数で渡された浮動小数点値に設定します。
<float><MassFX_RBody>.GetRBMeshWidth <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの幅を返します。
<boolean><MassFX_RBody>.SetRBMeshWidth <integer>meshIndex <float>Width
インデックスで指定されたリジッド ボディ メッシュの幅を、2 番目の引数で渡された浮動小数点値に設定します。
<float><MassFX_RBody>.GetRBMeshHeight <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの高さを返します。
<boolean><MassFX_RBody>.SetRBMeshHeight <integer>meshIndex <float>Height
インデックスで指定されたリジッド ボディ メッシュの高さを、2 番目の引数で渡された浮動小数点値に設定します。
[カプセルの物理的メッシュ パラメータ](Capsule Physical Mesh Params)ロールアウト
プロパティ:
<MassFX_RBody>.meshRadius Float default: 0.01 -- float; None
<MassFX_RBody>.meshHeight Float default: 0.01 -- float; None
[凹型の物理的メッシュ パラメータ](Concave Physical Mesh Params)ロールアウト
プロパティ:
メソッド:
[凸型の物理的メッシュ パラメータ](Convex Physical Mesh Params)ロールアウト
プロパティ:
<MassFX_RBody>.compositeInflation Float default: 0.0 -- float
<MassFX_RBody>.meshConvexStyle Integer default: 0 -- integer; None
<MassFX_RBody>.meshVerticesLimit Integer default: 32 -- integer; None
メソッド:
<float><MassFX_RBody>.GetRBMeshInflation <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの膨張値を返します。
<boolean><MassFX_RBody>.SetRBMeshInflation <integer>meshIndex <float>Inflation
インデックスで指定されたリジッド ボディ メッシュの膨張を、2 番目の引数で渡された浮動小数点値に設定します。
<integer><MassFX_RBody>.GetRBMeshVertexLimit <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの頂点の制限を返します。
<boolean><MassFX_RBody>.SetRBMeshVertexLimit <integer>meshIndex <integer>VerticeLimit
インデックスで指定されたリジッド ボディ メッシュの頂点の制限を、2 番目の引数で渡された整数値に設定します。
[合成の物理的メッシュ パラメータ](Composite Physical Mesh Params)ロールアウト
プロパティ:
<MassFX_RBody>.compositeMaxVertices Integer default: 128 -- integer
メッシュ ハルの頂点の最大数を取得/設定します。
<MassFX_RBody>.compositeSplitLvl Integer default: 7 -- integer
合成の分割レベルの値を取得/設定します。
3ds Max 2013 以降で使用可能です。
<MassFX_RBody>.meshInflation Float default: 0.0 -- float; None
膨張の値を取得/設定します。
<MassFX_RBody>.compositeSizeDiff Integer default: 90 -- integer
合成サイズの差の割合の値を取得/設定します。
旧バージョンでは .compositeSizeDifference として公開されていました。
3ds Max 2013 以降で使用可能です。
<MassFX_RBody>.compositeShrinkWrap Integer default: 90 -- integer
合成のシュリンク ラップの割合の値を取得/設定します。
<MassFX_RBody>.compositeGranularity Integer default: 90 -- integer
合成の粒状性の割合の値を取得/設定します。
<MassFX_RBody>.compositeMaxConcavity Float default: 100.0 -- float
合成の最大凹面の値を取得/設定します。
[物理的メッシュ パラメータ](Physical Mesh Parameters)ロールアウトの[凹面](Concavity)プロパティに対応します。
3ds Max 2013 以降で使用可能です。
<MassFX_RBody>.compositeMinHulls Integer default: 1 -- integer
作成する合成ハルの最小数を取得/設定します。
3ds Max 2013 以降で使用可能です。
<MassFX_RBody>.compositeConnDist Float default: 0.0 -- float
合成接続距離の値を取得/設定します。
3ds Max 2013 以降で使用可能です。
<MassFX_RBody>.compositeControlPoints Integer default: 1 -- integer
合成コントロール ポイントの数を取得/設定します。
3ds Max 2013 以降で使用可能です。
<MassFX_RBody>.compositeSolidMeshes BooleanClass default: false -- boolean
ソリッド メッシュを表示するかどうかを取得/設定します。
UI の[ソリッド メッシュを表示](Display Solid Meshes)チェック ボックスに対応します。
3ds Max 2013 以降で使用可能です。
メソッド:
<boolean><MassFX_RBody>.RBMeshCompositeGenerate <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの合成メッシュを生成します。
成功した場合は true を、失敗した場合は false を返します。
<integer><MassFX_RBody>.GetRBMeshCompositeMeshCount <integer>meshIndex
合成メッシュの数を返します。
<node><MassFX_RBody>.GetRBMeshCompositeMesh <integer>meshIndex <integer>index
最初の引数で指定されたリジッド ボディ メッシュの、2 番目の引数で指定されたインデックス付き合成メッシュを返します。
[カスタムの物理的メッシュ パラメータ](Custom Physical Mesh Params)ロールアウト
メソッド:
<node><MassFX_RBody>.GetRBMeshCustomNode <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュのカスタム ノードを返します。
<boolean><MassFX_RBody>.SetRBMeshCustomNode <integer>meshIndex <node>CustomNode
インデックスで指定されたリジッド ボディ メッシュのカスタム ノードを、2 番目の引数で渡されたノード値に設定します。
<boolean><MassFX_RBody>.ExtractCustomMesh()
カスタム メッシュを抽出します。
成功した場合は true を、失敗した場合は false を返します。
<boolean><MassFX_RBody>.RBMeshCustomNodeUpdateFromSource <integer>meshIndex
ソース オブジェクトからのインデックス付きシェイプを更新します。
モディファイヤのUIの[ソース オブジェクトから更新](Update From Source Object)ボタンを押すのと同じです。
成功した場合は true を、失敗した場合は false を返します。
3ds Max 2013 以降で使用可能です。
[フォース](Forces) ロールアウト
プロパティ:
<MassFX_RBody>.EnableGravity BooleanClass default: true -- boolean; None
[重力を使用](Use Gravity)オプションの状態を取得/設定します。
true に設定し、[MassFX ワールド](MassFX World)パネルのグローバルな[重力](Gravity)スイッチがオンになっている場合、ダイナミック
リジッド ボディは重力の影響を受けます。
<MassFX_RBody>.forcesList : node array
MassFX リジッド ボディ シミュレーションに関連付けられるフォーススペースワープオブジェクトの配列を取得/設定します。
append() や deleteItem() などの配列演算がサポートされます。
3ds Max 2013 以降で使用可能です。
[拡張](Advanced)ロールアウト
プロパティ:
<MassFX_RBody>.EnableAdvancedSettings Integer default: 1 -- integer
コントロールの[シミュレーション](Simulation)グループ
プロパティ:
<MassFX_RBody>.SolverIter BooleanClass default: false -- boolean; None
[ソルバの反復を上書き](Override Solver Iterations)チェックボックスの状態を取得/設定します。
False(既定値)に設定すると、グローバル反復カウントが使用されます。
Trueに設定すると、MassFX リジッド ボディ モディファイヤは、 .SolverIterValue プロパティ (以下を参照) によって指定された任意の回数の反復を使用します。
<MassFX_RBody>.SolverIterValue Integer default: 4 -- integer; None
MassFX リジッド ボディ モディファイヤの .SolverIter プロパティ (上記参照) が True にセットされた場合に使用される[ソルバの反復を上書き](Override Solver Iterations)の値を取得/設定します。
<MassFX_RBody>.EnableBackfaceCollision : boolean
背面衝突を使用するかどうかを取得/設定します。
既定値は false です。
3ds Max 2013 以降で使用可能です。
メソッド:
[コンタクト シェル](Contact Shell)コントロール グループ
プロパティ:
メソッド:
コントロールの[初期のモーション](Initial Motion)グループ
プロパティ:
<MassFX_RBody>.InitialMotionStyle Integer default: 1 -- integer
初期のモーション スタイルのラジオ ボタンの状態を取得/設定します。
有効な値は次のとおりです。
0 - 絶対
1 - 相対
<MassFX_RBody>.InitialVelocityX Float default: 1.0 -- float; None
<MassFX_RBody>.InitialVelocityY Float default: 0.0 -- float; None
<MassFX_RBody>.InitialVelocityZ Float default: 0.0 -- float; None
リジッド ボディの初期の速度 X、Y、および Z 値を取得/設定します。これらは初期の速度の方向を定義します。
<MassFX_RBody>.velocitySpeed Float default: 0.0 -- float; None
リジッド ボディの初期の速度のスピード値を取得/設定します。これは初期の速度の大きさを定義します。
<MassFX_RBody>.InitialSpinX Float default: 0.0 -- float; None
<MassFX_RBody>.InitialSpinY Float default: 1.0 -- float; None
<MassFX_RBody>.InitialSpinZ Float default: 0.0 -- float; None
リジッド ボディの初期のスピン X、Y、および Z 値を取得/設定します。これらは初期のスピンの軸を定義します。
<MassFX_RBody>.spinSpeed Float default: 0.0 -- float; None
リジッド ボディの初期のスピンのスピード値を取得/設定します。
コントロールの[重心](Center of Mass)グループ
プロパティ:
<MassFX_RBody>.MassCenterMode : integer
[重心](Center Of Mass)ラジオ ボタンの状態を取得/設定します。
有効な値は、
0 - メッシュから計算
1 - ピボットを使用
2 - ローカル オフセット
3ds Max 2013 以降で使用可能です。
<MassFX_RBody>.MassCenterX Float default: 0.0 -- float; None
<MassFX_RBody>.MassCenterY Float default: 0.0 -- float; None
<MassFX_RBody>.MassCenterZ Float default: 0.0 -- float; None
オブジェクト空間内におけるリジッド ボディの重心の X、Y、および Z 座標を取得/設定します。
リジッド ボディのメッシュに基づいてこれらの値を自動的に設定する方法については、次の .CalculateMassCenter() メソッドを参照してください。
メソッド:
<Point3><MassFX_RBody>.CalculateMassCenter()
重心を計算し、 .MassCenterX 、 .MassCenterY 、および .MassCenterZ の各プロパティを設定します。結果を Point3 値として返します。
コントロールの[ダンピング](Damping)グループ
プロパティ:
<MassFX_RBody>.LinearDamping Float default: 0.0 -- float; None
[線形ダンピング](Linear Damping)の値を取得/設定します。
<MassFX_RBody>.AngularDamping Float default: 2.86479 -- float; None
[角度ダンピング](Angular Damping)の値を取得/設定します。
UI に公開されていないプロパティ
<MassFX_RBody>.bakeOnSimulate BooleanClass default: false -- boolean
<MassFX_RBody>.extraShapes UndefinedClass default: undefined -- string; None;
<MassFX_RBody>.manualSetup BooleanClass default: false -- boolean; None
<MassFX_RBody>.materialId Integer default: 0 -- integer; None
<MassFX_RBody>.meshCustomMesh UndefinedClass default: undefined -- node; None;
<MassFX_RBody>.SkinWidth BooleanClass default: false -- boolean; None
<MassFX_RBody>.SkinWidthValue Float default: 1.0 -- float; None
<MassFX_RBody>.volume Float default: 0.0 -- float; None