Unity3D Leap Motion-将手变换到相同的位置并旋转

时间:2019-04-08 11:05:20

标签: c# unity3d quaternions leap-motion

我有两个不同的跳跃运动传感器的左手的两个副本,我正在尝试对其中的一个进行变形以匹配另一个的位置和旋转。

我目前正在使用以下代码对其进行可视化:

Hand temp = new Hand().CopyFrom(averaged[key2].LeftHand);
temp.SetTransform(averaged[key1].LeftHand.PalmPosition.ToVector3(),averaged[key1].LeftHand.Rotation.ToQuaternion());

foreach (Finger f in temp.Fingers)
{
  foreach (Bone b in f.bones)
  {
    Debug.DrawLine(b.PrevJoint.ToVector3(),
      b.NextJoint.ToVector3(),Colors.OrangeCrayola);
  }
}

问题在于手的旋转位置不正确。

1 个答案:

答案 0 :(得分:1)

在脚本https://github.com/leapmotion/UnityModules/blob/feat-multi-device/Assets/LeapMotion/Core/Scripts/Utils/MultideviceAlignment.cs中找到对齐的手

将其附加到与服务提供商脚本之一相同的对象上,并分配集合 solve 键绑定。只要它们对双方都可见,它将根据右手对齐不同的跳跃。您需要先按“收集”按钮,然后再按“解决”按钮。