Unity3D灯光参数到OpenGL的映射

Unity3D灯光参数到OpenGL的映射,opengl,unity3d,Opengl,Unity3d,我的公司已经在Unity3D中为基于OpenGL的游戏创建了一个内部级别编辑器。问题是我无法将Unity的照明模型映射到OpenGLs Unity灯光上的大多数设置都是有意义的,尽管我很难将“范围”映射到OpenGL的常数、线性和二次衰减 在单位中,“范围”似乎是表面接收到“无光”(极小数量)的距离。我已经得到了近似值,但是我想知道正确的映射。范围实际上是没有意义的,因为从技术上讲,灯光是由1/r²衰减控制的。OpenGL固定函数管道为您提供了两个衰减因子:线性衰减因子和二次衰减因子。在线性情况

我的公司已经在Unity3D中为基于OpenGL的游戏创建了一个内部级别编辑器。问题是我无法将Unity的照明模型映射到OpenGLs

Unity灯光上的大多数设置都是有意义的,尽管我很难将“范围”映射到OpenGL的常数、线性和二次衰减


在单位中,“范围”似乎是表面接收到“无光”(极小数量)的距离。我已经得到了近似值,但是我想知道正确的映射。

范围实际上是没有意义的,因为从技术上讲,灯光是由1/r²衰减控制的。OpenGL固定函数管道为您提供了两个衰减因子:线性衰减因子和二次衰减因子。在线性情况下,线性因子仅为1/范围,但产生的照明看起来并不自然。在二次衰减的情况下,您可以假设灯光衰减到1/10的距离为范围(假设衰减到最低有效位在理论上听起来更好,但会导致衰减太短)