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