在开发 AR 应用程序时,一旦跟踪图像并放置 3D 模型,我需要将对象放置在 ARImageAnchor 上,那么它不应该随着图像锚点移动,它应该只跟随 iPhone 上的相机角度和给定的锚点距离。
尝试了很多代码。
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
let node = SCNNode()
if let imageAnchor = anchor as? ARImageAnchor {
self.mainNode.simdTransform = anchor.transform
self.sceneView.scene.rootNode.addChildNode(self.mainNode)
}
Run Code Online (Sandbox Code Playgroud)
另一种尝试:
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
let node = SCNNode()
if let imageAnchor = anchor as? ARImageAnchor {
guard let pointOfView = self.sceneView.pointOfView else { return }
let transform = pointOfView.transform
self.mainNode.transform = transform
self.sceneView.scene.rootNode.addChildNode(self.mainNode)
Run Code Online (Sandbox Code Playgroud)
}
func renderer(_ …Run Code Online (Sandbox Code Playgroud) 我试图找到如何为我的项目类创建类引用的方法.
例如,NSDictionary类参考 - Apple Developer.