将UIImage作为纹理添加到RealityKit中的平面中

问题描述 投票:1回答:2

我正在快速尝试新的RealityKit框架,我想将2D图像放置在ARAnchor上。我设法创建了一个网格平面,并尝试将图像作为纹理添加到该平面。我发现我可以给材质提供局部图像。如何改为使用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)])
swift arkit realitykit
2个回答
0
投票

目前,这是在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)

0
投票

目前尚无一种方法来获取UIImage并将其直接应用于Material(截至2020年6月)。

[您可以尝试先将UIImage写入磁盘,然后以与“重新启动”纹理相似的方式按名称加载它。

© www.soinside.com 2019 - 2024. All rights reserved.