【发布时间】:2022-09-29 22:06:23
【问题描述】:
我尝试将一些 .usdz 文件导入应用程序并使用 SceneView 显示 3D 模型。当我显示一些已经在我的 Xcode 文件夹中的模型时,它可以工作。但是,当在我的手机上运行该应用程序并尝试从我的手机导入文件时,print(fileName) 仍然可以获得正确的文件名,但 SceneView 中没有显示任何内容......有人可以帮忙吗?
@State var fileName = \"\"
@State var openFile = false
@State var model = Model(id: 0, modelName: \"\")
var body: some View {
VStack{
VStack {
Text(fileName)
.fontWeight(.bold)
Button {
openFile.toggle()
} label: {
Text(\"Come On\")
}
}
.fileImporter(isPresented: $openFile, allowedContentTypes: [.usdz]) { result in
switch result {
case .success(let url):
_ = url.startAccessingSecurityScopedResource()
print(url)
self.fileName = url.lastPathComponent
print(fileName)
model.modelName = fileName
case.failure(let error):
print(error)
}
}
SceneView(scene: SCNScene(named: model.modelName) , options: [.autoenablesDefaultLighting,.allowsCameraControl])
.frame(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height / 2)