Я создаю приложение, в котором я хочу отображать несколько строк текста на целевых увеличенных изображениях.Программа отлично работает менее чем с 7 строками текста, но вылетает, когда она достигает более 7 строк.Я также замечаю, что если строка слишком длинная, появляется также та же ошибка «Выполнение буфера команд было прервано из-за ошибки во время выполнения. Игнорируется (из-за предыдущих или чрезмерных ошибок графического процессора)».
let text = SCNText(string: "this is the first line \n hello this is the second line \n hello this is the third line \n hello this is the fourth line \n hello this is the fifth line \n hello this is the sixth line \n hello this is the seventh line \n hello this is the eigth lines\n " , extrusionDepth: 0.1)
//setting the basic properties of text
text.font = UIFont.systemFont(ofSize: 1)
text.flatness = 0.005
text.isWrapped = true
let textNode = SCNNode(geometry: text)
let fontScale: Float = 0.01
textNode.scale = SCNVector3(fontScale, fontScale, fontScale)
// установка текста по центру над изображением и лицом к камере
textNode.eulerAngles.x = -.pi/2
centerNode(node: textNode)
//self.sceneView.scene.rootNode.addChildNode(planeNode)
// the text will be centered right above the image
node.addChildNode(textNode)
// create a plane node as the background of the text
let textWidth = text.boundingBox.max.x - text.boundingBox.min.x
let textHeight = text.boundingBox.max.y - text.boundingBox.min.y
let plane = SCNPlane(width: CGFloat(textWidth), height: CGFloat(textHeight))
plane.firstMaterial?.transparency = 0.5
plane.firstMaterial?.diffuse.contents = UIColor.black
let planeNode = SCNNode(geometry: plane)
planeNode.position = SCNVector3(textWidth/2,1.5*textHeight,-0.0001)
textNode.addChildNode(planeNode)
"Выполнение буфера команд было прервано из-за ошибки во время выполнения. Игнорируется (за возникновение предыдущих / чрезмерных ошибок графического процессора) "