■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