SRPBatcher是对相同shader材质进行渲染优化的一种方式,这里不介绍使用方式,只针对在使用过程中遇到的坑点进行记录。

关于:UnityPerMaterial var is not declared in shader property section

问题原因:在CBUFFER中加入了没有在Properties中定义的属性。

关于:UnityPerMaterial CBuffer inconsistent size inside a SubShader

问题原因:字面直观感受就是说有部分变体不支持。这个问题网上能查到的信息很少。经过尝试,基本把问题原因锁定在keywords上,即CBUFFER中存在变体内容。

关于:Node use different shader keywords

因为使用了不同的keywords导致了batch中断,首先应该检查mat设置使用的keywords是否一致。但既然是坑,就不可能这么简单解决。

状况1:

检查以后发现mat设置相同,把shader中的所有keywrod都关掉,保证shader只有一个变体,结果也还是报这个信息。

问题原因:美术在制作过程中对同一个mat文件设置过不同的shader,之前shader中包含的keywords历史信息会在.mat文件中保存。查看.mat文件的文本信息后,发现了一些不认识的不属于正式使用shader的keywords。

解决方式:在文本中删除没用的keyworkds,保证keywords一致。

状况2:

游戏中场景内容使用的MeshRenderer,而角色怪物等使用的SkinnedMeshRenderer,所有渲染内容使用了同一个ShadowCaster.mat,以期望达到只有一个SRPBatch的效果。但是这两中renderer无法进行batch,在渲染状况复杂的情况下,因为两者穿插导致的SRTBatch打断严重,而且是不可控的。同样是报Node use different shader keywords。

问题原因:具体底层处理方式不清楚,直观来说就是这两种renderer在进行阴影渲染时,使用了不同的方式,从而不能在同一个batch中进行处理。

解决方式:建立两个不同的shader,分别创建对应的mat,用于处理两种Renderer。这样处理的结果时整个阴影贴图的渲染使用了两个Batch,但是结果时可控的。

Unity URP SRPBatcher踩坑记录相关推荐

  1. Unity GPU Instance踩坑记录

    Unity GPU Instance踩坑记录 Unity中GPUInstance主要有两种:一种是unity自动进行的,或者调用Graphics.DrawMeshInstancedIndirect等A ...

  2. unity解压缩文件踩坑记录

    项目需要,要能从服务器下载压缩包并解压在本地,于是网上搜了一下,直接就用 ICSharpCode.SharpZipLib.dll搞了.编辑器里搞出来了,想着打包测试一下,结果就报了一个从未见过的错误. ...

  3. unity工程 升级踩坑记录 1

    第一步最简单 , 也就是选定要升到哪一个版本 , 当前为2020年末, 决定使用2019LTS 接下来就简单了, 装一个hub 然后下载2019LTS 安装即可. 用新版本的unity打开老的项目 会 ...

  4. 【Live2d 3.x Unity SDK】踩坑记录01

    问题描述:当同事在SVN中上传了live2d模型(主要是Moc文件)时,其他人拉新SVN就会触发整个报错,同时还会自动在当前场景想新建两个半成品live2d模型 问题原因:因为在导入live2d模型的 ...

  5. Unity AssetBundle 踩坑记录

    Unity AssetBundle 踩坑记录 editor 下选择什么平台的 ab 加载 Material doesn't have a color property '_Color' UnityEd ...

  6. AirSim学习和踩坑记录(不定时更新)

    版权声明:本文为博主原创文章,遵循Creative Commons - Attribution-ShareAlike 4.0 International - CC BY-SA 4.0版权协议,转载请附 ...

  7. 关于原神沙漠痕迹效果的踩坑记录

    --因为个人之前活动的平台缺乏有营养的可以促进双方思考与进步的评论(毕竟平台的主打内容和用户群体不同),所以思考(与自己的懒惰做斗争)过后,技术相关的文章以后还是来知乎或CSDN之类专业性比较强的平台 ...

  8. 为Jupyter notebook配置R kernel过程及踩坑记录

    为Jupyter notebook配置R kernel过程及踩坑记录 注意:本文为作者安装过程及折腾的过程,内容比较冗杂,如果读者想直接创建一个属于自己的子环境则参考: 如下文章: anaconda下 ...

  9. Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子

    Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...

最新文章

  1. 5天5000万访问的个人网站是如何诞生的?
  2. pyqt 获取 UI 中组件_一起学Vue:UI框架(elementui)
  3. python怎么设置颜色深浅变化_Python赋值、深浅copy
  4. java链表.set_Java中的数组、链表、List、ArrayList、LinkedList、Vector、Set
  5. Java引用类型——强引用、软引用、弱引用和虚引用
  6. c++ 低位在前 高位在后_A股市场:如果股票涨停后第二天“高开低走”,你知道怎么操作才能利益最大化吗?...
  7. matlab对多项式求导,matlab中多项式求导
  8. 8位16位32位单片机区别
  9. iPhone XS Max第三方售价低于7千元 引用户疯抢
  10. 计算机学院运动会开幕式稿,运动会开幕式新闻稿 运动会开幕式广播稿原创2019...
  11. 实时搜索专家Krzana正式进军金融大数据市场
  12. 大陆集团:放弃内燃机,适用于高阶自动驾驶MK C1制动系统2020年国内投产
  13. qt中socket通信流程图_Qt学习 之 Socket通信
  14. MS-DOS虚拟机安装
  15. FEMTransfer软件实现Patran/Nastran/Abaqus/Ansys/Sesam(Genie)/Workbench/Femap/盈建科/PKPM仿真分析软件的有限元模型相互转换导入
  16. Win7系统无法被远程桌面连接如何解决
  17. Vscode 配置cmake
  18. 2020年度总结,展望2021
  19. R语言之几大常见概率分布
  20. python连接wss走自己的代理

热门文章

  1. 清华源或中科大源下载速度慢
  2. 特殊符号*上下角标替换
  3. 作为阿里云年薪500k大数据工程师必须掌握以下三种技能
  4. 计算机软件公司用ps是,[计算机软件及应用]PS技巧.ppt
  5. 全网最全的ChatGPT提示词
  6. ADVERBS OF DEGREE
  7. Easyexcel导出带下拉框选项excel模板
  8. cgctf WxyVM
  9. c语言输入员工序号和姓名,用c语言输入一组员工的编号、姓名及工资,然后将其输出...
  10. 可以记文字也可以录语音的备忘录便签