我正在使用Unity和LeapMotionController。对于我的项目,我想在手掌上显示一个对象。
我认为它会以这种方式工作(请参阅代码部分)。但是坐标非常不同...
在LeapMotion V2中,SDK中有一种方法可以转换此坐标。但是在4.4中,不再有这种情况了
...
void Update()
{
Frame frame = controller.Frame ();
for (int h = 0; h < frame.Hands.Count; h++) {
Hand leapHand = frame.Hands [h];
Vector3 handPostition = new Vector3(leapHand.PalmPosition.x, leapHand.PalmPosition.y, leapHand.PalmPosition.z)
}
}
...
我需要从手掌获得确切的坐标才能显示相对于手掌的3D对象。
获得手掌位置的最简单方法是通过使用jumpHand上的ToVector3()函数。
Vector3 handPostition = leapHand.PalmPosition.ToVector3();
如果您还想轮换,请致电
Quaternion handRotation = leapHand.Rotation.ToQuaternion();
如果您正在寻找一种方法来一次获得所有这些,请致电
Leap.Unity.Pose pose = leapHand.GetPalmPose();
Vector3 handPosition = pose.position;
Quaternion handRotation = pose.rotation;