0

它适用于我的纹理,但不适用于将 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")

在此处输入图像描述

4

0 回答 0