MassFX_RBody - superclass: modifier; super-superclass:MAXWrapper - 54:8 - classID: #(685326, 452282)
3ds Max 2012 の新機能: このクラスは、MassFX リジッド ボディ モディファイヤを実装します。
コンストラクタ:
[リジッド ボディ プロパティ]ロールアウト
プロパティ:
<MassFX_RBody>.type Integer default: 1 -- integer; None
[リジッドボディタイプ]ドロップダウン リストの状態を取得/設定します。
有効な値は次のとおりです。
1 - ダイナミック (既定値) - リジッド ボディはシミュレーションによって制御されます。重力の影響を受け、他のリジッド ボディなどと衝突し、それに反応します。リジッド ボディ メッシュを凹型にすることはできません。
2 - キネマティクス - リジッド ボディは定義済み(通常はキーフレーム)のアニメーションによって制御されます。ダイナミック リジッド ボディを制御できますが、それ以外の場合は物理シミュレーションの影響を受けません。リジッド ボディ メッシュを凹型にすることはできません。
3 - 静止 - リジッド ボディは曲がりません。ダイナミック リジッド ボディと連動できますが、アニメートすることはできません。リジッド ボディ メッシュは凹型にすることができます。
<MassFX_RBody>.switchType BooleanClass default: false -- boolean; None
[有効フレーム]チェックボックスの状態を取得/設定します。true に設定した場合、
.switchTypeAtFrame
プロパティで指定した特定のフレームでリジッド ボディのタイプをキネマティクスからダイナミックに切り替えることができます。
<MassFX_RBody>.switchTypeAtFrame Integer default: 0 -- integer; None
.switchType
プロパティが true に設定されている場合にリジッド ボディがキネマティクスからダイナミックに切り替えられるフレームを取得/設定します。
<MassFX_RBody>.baked Integer default: 0 -- integer; None
[ベイク]/[ベイクなし]ボタンの状態を取得/設定します。ベイクされている場合、ダイナミック リジッド ボディのアニメーションはキーフレームに変換されます。
有効な値は次のとおりです。
0 - ベイク解除 - このプロパティを 0 に設定すると、リジッド ボディがベイク解除され、ボタンのキャプションが「ベイク」に切り替わります。
1 - ベイク - このプロパティを 1 に設定すると、リジッド ボディがベイクされ、ボタンのキャプションが「ベイクなし」に切り替わります。
<MassFX_RBody>.EnableGravity BooleanClass default: true -- boolean; None
[重力を使用]オプションの状態を取得/設定します。
true に設定し、[MassFX ワールド]パネルのグローバルな[重力]スイッチがオンになっている場合、ダイナミック リジッド ボディは重力の影響を受けます。
<MassFX_RBody>.ContinuousCollisionDetection BooleanClass default: false -- boolean; None
[高速度衝突]オプションの状態を取得/設定します。
true に設定し、[MassFX ワールド]パネルのグローバルな[高速度衝突]スイッチがオンになっている場合、ダイナミック リジッド ボディは継続的な衝突探知を実行します。
<MassFX_RBody>.SleepAtStart BooleanClass default: false -- boolean; None
[スリープ モードで開始]オプションの状態を取得/設定します。
true に設定した場合、ダイナミック リジッド ボディは、シミュレーションの開始時に、グローバル スリープ モード設定を使用してスリープ モードになります。つまり、ダイナミック リジッド ボディは、スリープになっていないリジッド ボディと衝突するまで動きません。
<MassFX_RBody>.CollideWithRigidBodies BooleanClass default: true -- boolean; None
[リジッド ボディと衝突]オプションの状態を取得/設定します。
true に設定した場合、リジッド ボディは他のリジッド ボディと衝突します。false に設定した場合、リジッド ボディは衝突しません。
[物理的マテリアル]ロールアウト
プロパティ:
<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 つのリジッド ボディ間の有効な弾力性は、両者のリジッド ボディの弾力性値の積です。
[物理的メッシュ]ロールアウト
プロパティ:
<MassFX_RBody>.meshType Integer default: 4 -- integer; None
有効な値は次のとおりです。
1 - 球
2 - ボックス
3 - カプセル
4 - 凸型(既定値)
5 - 合成
6 - オリジナル
7 - カスタム
<MassFX_RBody>.meshOverrideMaterial BooleanClass default: true -- boolean; None;
このプロパティは、[物理的マテリアルを上書き]チェックボックスのパラメータによって公開されていますが、使用することはできません。
各メッシュの[物理的マテリアルを上書き]オプションを取得および設定するには、次で説明する
.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
インデックスで指定されたリジッド ボディ メッシュの[マスター マテリアルを上書き]プロパティをブール値として返します。
<boolean><MassFX_RBody>.SetRBMeshOverrideMasterMat <integer>meshIndex <boolean>overrideIt
インデックスで指定されたリジッド ボディ メッシュの[マスター マテリアルを上書き]を、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
インデックスで指定されたリジッド ボディ メッシュを再生成します。
[拡張]ロールアウト
プロパティ:
<MassFX_RBody>.EnableAdvancedSettings Integer default: 1 -- integer
コントロールの[シミュレーション]グループ
プロパティ:
メソッド:
コントロールの[初期のモーション]グループ
プロパティ:
<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
リジッド ボディの初期のスピンのスピード値を取得/設定します。
コントロールの[重心]グループ
プロパティ:
<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 値として返します。
コントロールの[ダンピング]グループ
プロパティ:
<MassFX_RBody>.LinearDamping Float default: 0.0 -- float; None
線形ダンピング値を取得/設定します。
<MassFX_RBody>.AngularDamping Float default: 2.86479 -- float; None
角ダンピング値を取得/設定します。
[球の物理的メッシュ パラメータ]ロールアウト
プロパティ:
<MassFX_RBody>.meshRadius Float default: 0.01 -- float; None
半径スピナーのトラック値を公開します。特定のメッシュのメッシュ半径値を取得および設定するには、次で説明するメソッドを代わりに使用する必要があります。
メソッド:
<float><MassFX_RBody>.GetRBMeshRadius <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの半径を返します。
<boolean><MassFX_RBody>.SetRBMeshRadius <integer>meshIndex <float>radius
インデックスで指定されたリジッド ボディ メッシュの半径を、2 番目の引数で渡された浮動小数点値に設定します。
[ボックスの物理的メッシュ パラメータ]ロールアウト
プロパティ:
<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 番目の引数で渡された浮動小数点値に設定します。
[カプセルの物理的メッシュ パラメータ]ロールアウト
プロパティ:
<MassFX_RBody>.meshRadius Float default: 0.01 -- float; None
<MassFX_RBody>.meshHeight Float default: 0.01 -- float; None
[凸型の物理的メッシュ パラメータ]ロールアウト
プロパティ:
<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 番目の引数で渡された整数値に設定します。
[合成の物理的メッシュ パラメータ]ロールアウト
プロパティ:
<MassFX_RBody>.compositeMaxVertices Integer default: 128 -- integer
<MassFX_RBody>.compositeSplitLevel Integer default: 7 -- integer
<MassFX_RBody>.meshInflation Float default: 0.0 -- float; None
<MassFX_RBody>.compositeSizeDifference Integer default: 90 -- integer
<MassFX_RBody>.compositeShrinkWrap Integer default: 90 -- integer
<MassFX_RBody>.compositeGranularity Integer default: 90 -- integer
メソッド:
<boolean><MassFX_RBody>.RBMeshCompositeGenerate <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュの合成メッシュを生成します。
成功した場合は true を、失敗した場合は false を返します。
<integer><MassFX_RBody>.GetRBMeshCompositeMeshCount <integer>meshIndex
合成メッシュの数を返します。
<node><MassFX_RBody>.GetRBMeshCompositeMesh <integer>meshIndex <integer>index
最初の引数で指定されたリジッド ボディ メッシュの、2 番目の引数で指定されたインデックス付き合成メッシュを返します。
<MassFX_RBody>.bakeOnSimulate BooleanClass default: false -- boolean
<MassFX_RBody>.extraShapes UndefinedClass default: undefined -- string; None; !error setting value!
<MassFX_RBody>.manualSetup BooleanClass default: false -- boolean; None
<MassFX_RBody>.materialId Integer default: 0 -- integer; None
<MassFX_RBody>.meshCustomMesh UndefinedClass default: undefined -- node; None; !error setting value!
<MassFX_RBody>.SkinWidth BooleanClass default: false -- boolean; None
<MassFX_RBody>.SkinWidthValue Float default: 1.0 -- float; None
<MassFX_RBody>.SolverIter BooleanClass default: false -- boolean; None
<MassFX_RBody>.SolverIterValue Integer default: 4 -- integer; None
<MassFX_RBody>.volume Float default: 0.0 -- float; None
[カスタムの物理的メッシュ パラメータ]ロールアウト
メソッド:
<boolean><MassFX_RBody>.ExtractCustomMesh()
カスタム メッシュを抽出します。
成功した場合は true を、失敗した場合は false を返します。
<node><MassFX_RBody>.GetRBMeshCustomNode <integer>meshIndex
インデックスで指定されたリジッド ボディ メッシュのカスタム ノードを返します。
<boolean><MassFX_RBody>.SetRBMeshCustomNode <integer>meshIndex <node>CustomNode
インデックスで指定されたリジッド ボディ メッシュのカスタム ノードを、2 番目の引数で渡されたノード値に設定します。
MassFX_RBody インタフェース:
Interface: PhysXModRBInterface
プロパティ:
<MassFX_RBody>.compositeMaxVertices : integer : Read|Write
<MassFX_RBody>.compositeSplitLevel : integer : Read|Write
<MassFX_RBody>.compositeInflation : float : Read|Write
<MassFX_RBody>.compositeSizeDifference : integer : Read|Write
<MassFX_RBody>.compositeShrinkWrap : integer : Read|Write
<MassFX_RBody>.compositeGranularity : integer : Read|Write
<MassFX_RBody>.bakeOnSimulate : boolean : Read|Write
このインタフェースによって公開されるプロパティの説明については、上記のセクションを参照してください。
メソッド:
このインタフェースによって公開されるすべてのメソッドについては、上記のセクションを参照してください。