我正在努力了解ARKit,并扩展了here上的苹果ARKitInteraction示例。我的模型正确加载,但是对象没有按字母顺序列出。我已将对象按顺序放置在models.scnassets中,但这似乎无法解决。
可以说型号名称是:A,B,C,D,E 列表按以下顺序排序:E,A,B,D,C
如何排序模型的顺序?
型号名称是从这里派生的:
var modelName: String {
return referenceURL.lastPathComponent.replacingOccurrences(of: ".scn", with: "")
}
然后从此处加载模型对象:
static let availableObjects: [VirtualObject] = {
let modelsURL = Bundle.main.url(forResource: "Models.scnassets", withExtension: nil)!
let fileEnumerator = FileManager().enumerator(at: modelsURL, includingPropertiesForKeys: [])!
return fileEnumerator.compactMap { element in
let url = element as! URL
guard url.pathExtension == "scn" && !url.path.contains("lighting") else { return nil }
return VirtualObject(url: url)
}
}()