首页 > 解决方案 > iOS SCNScene 如何使材质均匀照明而没有阴影?

问题描述

无论渲染 SCNScene 的物理设备的环境光环境如何,我都需要用均匀的光线渲染 ARSCNFaceGeometry 对象。在我的测试中,苹果似乎仍然为面部几何模型加入了某种环境光(基于我所在的物理房间)。

如何指定我的 SCNScene 或我的 SCNMaterial 必须以最大级别均匀照明并且永远不会出现任何阴影?

换句话说,如果我的材质 (r,g,b) (255, 0, 0) 上有一个红色像素,我希望它始终处于该值,无论角度或环境光如何。目前,场景似乎正在修改颜色。

    faceGeometry: ARSCNFaceGeometry
    let material: SCNMaterial = geometry.firstMaterial

    material.lightingModel = .constant
    
    material.diffuse.contents = faceTexture
    material.diffuse.intensity = 1.0

    // does not work
    material.ambient.contents = UIColor.white
    material.locksAmbientWithDiffuse = true 
    
    // does not work
    material.emission = 0.1

    // does not work
    material.selfIllumination = 0.1

标签: swift5ios14lightscnscenescnmaterial

解决方案


推荐阅读