Unity 5.5的一个重要新特性便是支持Android和iOS平台的线性渲染。线性渲染可以确保输入、输出和计算都在正确的颜色空间。最终图像的亮度将随着场景中的光量呈线性变化。通俗点说,也就是场景和资源的照明更加一致。

同时,还有一个新选项是使用“Gamma”颜色空间(即伽马渲染),即亮度将随颜色值增大而迅速变为白色,这将有损图像质量 - 示例如下:

144927afy5f5q0d2dp0mfq.jpg
Unity 5.5中的线性渲染已支持Android和iOS平台。 在Android上,线性渲染需要OpenGL ES 3图形API,现已覆盖了市场上61.1%的Android设备。 在iOS上,线性渲染需要Metal图形API,而相应iOS设备的占比为71.1%。

由于线性和伽马渲染之间的效果差异明显。因为伽马回退需要重新写入资源,所以一般不会回退到伽马渲染。 这意味着使用线性渲染的游戏,将无法在仅支持OpenGL ES 2.0的Android和iOS设备上运行。

我们借助Google Play上的过滤器,这样在Google Play列表中不会出现使用线性渲染的,以及那些在仅支持OpenGL ES 2.0设备上不能正常运行的游戏。对于iOS我们也采取了对应的措施,借助iOS Keys来过滤iOS商店中使用线性渲染的游戏。

此外,Unity 5.3在Windows编辑器及PC端中引入了对OpenGL ES图形API的支持,以改善移动开发人员的迭代时间。 我们与多家GPU厂商合作,在Windows上使用OpenGL ES实现线性渲染。 此功能已经在GeForce 376.09驱动程序上可用,感谢NVIDIA的Piers Daniell提供帮助。

为了查看线性渲染的效果,我们使用合适的资源为移动端和PC端做了一个简单的测试场景,可以在这里免费下载。

144927flblbzgk8l8kukkk.jpg
目前,WebGL 2.0暂不支持Unity中的线性渲染,但我们正与Khronos WebGL组和Chrome团队共同努力,以便在未来的版本中提供此功能。

原文链接:LINEAR RENDERING SUPPORT ON ANDROID AND IOS
原文作者: CHRISTOPHE RICCIO
感谢Unity官方翻译组成员“CelebrationMA”对本文翻译所做的贡献。
转载请注明来源:Unity官方中文社区 (forum.china.unity3d.com)。请勿私自更改任何版权说明信息。锐亚教育

锐亚教育 锐亚科技 unity unity教程