我正在 swift 中尝试新的 RealityKit 框架,我想在 ARAnchor 上放置一个 2D 图像。我设法创建了一个网格平面,并尝试将图像作为纹理添加到该平面。我发现我可以为 Material 提供局部图像。我该如何使用 UIImage 代替?
let resource = try? TextureResource.load(named: "restart")
var material = UnlitMaterial()
material.baseColor = MaterialColorParameter.texture(resource!)
material.tintColor = UIColor.white.withAlphaComponent(0.99)
let imagePlane = ModelEntity(mesh: MeshResource.generatePlane(width: 0.25, height: 0.25), materials: [SimpleMaterial(color: color, isMetallic: true)])
最佳答案
在 RealityKit 中为几何体添加纹理时,您可以使用以下方法:
let myScene = try! Experience.loadMyScene()
var myMaterial = SimpleMaterial()
myMaterial.baseColor = try! .texture(.load(named: "texture.png"))
myMaterial.metallic = MaterialScalarParameter(floatLiteral: 0.5)
myMaterial.roughness = MaterialScalarParameter(floatLiteral: 0.5)
myMaterial.tintColor = UIColor.blue
let myMesh: MeshResource = .generatePlane(width: 1, depth: 1, cornerRadius: 0.05)
let component = ModelComponent(mesh: myMesh, materials: [myMaterial])
myScene.components.set(component)
arView.scene.anchors.append(myScene)
但是,您也可以使用 URL 参数 load()方法:
myMaterial = try! .texture(.load(contentsOf: url))
UIImage 或 CIImage 没有直接分配。
关于swift - 在 RealityKit 中将 UIImage 作为纹理添加到平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61854324/