它适用于我的纹理,但不适用于将 SCNVector4 转换为 NSValue?我只是想让 vec4 进入我的表面着色器
这个问题表明它应该可以工作https://stackoverflow.com/a/39407262/273312 - 我只是一直看到这个错误'在调用实例方法'setValue'时没有完全匹配' - 我在尝试其他代码时遇到同样的错误相同。(见图) - 我也尝试将它包装在 SCNMaterialProperty() 中,但仍然无法正常工作。
faceMaterial = SCNMaterial()
let setTexture_1 = SCNMaterialProperty(contents: #imageLiteral(resourceName: "lips"))
let setTexture_2 = SCNMaterialProperty(contents: #imageLiteral(resourceName: "eyes"))
let setTexture_3 = SCNMaterialProperty(contents: #imageLiteral(resourceName: "lashes"))
let vecLipColor = NSValue(scnVector4: SCNVector4(1.0,0.0,0.0,1.0))
faceMaterial.setValue(vecLipColor, forkey: "lcc")
faceMaterial.setValue(setTexture_1, forKey: "texture_UV1")
faceMaterial.setValue(setTexture_2, forKey: "texture_UV2")
faceMaterial.setValue(setTexture_3, forKey: "texture_UV3")