Unity_Shader高级篇_16_Unity Shader入门精要_减少计算复杂度

本文详细介绍了Unity Shader的LOD技术,通过控制Shader的LOD值以减少复杂Shader的使用,提高渲染效率。同时,文章讨论了代码优化策略,包括选择合适的浮点精度、减少插值变量的使用以及根据硬件条件进行缩放。此外,还提到了全屏屏幕后处理效果的优化,建议在低性能设备上使用低精度计算,并合并多个特效。最后,推荐了Unity官方的移动平台优化实践指南和相关演讲资源。
摘要由CSDN通过智能技术生成

16.8 减少计算复杂度

16.8.1 Shader的LOD技术
和16.5.2提到的模型的LOD技术类似,Shader的LOD技术可以控制使用的Shader等级。它的原理是,只有Shader的LOD值小于某个设定的值,这个Shader才会被使用,而使用了那些超过设定值的Shader的物体将不会被渲染。
我们通常会在SubShader中使用类似下面的语句来指明该shader的LOD值:

SubShader{
     Tags{
  "RenderType" = "Opaque"}
     LOD 200
}

我们也可以在Unity Shader的导入面板上看到该Shader使用的LOD值。在默认情况下,允许的LOD等级是无限大的。这意味着,任何被当前显卡支持的Shader都可以被使用。但是,在某些情况下我们可能需要去掉一些使用了复杂计算的Shader渲染。这时,我们可以使用Shader.maximumLOD或Shader.globalMaximumLOD来设置允许的最大LOD值。
unity内置的Shader使用了不同的LOD值,例如,Diffuse的LOD为200,而Bumped Specular的LOD为400。

16.8.2 代码方面的优化
在实现游戏效果时,我们可以选择在哪里进行某些特定的运算。通常来讲,游戏需要计算的对象、顶点和像素的数目排列是对象数<顶点数<像素数。因此

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值