问题、现象
最近公司项目中需要实现 BB (Billboard) 树的功能,并添加 Instancing,但是发现绘制时在部分同学电脑上绘制正常,但是部分同学的不正常
而且会导致绘制的 BB 树闪烁
原因
因为 BB 树合批了,导致 unity_ObjectToWorld 和 unity_WorldToObject 使用了同一批的变换矩阵导致的
所以闪烁的 BB 树的变换矩阵错误了,绘制的位置肯定就不能确定了
解决方法
一般是由于 Unity 项目配置中 开启了 DynamicBatch 导致的:
- ShaderLab 中添加 Tags :
"DisableBatching" = "True" - 或是 ShaderLab 不添加 Tags 也行,如果说你的项目不需要 unity 的 DynamicBatch 的功能的话,可以通过:
Edit/Project Settings.../Player/Other Settings/Dynamic Batching的复选框的勾 去掉,如下图


本文探讨了Unity项目中BB树绘制闪烁问题的根源,由于动态批处理导致变换矩阵冲突。解决办法包括在ShaderLab中添加标签禁用批处理或关闭项目设置中的DynamicBatching。适合Unity开发者解决实例化场景中的视觉问题。
&spm=1001.2101.3001.5002&articleId=115408335&d=1&t=3&u=0d12575dbffa452a83bbf8064ce01c12)
2024

被折叠的 条评论
为什么被折叠?



