−−−NVIDIA PhysX SDK v2.8.3−−−

■NxDistanceJointDesc クラス Top


距離ジョイントを設定します。


メンバ変数

変数名 有効値 初期値 説明
maxDistance ( minDistance 〜 inf ) 0.0 NxReal 型。 2つのアクター間の距離がこの値より大きくなると NxSpringDesc クラスに設定したパラメータに基づき引力が働きます。 NX_DJF_SPRING_ENABLED フラグが設定されていない場合は、2つのアクター間の距離の最大値がこの値に制限されます。
minDistance ( 0 〜 maxDistance ) 0.0 NxReal 型。 2つのアクター間の距離がこの値より小さくなると NxSpringDesc クラスに設定したパラメータに基づき斥力が働きます。 NX_DJF_SPRING_ENABLED フラグが設定されていない場合は、2つのアクター間の距離の最小値がこの値に制限されます。
spring     NxSpringDesc クラス。ばね定数などの設定を行います。
flags   0 NxU32 型。 NxDistanceJointFlag 列挙型の組み合わせ。
メンバ関数

関数名 説明
setToDefault 初期値を設定します。
isValid  

注意
このクラスはばねによる伸縮運動を適シミュレートします。

このクラスは NxJointDesc クラスから追加機能を継承します。



   NxScene* m_pNxScene;
   NxActor* m_pActorBox;
   NxSpringDesc spring;
   NxDistanceJointDesc distanceDesc;

   distanceDesc.setToDefault();

   distanceDesc.actor[0] = NULL;        // ワールド空間上に固定する
   distanceDesc.actor[1] = m_pActorBox; // アクターを関連付ける

   distanceDesc.localAnchor[0] = NxVec3( 0, 10, 40 );  // ワールド空間上に固定する座標をワールド座標系で設定
   distanceDesc.localAnchor[1] = NxVec3( 0,  0,  0 );  // アンカーポイントをローカル座標系で設定

   // ばねによる力が働く方向ベクトルをワールド座標系で設定
   distanceDesc.setGlobalAxis( NxVec3( 0, 1, 0 ) );

   distanceDesc.maxDistance = 5.0f;   // 2つのアクター間の距離の最大値
   distanceDesc.minDistance = 2.0f;   // 2つのアクター間の距離の最小値

   spring.spring = 1000;              //ばね係数
   spring.damper = 0.5;               //ダンパー係数
   distanceDesc.spring = spring;
   distanceDesc.flags = (NX_DJF_MIN_DISTANCE_ENABLED | NX_DJF_MAX_DISTANCE_ENABLED);  //距離ジョイントの最大値制限と最小値制限を有効にする
   distanceDesc.flags |= NX_DJF_SPRING_ENABLED;                                       //ばね係数とダンパー係数による制限を有効にする

   distanceDesc.jointFlags |= NX_JF_COLLISION_ENABLED;                                // 連結したアクター同士での衝突判定を有効にする

   // ジョイントを作成する
   m_pNxScene->createJoint( distanceDesc );


インターフェース情報
ヘッダー NxDistanceJointDesc.h

参照
NxJointDesc NxSpringDesc NxDistanceJointFlag

Top
inserted by FC2 system