任何人都知道如何在不更改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图片。
那么有人能帮助我解决这个问题吗?
答案 0 :(得分:0)
可以通过Data payload:
{
"to": "XXXXXXXXX", // deviceToken
"notification": {
"title":"Notification Title",
"body":"testing testing"
},
"data": {
"user_id": 123,
"foo": "bar"
}
}
中的contentsTransform
来调整材质变换
SCNMaterialProperty
或者,如果您只需要调整镜像图像,则可以使用
material.diffuse.contentsTransform = SCNMatrix4.SCNMatrix4Identity
或
material.diffuse.wrapS = .mirror