本页面由机器自动翻译,可能包含错误。 查看英文原文
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 中查看。