我正在使用ARKit和SceneKit框架开发应用程序。 我能够渲染我的 3D 对象、创建叠加等。我想在点击我的一个子节点时加载一个 GIF 动画,例如ARSession
叠加层。这可能吗?
我尝试将SKScene
作为叠加层添加到我的SCNScene
中,如下所示,它看起来不错。
informationOverlay = InformationOverlayScene(size: self.sceneView.frame.size)
self.sceneView.overlaySKScene = informationOverlay
但是如何在SKScene
或SCNNode
中加载此GIF文件?
以下 SO 问题回答了如何在SKNode
内显示动画:简单的 GIF 动画与 Spritekit
您可以使用 projectPoint 将(3D 模型的)SCNNode
的位置投影到屏幕上的 2D 位置,然后将其用于包含动画的SKNode
的位置。这样,动画将始终面向屏幕。
或者,您可以将包含动画的核心动画图层分配给SCNMaterial
的.diffuse.contents
属性,并将其分配给可添加到场景和 3D 模型上方位置的SCNPlane
。如果您希望该平面面向相机,只需将SCNView
的.pointOfView.orientantion
属性分配给保存SCNPlane
的SCNNode
即可。