Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在AR对象上检测手指?_Swift_Unity3d_Augmented Reality_Arkit_Vuforia - Fatal编程技术网

Swift 在AR对象上检测手指?

Swift 在AR对象上检测手指?,swift,unity3d,augmented-reality,arkit,vuforia,Swift,Unity3d,Augmented Reality,Arkit,Vuforia,我正在尝试创建一个移动AR应用程序,在平面上创建一个虚拟钢琴键盘,并能够用手指弹奏键盘 1) 实现这一点最简单的方法是什么?(如Vuforia、ARKit) 2) 能不能让我的手指在钢琴键盘前而不是键盘后 非常感谢您事先的帮助 使用遮挡时要选择什么框架: ARKit和Vuforia两个框架都支持遮挡功能,但目前还不支持。对我来说,在AR应用程序中实现遮挡的最简单方法是在Xcode中使用ARKit。如果您喜欢Unity中的Vuforia及其UI设置,也欢迎您 如何在ARKit和Vuforia中使用

我正在尝试创建一个移动AR应用程序,在平面上创建一个虚拟钢琴键盘,并能够用手指弹奏键盘

1) 实现这一点最简单的方法是什么?(如Vuforia、ARKit)

2) 能不能让我的手指在钢琴键盘前而不是键盘后

非常感谢您事先的帮助

使用遮挡时要选择什么框架

ARKit和Vuforia两个框架都支持
遮挡
功能,但目前还不支持。对我来说,在AR应用程序中实现遮挡的最简单方法是在Xcode中使用ARKit。如果您喜欢Unity中的Vuforia及其UI设置,也欢迎您

如何在ARKit和Vuforia中使用遮挡

要在真实对象上合成手部/
手指
,必须在ARKit中使用功能,或在Vuforia中使用

使用
frameSemantics
实例属性在ARKit中激活深度通道合成非常容易(但请记住,它仅在iOS 13中A12/A13 CPU上工作):

如果您想了解如何在演示圆柱形对象用法以及遮挡效果的
Unity
/
Vuforia
中启用
遮挡管理

如何实现触控

要进行触摸(当真实手指触摸AR钢琴键时),必须执行碰撞。你必须激活
图像检测
AI功能来检测指甲的位置,然后在那里放置一个锚,并在锚上拴一个小的不可见球体。你需要以每秒60帧的速度不断更新锚点的位置。然后为钢琴键创建一个碰撞形状,并为该球体创建第二个碰撞形状。然后让它们碰撞。如果您使用ARKit进行开发,请使用SceneKit框架来实现冲突事件。如果您正在使用Vuforia进行开发,请使用官方文档了解如何进行开发

let session = ARSession()

if let config = session.configuration as? ARWorldTrackingConfiguration {
    config.frameSemantics.insert(.personSegmentationWithDepth)
    session.run(config)
}