您好,我有一个 SCNScene,它是我游戏的基础。照明很棘手,为了获得我想要的效果,我最终将三盏灯复制了三遍。这增加了灯光的强度以创建我想要的效果和颜色。但是我知道所有投射阴影的 9 盏灯都对我的 fps 造成了影响。有没有办法像我一样通过复制它们而不破坏我的fps来增加灯光的强度?
谢谢!
你有什么类型的灯?它们有非默认衰减值吗?(见attenuationStartDistance和)。attenuationEndDistanceattenuationFalloffExponent
如果可能的话,您可以尝试增加灯光颜色的亮度(例如,如果它们还不是 100% 白色)。
否则,您可以使用着色器修改器。入口SCNShaderModifierEntryPointLightingModel点将让您自定义每个灯光的效果。
在 iOS 10 和 macOS 10.12 中,SCNLight现在有一个intensity: CGFloat属性可以让您将每个灯光的亮度相乘。假设您不使用 PBR/IES,intensity则充当 permille 乘数1000- = 1×、3000= 3×、100 = 0.1×等。 (使用 PBR 或 IES 照明时,intensity改为控制光的光通量。)
要将每个 的亮度提高三倍SCNLight,只需执行以下操作:
myLight1.intensity = 3000