Я загружаю файл .usdz в свой ARSCNView, и пока он работает нормально, за исключением того факта, что когда я загружаю несколько объектов в свою сцену, приложение вылетает с сообщением: Прервано из-за проблемы с памятью.
Я использую образцы Apple по умолчанию .usdz (https://developer.apple.com/augmented-reality/quick-look/), а размер файла робота составляет около 13,5 МБ.
Он работает с 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)
}