2011-05-12 39 views
1

我的公司已经在Unity3D中为基于OpenGL的游戏创建了一个内部级别的编辑器。问题是我在将Unity的Lighting模型映射到OpenGL时遇到了麻烦。将Unity3D Light参数映射到OpenGL

尽管我在将“范围”映射到OpenGL的常量,线性和二次衰减方面遇到问题,但Unity的灯光上的大部分设置都很有意义。

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

回答

0

范围实际上是没有意义的,因为技术上轻是受1/r2衰减控制。 OpenGL固定功能管线为您提供了两个衰减因子:线性和二次方程。在线性情况下,线性因子将仅为1 /范围,但所得照明看起来不自然。在二次衰减情况下,您可以假设光线衰减到1/10的距离(假设衰减到最低位听起来理论上听起来更好,但会导致衰减太快)。