gpt4 book ai didi

ios - 使用 Swift 将 UIImage 作为 Material 添加到 ARKit 中的 SCNGeometry

转载 作者:行者123 更新时间:2023-11-30 11:50:04 29 4
gpt4 key购买 nike

将图像作为 Material 添加到预定义的 3D 对象(例如 Swift 中的立方体)对我来说效果很好。现在我正在尝试将图像作为 Material 添加到在运行时动态创建的多边形中。

我希望这样的事情能够奏效:

let source = SCNGeometrySource(vertices: vertices)

var data = [Int32]()
for (index, value) in vertices.enumerated() {
data.append(Int32(index))
}
data.insert(Int32(vertices.count), at: 0)

let indexData = Data(bytes: data, count: data.count * MemoryLayout<Int32>.size)
let element = SCNGeometryElement(data: indexData, primitiveType: .polygon, primitiveCount: 1, bytesPerIndex: MemoryLayout<Int32>.size)
geometry = SCNGeometry(sources: [source], elements: [element])
if let material = geometry?.firstMaterial {
material.diffuse.contents = UIImage( named: "Diffuse" )
material.isDoubleSided = true
}

当我将 UIImage 更改为 UIColor 时,它工作正常。我建议,我需要一个 UV 贴图作为纹理。是否有可能即时生成一些东西?

最佳答案

这就是我如何将图像添加为 SCNMaterials

var imageMaterial = SCNMaterial()
imageMaterial.isDoubleSided = false
imageMaterial.diffuse.contents = UIImage(named: "myImage")
var cube: SCNGeometry? = SCNBox(width: 1.0, height: 1.0, length: 1, chamferRadius: 0)
var node = SCNNode(geometry: cube)
node.geometry?.materials = [imageMaterial]

关于ios - 使用 Swift 将 UIImage 作为 Material 添加到 ARKit 中的 SCNGeometry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48425925/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com