9得票1回答
ARKit:在屏幕上找到SCNNode的坐标

我有一个简单的Swift ARKit设置,其中我有一个SCNNode和一个3D对象,它在ARSCNView中可见。 我想确定此对象在ARSCNView上的2D坐标。我的意思是当对象绘制到屏幕上时,其x和y坐标。我提供了一个草图以说明我的意思: 是否有一种方法可以获取这些坐标,或者至少近似...

9得票1回答
从scn文件导入带有动画的3D对象。

我已经在XCode中导入了一个DAE文件并将其转换成了SCN文件。该文件包含一些带动画的3D对象。 我试图导入所有节点和它们的动画,并在场景中播放它们。虽然节点已经成功导入,但无法播放动画。 NSURL *idleURL = [[NSBundle mainBundle] URLF...

9得票3回答
Swift:"必须调用超类的指定初始化器"错误,尽管代码已经这样做了。

目标是创建一个SCNNode的子类。根据 类文档,init(geometry geometry: SCNGeometry?) 是一个指定初始化程序(没有列出convenience关键字),所以这段代码不是调用其超类的指定初始化程序吗? 为什么Xcode显示以下错误? 必须调用超类SCNN...

8得票2回答
SceneKit - 自定义几何图形未显示

我应该看到2个黄色的三角形,但是我什么也没看到。 class Terrain { private class func createGeometry () -> SCNGeometry { let sources = [ SCNGeo...

8得票2回答
如何使用ARKit将SCNNode的方向调整为相机方向

下面的代码将在触摸点放置一个SCNPlane,但该平面的方向(旋转)是应用程序启动时手机所处的位置。 我希望将节点定向到物理墙壁或相机当前的方向。 如何使用ARKit实现这一点? override func touchesBegan(_ touches: Set<UITouch>...

8得票3回答
在SceneKit节点周围添加边框

我正在尝试使用轻点手势在SceneKit中突出显示所选节点。不幸的是,我还没有成功。我能做到的最好的事情就是在点击节点时更改材质。 let material = key.geometry!.firstMaterial! material.emission.contents = UIColor...

8得票3回答
SceneKit:了解SCNNode的枢轴属性

目标是增加一个SCNBox的长度,使其只在正z方向上增长。 这个答案建议尝试使用pivot属性。 然而,在SCNNode页面上,pivot属性的文档很少,SCNBox页面上没有任何内容。 有人能解释一下pivot属性是如何工作的吗?

7得票1回答
ARKit - 如何从服务器URL加载.scn和纹理文件

我试图在ARKit应用程序中从服务器URL动态加载.scn和纹理文件。我已经成功从Web URL这个路径加载了.scn文件。但是,在运行后,我在设备上看不到任何纹理。我得到以下错误消息。 ARKitExample[3016:995067] [SceneKit] Error: Failed l...

7得票2回答
如何使用ARKit检测触摸并显示新的SCNPlane?

现在,当检测到卡片时,我能够展示不同的SCNPlane。在显示SCNPlanes后,用户触摸任何一个平面以显示新的SCNPlane。但是现在触摸功能正常,但新的SCNPlane没有显示。 以下是我尝试过的代码: var cake_1_PlaneNode : SCNNode? = nil ...

7得票1回答
SCNGeometry使用多边形作为基本类型

我希望了解如何创建一个以多边形为基本类型的SCNGeometry。我的目标是将多边形形状的节点添加为球形节点的子节点,并使其看起来像MKPolygon一样适用于地图套件,就像这个例子所示。 我的当前代码是: //Take an arbitrary array of vectors le...