谁知道如何在不改变SCNMaterial包含图像的方向的情况下将SCNMaterial转换为表面?
我想创建包含图像的ARKit SCNNode,然后将其转换为表面,因为我想在选定位置的表面区域上显示图像
我正在使用以下代码来转换我的SCNNode
let planeGeometry = SCNPlane(width: CGFloat(Width), height: CGFloat(Height))
let material = SCNMaterial()
material.diffuse.contents = UIImage.init(named: “imgName”)
let matirials:[SCNMaterial] = [material]
planeGeometry.materials = matirials
let rectNode = SCNNode(geometry: planeGeometry)
var transform = SCNMatrix4MakeRotation(-Float.pi / 2.0, 1.0, 0.0, 0.0)
transform = SCNMatrix4Rotate(transform, Float(orientation), 0, 1, 0)
rectNode.transform = transform
self.addChildNode(rectNode)
self.position = position上面代码中的一个问题:节点转换成功,但它根据方向随机翻转我的SCNMaterial图像。
有人能帮我解决这个问题吗?
发布于 2018-11-06 02:05:27
材质变换可以通过SCNMaterialProperty的contentsTransform进行调整
material.diffuse.contentsTransform = SCNMatrix4.SCNMatrix4Identity
或者,如果您只需要调整镜像图像,则可以使用
material.diffuse.wrapS = .mirror或material.diffuse.wrapT = .mirror
https://stackoverflow.com/questions/53155358
复制相似问题