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

■NxSphericalJointDesc クラス Top


球面ジョイントを設定します。


メンバ変数

変数名 有効値 初期値 説明
swingAxis 単位ベクトル [ 0, 0, 1 ] NxVec3 クラス。
projectionDistance ( 0, 〜 inf ) 1.0 NxReal
twistLimit     NxJointLimitPairDesc クラス。
swingLimit     NxJointLimitDesc クラス。
twistSpring     NxSpringDesc クラス。
swingSpring     NxSpringDesc クラス。
jointSpring     NxSpringDesc クラス。
flags   0 NxU32 型。 NxSphericalJointFlag 列挙型の組み合わせ。
projectionMode   NX_JPM_NONE NxJointProjectionMode 列挙型。
メンバ関数

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

注意
このジョイントは全方向に回転できます。振り回し運動とねじれ運動に対し制限を設定することが可能です。

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



   NxScene* m_pNxScene;
   NxActor* m_pActorBox;
   NxSphericalJointDesc  sphericalDesc;
   NxSpringDesc sd;

   sphericalDesc.setToDefault();

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

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

   sphericalDesc.setGlobalAxis( NxVec3( 0, 1, 0 ) );    // 制限の基準をワールド座標系で設定する

   //振り回し運動に回転角度による制限を有効にする.
   sphericalDesc.flags |= NX_SJF_SWING_LIMIT_ENABLED;
   //振り回し運動の稼動範囲.ラジアン角.
   sphericalDesc.swingLimit.value = (NxReal)0.1 * NxPi;

   // 振り回し運動にばねによる制限を有効にする.
   sphericalDesc.flags |= NX_SJF_SWING_SPRING_ENABLED;
   sd.spring = 50000;    // ばね係数.値が大きくなるほど大きな反発力が働く.
   sphericalDesc.swingSpring = sd;

   //ねじれ運動に回転角度による制限を有効にする.
   sphericalDesc.flags |= NX_SJF_TWIST_LIMIT_ENABLED;
   //ねじれ運動の稼動範囲.ラジアン角.
   sphericalDesc.twistLimit.low.value  = -(NxReal)0.3*NxPi;
   sphericalDesc.twistLimit.high.value =  (NxReal)0.3*NxPi;

   // ねじれ運動にばねによる制限を有効にする.
   sphericalDesc.flags |= NX_SJF_TWIST_SPRING_ENABLED;
   sd.spring = 50000;    // ばね係数.値が大きくなるほど大きな反発力が働く.
   sphericalDesc.twistSpring = sd;

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


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

参照
NxJointDesc

Top
inserted by FC2 system