您好,我有一个 SCNScene,它是我游戏的基础。照明很棘手,为了获得我想要的效果,我最终将三盏灯复制了三遍。这增加了灯光的强度以创建我想要的效果和颜色。但是我知道所有投射阴影的 9 盏灯都对我的 fps 造成了影响。有没有办法像我一样通过复制它们而不破坏我的fps来增加灯光的强度?
谢谢!
你有什么类型的灯?它们有非默认衰减值吗?(见attenuationStartDistance
和)。attenuationEndDistance
attenuationFalloffExponent
如果可能的话,您可以尝试增加灯光颜色的亮度(例如,如果它们还不是 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