Swift 阿基特&x2013;半透明纹理像素在“倍增混合”模式下导致剪裁

Swift 阿基特&x2013;半透明纹理像素在“倍增混合”模式下导致剪裁,swift,xcode,augmented-reality,scenekit,arkit,Swift,Xcode,Augmented Reality,Scenekit,Arkit,我使用的是基本的ARKit示例,如果我使用两个面网格,一个是线框(背面),另一个是白框(正面),当使用材质混合模式乘法时,我会得到奇怪的结果。正如您在图像中看到的,半透明像素使背面网格在这些区域中丢失alpha(红色箭头)。完全白色和完全透明的像素按预期混合 我在默认的SceneKit示例中也尝试了同样的测试,在那里,back对象在半透明像素处显示为黑色。代码对于材质来说是非常基本的 let m: SCNMaterial = SCNMaterial() m.lightingModel = .ph

我使用的是基本的ARKit示例,如果我使用两个面网格,一个是线框(背面),另一个是白框(正面),当使用材质混合模式乘法时,我会得到奇怪的结果。正如您在图像中看到的,半透明像素使背面网格在这些区域中丢失alpha(红色箭头)。完全白色和完全透明的像素按预期混合

我在默认的SceneKit示例中也尝试了同样的测试,在那里,back对象在半透明像素处显示为黑色。代码对于材质来说是非常基本的

let m: SCNMaterial = SCNMaterial()
m.lightingModel = .physicallyBased
m.blendMode = SCNBlendMode.multiply
m.metalness.contents = 0.0
m.roughness.contents = 0.7
m.diffuse.contents = #imageLiteral(resourceName: "atest")
p.firstMaterial = m
我希望在倍增混合模式下,所有白色和白色像素都会消失(就像在photoshop中一样)。如果有人能证实这种行为和期望,那就太好了。多谢各位

  • (ARKit项目)

  • (SceneKit项目)

阿基特

斯切内基特