Unity3D提供了Instanced渲染支持,虽然这是一个古董技术了,但是Unity的实现依然让人难以言状
1.Unity3D可以经由动态合批使用Instanced渲染,前提是
A使用的shader支持
B如果有需要instanced的参数,是不能直接合批的,因为instanced的参数必须用MaterialPropertyBlock 配置
因为存在两个前提,所以这条线路实用性不佳
实现批次渲染
或者通过CommandBuffer挂到摄像机上
这里虽然很奇怪Unity是怎么把这个东西设计的这么不伦不类的,但是Instanced渲染的实用价值很高,所以还是值得学习一下。
先贴代码
https://gitee.com/lightsever/unity_tips/tree/master/DrawInstance
一、首先你需要一个shader
然后将_Color 作为一个Instanced 参数,定义和使用,都使用Unity提供的宏
二、然后你需要初始化矩阵和MaterialPropertyBlock
然后done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。