跳到主要内容
本页面由机器自动翻译,可能包含错误。 查看英文原文

Class BhapticsPhysicsGlove

继承自 MonoBehaviour

BhapticsPhysicsGlove 类包含用于使用 bHaptics 触觉设备的函数。


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

基于最大速度变化设置发送进入触觉反馈。

Parameters

  • bool isLeft: 指示是否使用左手套。
  • PositionType position: bHaptics 设备的类型。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 手指(或手腕)的索引。
    • 0: 拇指指尖
    • 1: 食指指尖
    • 2: 中指指尖
    • 3: 无名指指尖
    • 4: 小指指尖
    • 5: 手腕

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

基于碰撞数据的相对速度发送进入触觉反馈。

Parameters

  • bool isLeft: 指示是否使用左手套。
  • PositionType position: bHaptics 设备的类型。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 手指(或手腕)的索引。
    • 0: 拇指指尖
    • 1: 食指指尖
    • 2: 中指指尖
    • 3: 无名指指尖
    • 4: 小指指尖
    • 5: 手腕
  • 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

基于提供的速度数据发送进入触觉反馈。

Parameters

  • bool isLeft: 指示是否使用左手套。
  • PositionType position: bHaptics 设备的类型。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 手指(或手腕)的索引。
    • 0: 拇指指尖
    • 1: 食指指尖
    • 2: 中指指尖
    • 3: 无名指指尖
    • 4: 小指指尖
    • 5: 手腕
  • 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

基于最大速度变化设置发送停留触觉反馈。

Parameters

  • bool isLeft: 指示是否使用左手套。
  • PositionType position: bHaptics 设备的类型。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 手指(或手腕)的索引。
    • 0: 拇指指尖
    • 1: 食指指尖
    • 2: 中指指尖
    • 3: 无名指指尖
    • 4: 小指指尖
    • 5: 手腕

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

发送带有变换(transform)数据的停留触觉反馈。

Parameters

  • bool isLeft: 指示是否使用左手套。
  • PositionType position: bHaptics 设备的类型。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 手指(或手腕)的索引。
    • 0: 拇指指尖
    • 1: 食指指尖
    • 2: 中指指尖
    • 3: 无名指指尖
    • 4: 小指指尖
    • 5: 手腕
  • Transform slaveTransform: 从(slave)变换数据。
  • Transform masterTransform: 主(master)变换数据。

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

基于提供的速度数据发送停留触觉反馈。

Parameters

  • bool isLeft: 指示是否使用左手套。
  • PositionType position: bHaptics 设备的类型。
    • PositionType.GloveL (== 8)
    • PositionType.GloveR (== 9)
  • int fingerIndex: 手指(或手腕)的索引。
    • 0: 拇指指尖
    • 1: 食指指尖
    • 2: 中指指尖
    • 3: 无名指指尖
    • 4: 小指指尖
    • 5: 手腕
  • 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: 手腕

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 中查看。