有人知道如何使用SceneKit将.ifc文件转换为场景吗?我尝试过使用AssetImportKit,但使用以下代码没有成功:
import UIKit
import SceneKit
import AssetImportKit
class ViewController: UIViewController {
@IBOutlet weak var sceneView: SCNView!
override func viewDidLoad() {
super.viewDidLoad()
do {
let assimpScene = try SCNScene.assimpScene(filePath: "AC20-Institute-Var-2.ifc",
postProcessSteps: [.defaultQuality])
let modelScene = assimpScene.modelScene
modelScene.rootNode.childNodes.forEach {
sceneView.scene?.rootNode.addChildNode($0)
}
} catch {
debugPrint(error.localizedDescription)
}
}
}但得到的错误是:
" Scene importing failed for filePath AC20-Institute-Var-2.ifc"
" Scene importing failed with error "
""我觉得有一种更好的方法可以做到这一点,将.ifc文件转换为.dae/.obj/.usdz文件,然后将其作为场景加载,而不需要AssetImportKit。
任何帮助或见解都将是非常感谢的
发布于 2020-10-21 21:39:18
我也犯了同样的错误,但是我实现了AssimpKit,在ViewDidLoad中你应该写下;
let scene=try SCNAssimpScene.assimpScene(with: URL(string: filePath), postProcessFlags: AssimpKitPostProcessSteps(rawValue: AssimpKitPostProcessSteps.process_FlipUVs.rawValue | AssimpKitPostProcessSteps.process_Triangulate.rawValue), error: ())如果你有xcode格式的文件下载,你也可以从名字中读取ifc文件。
https://stackoverflow.com/questions/63920883
复制相似问题