我正在将.usdz文件加载到我的ARSCNView中,到目前为止,它可以正常工作,除了以下事实:当我将多个对象加载到场景中时,应用程序崩溃并显示消息:由于内存问题而终止。
我使用的是苹果默认的.usdz示例(https://developer.apple.com/augmented-reality/quick-look/),并且机器人文件的大小约为13.5MB。
它最多可用于4-5个实例,然后崩溃。
ARKit应用程序的限制是否很小,还是我做错了什么?
这是我的代码:
// My touch point on the screen
let touchLocation = sender.location(in: sceneView)
// We have a touch point on an ARPlane
if let result = self.sceneView.hitTest(touchLocation, types: ARHitTestResult.ResultType.existingPlaneUsingExtent).last {
let position = SCNVector3Make(result.worldTransform.columns.3.x, result.worldTransform.columns.3.y, result.worldTransform.columns.3.z)
// Load the .usdz model
guard let usdzURL = Bundle.main.url(forResource: "toy_robot_vintage", withExtension: "usdz") else {
return
}
// Create a node, set position and scale
let referenceNode = SCNReferenceNode(url: usdzURL)!
referenceNode.load()
referenceNode.position = position
referenceNode.scale = SCNVector3Make(0.01, 0.01, 0.01)
// Add node to scene
sceneView.scene.rootNode.addChildNode(referenceNode)
}