Unity的光影效率低,性能差是公认的,人家隔壁UE4都早就走上魔改引擎的道路了,我们也不能落后啊是不是?
https://github.com/MaxwellGengYF/Unity-Optimized-CGInclude-file
大家可以按照文档,把引擎中的CGIncludes进行备份,并且将开源中的CGIncludes文件夹合并到Unity里,重启Unity,Standard PBR Shader的光照性能,阴影质量均会获得大幅度的提升,当然咯,毕竟PBR本身消耗还是较大的低端手机可能会比较吃力,但是移动端也可以用,你只需要声明宏定义将32位float转换成16位half就行了,毕竟大多数手机的运算架构依然是16位,例如:
#define float half
#define float2 half2
#define float3 half3
#define float4 half4
#define float3x3 half3x3
#define float4x4 half4x4
对于不同平台使用不同的数据精度是我们平时编写shader时很重要的一点,除此之外呢,如果你的目标平台是比较高端的,性能较强的,就可以慢慢享受次世代般的实时光影带来的快感了
https://github.com/MaxwellGengYF/Unity-Optimized-CGInclude-file
大家可以按照文档,把引擎中的CGIncludes进行备份,并且将开源中的CGIncludes文件夹合并到Unity里,重启Unity,Standard PBR Shader的光照性能,阴影质量均会获得大幅度的提升,当然咯,毕竟PBR本身消耗还是较大的低端手机可能会比较吃力,但是移动端也可以用,你只需要声明宏定义将32位float转换成16位half就行了,毕竟大多数手机的运算架构依然是16位,例如:
#define float half
#define float2 half2
#define float3 half3
#define float4 half4
#define float3x3 half3x3
#define float4x4 half4x4
对于不同平台使用不同的数据精度是我们平时编写shader时很重要的一点,除此之外呢,如果你的目标平台是比较高端的,性能较强的,就可以慢慢享受次世代般的实时光影带来的快感了




