SceneKit:将scn文件保存到磁盘
SceneKit: save scn file to disk
目标:将 scn 文件保存到磁盘。
我做了什么:
尝试使用此 API:
https://developer.apple.com/documentation/scenekit/scnscene/1523577-write
问题:
得到这个错误:
AttributeGraph:通过属性 248096 检测到循环 ===
操作无法完成。 (MDLErrorDomain 错误 0。)
非常感谢任何帮助!
let scnScene = SCNScene(named: "Art.scnassets/Ship")!
//get documents URL
func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return paths[0]
}
//save scn to disk
func saveSCNFileToDisk() {
let url = getDocumentsDirectory()
scnScene.write(to: url, options: nil, delegate: nil) { float, error, pointer in
if let error = error {
print(error.localizedDescription)
return
}
self.scene = url.absoluteString
}
}
您的代码应按照文档中的描述指定文件方案
//save scn to disk
func saveSCNFileToDisk() {
let url = getDocumentsDirectory().appendingPathComponent("someFleName.scn)
scnScene.write(to: url, options: nil, delegate: nil) { float, error, pointer in
if let error = error {
print(error.localizedDescription)
return
}
self.scene = url.absoluteString
}
}
目标:将 scn 文件保存到磁盘。
我做了什么: 尝试使用此 API: https://developer.apple.com/documentation/scenekit/scnscene/1523577-write
问题: 得到这个错误: AttributeGraph:通过属性 248096 检测到循环 === 操作无法完成。 (MDLErrorDomain 错误 0。)
非常感谢任何帮助!
let scnScene = SCNScene(named: "Art.scnassets/Ship")!
//get documents URL
func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return paths[0]
}
//save scn to disk
func saveSCNFileToDisk() {
let url = getDocumentsDirectory()
scnScene.write(to: url, options: nil, delegate: nil) { float, error, pointer in
if let error = error {
print(error.localizedDescription)
return
}
self.scene = url.absoluteString
}
}
您的代码应按照文档中的描述指定文件方案
//save scn to disk
func saveSCNFileToDisk() {
let url = getDocumentsDirectory().appendingPathComponent("someFleName.scn)
scnScene.write(to: url, options: nil, delegate: nil) { float, error, pointer in
if let error = error {
print(error.localizedDescription)
return
}
self.scene = url.absoluteString
}
}