Swift 阿基特&x2013;如何在ARSession中加载GIF动画?
我正在使用ARKit和SceneKit框架开发一个应用程序。我可以渲染我的3D对象,创建覆盖图等。我想在点击我的一个子节点时,在Swift 阿基特&x2013;如何在ARSession中加载GIF动画?,swift,sprite-kit,scenekit,ios11,arkit,Swift,Sprite Kit,Scenekit,Ios11,Arkit,我正在使用ARKit和SceneKit框架开发一个应用程序。我可以渲染我的3D对象,创建覆盖图等。我想在点击我的一个子节点时,在ARSession中加载一个类似覆盖图的GIF动画。这可能吗 我尝试添加SKScene作为我的SCNScene的覆盖,如下所示,看起来不错 informationOverlay = InformationOverlayScene(size: self.sceneView.frame.size) self.sceneView.overlaySKScene = inform
ARSession
中加载一个类似覆盖图的GIF动画。这可能吗
我尝试添加SKScene
作为我的SCNScene
的覆盖,如下所示,看起来不错
informationOverlay = InformationOverlayScene(size: self.sceneView.frame.size)
self.sceneView.overlaySKScene = informationOverlay
但是如何在
SKScene
或SCNNode
中加载此GIF文件 以下问题回答了如何在SKNode
中显示动画:
您可以使用projectPoint将SCNNode
(三维模型)的位置投影到屏幕上的二维位置,然后将其用于包含动画的SKNode
的位置。这样,动画将始终面向屏幕
或者,您可以将包含动画的核心动画层指定给
SCN材质的.diffuse.contents
属性,并将其指定给SCNPlane
,您可以将其添加到场景中并放置在三维模型上方。如果您希望该平面面向摄影机,只需将SCNView的.pointOfView.orientation
属性指定给保存SCNPlane
的SCNNode
,以下问题回答了如何在SKNode
内显示动画:
您可以使用projectPoint将SCNNode
(三维模型)的位置投影到屏幕上的二维位置,然后将其用于包含动画的SKNode
的位置。这样,动画将始终面向屏幕
或者,您可以将包含动画的核心动画层指定给SCN材质的.diffuse.contents
属性,并将其指定给SCNPlane
,您可以将其添加到场景中并放置在三维模型上方。如果你想让这个平面面对摄像机,只需将你的SCNView的.pointOfView.orientation
属性分配给SCNNode
,该属性保存着SCNPlane
,这不是增强现实的观点,让一切都是三维的,而不是二维的?@LinusGeffarth是的,我只加载三维模型。但有一个要求,我需要显示动画gif,就像在我的3D模型上播放的叠加。“在我的3D模型上”如“映射到曲面”或“屏幕上的某个地方”?如果我点击childnode a,我应该在childnode上方显示一些空间AIt被映射到表面不是增强现实的目的是让所有东西都是3D的,而不是2D?@LinusGeffarth是的,我只加载3D模型。但有一个要求,我需要显示动画gif,就像在我的3D模型上播放的叠加。“在我的3D模型上”如“映射到曲面”或“屏幕上的某个地方”?如果我点击childnode a,我应该在childnode上方显示一些空间AIt映射到表面如何将包含gif动画的SKNode添加到ARSCNView.scene?我尝试将其添加到CALayer,然后使用diffuse.contents添加到SCNNode,它正在工作!!但我的gif图像只显示了一半:(如何在SCNNode中显示完整的gif图像?我尝试更改CALayer和SCNPlane的宽度和高度的边界值,但没有效果。只有SCNPlane大小增加,我的gif动画仍显示为一半。如何将包含gif动画的SKNode添加到ARSCNView.scene?我尝试将其添加到CALayer,然后添加到带有diffuse.contents的SCNNode但我的gif图像只显示了一半:(如何在SCNNode中显示完整的gif图像?我尝试更改CALayer和SCNPlane的宽度和高度的边界值,但没有效果。只有SCNPlane大小增加,我的gif动画仍然显示为一半。