メインコンテンツまでスキップ
このページは自動翻訳されており、誤りが含まれる場合があります。 英語の原文を表示

Class BhapticsPhysicsGlove

MonoBehaviour を継承します。

BhapticsPhysicsGlove クラスには、bHaptics のハプティックデバイスを使用するための関数が含まれています。

注記

fingerIndex は TactGlove DK2 では 0 - 5、TactGlove DK3 では 0 - 7 を受け付けます。

TactGlove DK2 が接続されている状態で 6 または 7 を渡しても例外は発生しません。両方のグローブで同じフィードバックがどのように再生されるかは TactGlove DK2 と DK3 の互換性 を参照してください。


Public Methods

SendEnterHaptic

public void SendEnterHaptic(bool isLeft, int fingerIndex);
public void SendEnterHaptic(bool isLeft, int fingerIndex, Collision collision);
public void SendEnterHaptic(bool isLeft, int fingerIndex, Vector3 velocity);
public void SendEnterHaptic(PositionType position, int fingerIndex);
public void SendEnterHaptic(PositionType position, int fingerIndex, Collision collision);
public void SendEnterHaptic(PositionType position, int fingerIndex, Vector3 velocity);

enter(進入)ハプティックフィードバックを送信します。Collider の OnCollisionEnter のように、手が何かに触れ始めたときに使用します。

Declaration

public void SendEnterHaptic(bool isLeft, int fingerIndex);
public void SendEnterHaptic(PositionType position, int fingerIndex);

Description

最大速度変化の設定に基づいて enter ハプティックフィードバックを送信します。

Parameters

  • bool isLeft: 左手グローブを使用するかどうかを示します。
  • PositionType position: bHaptics デバイスの種類です。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 指、手首、または手のひらのインデックスです。
    • 0: 親指の先
    • 1: 人差し指の先
    • 2: 中指の先
    • 3: 薬指の先
    • 4: 小指の先
    • 5: 手首
    • 6: 手のひら(親指側) — TactGlove DK3 のみ
    • 7: 手のひら(小指側) — TactGlove DK3 のみ

Example

using Bhaptics.SDK2;
using Bhaptics.SDK2.Glove;

public class Example : MonoBehaviour
{
public int fingerIndex;
public bool isLeft;

private void OnCollisionEnter(Collision collision)
{
// If isLeft is true and fingerIndex is 1, then feedback will come to the index finger of the left glove.
BhapticsPhysicsGlove.Instance.SendEnterHaptic(isLeft, fingerIndex);
// OR
BhapticsPhysicsGlove.Instance.SendEnterHaptic(isLeft ? PositionType.GloveL : PositionType.GloveR, fingerIndex);
}
}

Declaration

public void SendEnterHaptic(bool isLeft, int fingerIndex, Collision collision);
public void SendEnterHaptic(PositionType position, int fingerIndex, Collision collision);

Description

衝突データの相対速度に基づいて enter ハプティックフィードバックを送信します。

Parameters

  • bool isLeft: 左手グローブを使用するかどうかを示します。
  • PositionType position: bHaptics デバイスの種類です。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 指、手首、または手のひらのインデックスです。
    • 0: 親指の先
    • 1: 人差し指の先
    • 2: 中指の先
    • 3: 薬指の先
    • 4: 小指の先
    • 5: 手首
    • 6: 手のひら(親指側) — TactGlove DK3 のみ
    • 7: 手のひら(小指側) — TactGlove DK3 のみ
  • Collision collision: 衝突データです。

Example

using Bhaptics.SDK2;
using Bhaptics.SDK2.Glove;

public class Example : MonoBehaviour
{
public int fingerIndex;
public bool isLeft;

private void OnCollisionEnter(Collision collision)
{
// If isLeft is true and fingerIndex is 1, then feedback based on the relative velocity of the collision to the index finger of the left glove.
BhapticsPhysicsGlove.Instance.SendEnterHaptic(isLeft, fingerIndex, collision);
// OR
BhapticsPhysicsGlove.Instance.SendEnterHaptic(isLeft ? PositionType.GloveL : PositionType.GloveR, fingerIndex, collision);
}
}

Declaration

public void SendEnterHaptic(bool isLeft, int fingerIndex, Vector3 velocity);
public void SendEnterHaptic(PositionType position, int fingerIndex, Vector3 velocity);

Description

提供された速度データに基づいて enter ハプティックフィードバックを送信します。

Parameters

  • bool isLeft: 左手グローブを使用するかどうかを示します。
  • PositionType position: bHaptics デバイスの種類です。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 指、手首、または手のひらのインデックスです。
    • 0: 親指の先
    • 1: 人差し指の先
    • 2: 中指の先
    • 3: 薬指の先
    • 4: 小指の先
    • 5: 手首
    • 6: 手のひら(親指側) — TactGlove DK3 のみ
    • 7: 手のひら(小指側) — TactGlove DK3 のみ
  • Vector3 velocity: 速度データです。

Example

using Bhaptics.SDK2;
using Bhaptics.SDK2.Glove;

public class Example : MonoBehaviour
{
public int fingerIndex;
public bool isLeft;

private void OnCollisionEnter(Collision collision)
{
// If isLeft is true and fingerIndex is 1, then feedback will come to the index finger of the left glove based on velocity data.
BhapticsPhysicsGlove.Instance.SendEnterHaptic(isLeft, fingerIndex, collision.relativeVelocity);
// OR
BhapticsPhysicsGlove.Instance.SendEnterHaptic(isLeft ? PositionType.GloveL : PositionType.GloveR, fingerIndex, collision.relativeVelocity);
}
}

SendStayHaptic

public void SendStayHaptic(bool isLeft, int fingerIndex);
public void SendStayHaptic(bool isLeft, int fingerIndex, Transform slaveTransform, Transform masterTransform);
public void SendStayHaptic(bool isLeft, int fingerIndex, float relativeDistance);
public void SendStayHaptic(PositionType position, int fingerIndex);
public void SendStayHaptic(PositionType position, int fingerIndex, Transform slaveTransform, Transform masterTransform);
public void SendStayHaptic(PositionType position, int fingerIndex, float relativeDistance);

stay(接触維持)ハプティックフィードバックを送信します。Collider の OnCollisionStay のように、手が何かに触れ続けているときに使用します。

Declaration

public void SendStayHaptic(bool isLeft, int fingerIndex);
public void SendStayHaptic(PositionType position, int fingerIndex);

Description

最大速度変化の設定に基づいて stay ハプティックフィードバックを送信します。

Parameters

  • bool isLeft: 左手グローブを使用するかどうかを示します。
  • PositionType position: bHaptics デバイスの種類です。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 指、手首、または手のひらのインデックスです。
    • 0: 親指の先
    • 1: 人差し指の先
    • 2: 中指の先
    • 3: 薬指の先
    • 4: 小指の先
    • 5: 手首
    • 6: 手のひら(親指側) — TactGlove DK3 のみ
    • 7: 手のひら(小指側) — TactGlove DK3 のみ

Example

using Bhaptics.SDK2;
using Bhaptics.SDK2.Glove;

public class Example : MonoBehaviour
{
public int fingerIndex;
public bool isLeft;

private void OnCollisionStay(Collision collision)
{
// If isLeft is true and fingerIndex is 1, then feedback will come to the index finger of the left glove.
BhapticsPhysicsGlove.Instance.SendStayHaptic(isLeft, fingerIndex);
// OR
BhapticsPhysicsGlove.Instance.SendStayHaptic(isLeft ? PositionType.GloveL : PositionType.GloveR, fingerIndex);
}
}

Declaration

public void SendStayHaptic(bool isLeft, int fingerIndex, Transform slaveTransform, Transform masterTransform);
public void SendStayHaptic(PositionType position, int fingerIndex, Transform slaveTransform, Transform masterTransform);

Description

トランスフォームデータとともに stay ハプティックフィードバックを送信します。

Parameters

  • bool isLeft: 左手グローブを使用するかどうかを示します。
  • PositionType position: bHaptics デバイスの種類です。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 指、手首、または手のひらのインデックスです。
    • 0: 親指の先
    • 1: 人差し指の先
    • 2: 中指の先
    • 3: 薬指の先
    • 4: 小指の先
    • 5: 手首
    • 6: 手のひら(親指側) — TactGlove DK3 のみ
    • 7: 手のひら(小指側) — TactGlove DK3 のみ
  • Transform slaveTransform: スレーブのトランスフォームデータです。
  • Transform masterTransform: マスターのトランスフォームデータです。

Example

using Bhaptics.SDK2;
using Bhaptics.SDK2.Glove;

public class Example : MonoBehaviour
{
public int fingerIndex;
public bool isLeft;
public Transform masterTransform;

private void OnCollisionStay(Collision collision)
{
// If isLeft is true and fingerIndex is 1, then feedback based on the relative velocity of the collision to the index finger of the left glove.
BhapticsPhysicsGlove.Instance.SendStayHaptic(isLeft, fingerIndex, transform, masterTransform);
// OR
BhapticsPhysicsGlove.Instance.SendStayHaptic(isLeft ? PositionType.GloveL : PositionType.GloveR, fingerIndex, transform, masterTransform);
}
}

Declaration

public void SendStayHaptic(bool isLeft, int fingerIndex, float relativeDistance);
public void SendStayHaptic(PositionType position, int fingerIndex, float relativeDistance);

Description

提供された速度データに基づいて stay ハプティックフィードバックを送信します。

Parameters

  • bool isLeft: 左手グローブを使用するかどうかを示します。
  • PositionType position: bHaptics デバイスの種類です。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 指、手首、または手のひらのインデックスです。
    • 0: 親指の先
    • 1: 人差し指の先
    • 2: 中指の先
    • 3: 薬指の先
    • 4: 小指の先
    • 5: 手首
    • 6: 手のひら(親指側) — TactGlove DK3 のみ
    • 7: 手のひら(小指側) — TactGlove DK3 のみ
  • float relativeDistance: 相対距離データです。

Example

using Bhaptics.SDK2;
using Bhaptics.SDK2.Glove;

public class Example : MonoBehaviour
{
public int fingerIndex;
public bool isLeft;
public float distance;

private void OnCollisionStay(Collision collision)
{
// If isLeft is true and fingerIndex is 1, then feedback will come to the index finger of the left glove based on velocity data.
BhapticsPhysicsGlove.Instance.SendStayHaptic(isLeft, fingerIndex, distance);
// OR
BhapticsPhysicsGlove.Instance.SendStayHaptic(isLeft ? PositionType.GloveL : PositionType.GloveR , fingerIndex, distance);
}
}

SendExitHaptic

public void SendExitHaptic(bool isLeft, int fingerIndex);
public void SendExitHaptic(PositionType position, int fingerIndex);

最大速度変化の設定に基づいて exit(離脱)ハプティックフィードバックを送信します。

Parameters

  • bool isLeft: 左手グローブを使用するかどうかを示します。
  • PositionType position: bHaptics デバイスの種類です。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 指、手首、または手のひらのインデックスです。
    • 0: 親指の先
    • 1: 人差し指の先
    • 2: 中指の先
    • 3: 薬指の先
    • 4: 小指の先
    • 5: 手首
    • 6: 手のひら(親指側) — TactGlove DK3 のみ
    • 7: 手のひら(小指側) — TactGlove DK3 のみ

Example

using Bhaptics.SDK2;
using Bhaptics.SDK2.Glove;

public class Example : MonoBehaviour
{
public int fingerIndex;
public bool isLeft;

private void OnCollisionExit(Collision collision)
{
// If isLeft is true and fingerIndex is 1, then feedback will come to the index finger of the left glove.
BhapticsPhysicsGlove.Instance.SendExitHaptic(isLeft, fingerIndex);
// OR
BhapticsPhysicsGlove.Instance.SendExitHaptic(isLeft ? PositionType.GloveL : PositionType.GloveR, fingerIndex);
}
}

ChangeHapticMode

public void ChangeHapticMode(BhapticsPhysicsGloveSettings.HapticMode mode);

ハプティックモードを変更します。モードの詳細については BhapticsPhysicsGloveSettings.HapticMode ページを参照してください。

注記

MonoBehaviour から継承されたメンバーは Unity References で確認できます。