unity-CommandBuffer使用
unity-CommandBuffer使用
前篇
- 主要参考 : Unity Shader-Command Buffer的使用(景深与描边效果重置版) - https://blog.csdn.net/puppet_master/article/details/72669977
CommandBuffer最主要的功能是可以预定义一些列的渲染指令,然后将这些指令在我们想要的时机进行执行。
渲染到 RenderTexture
1 | targetRenderer = targetObject.GetComponentInChildren<Renderer>(); // 需要渲染到RT上的目标渲染器 |
使用场景
除 主角 之外的背景做特效 ( 比如 模糊, 扭曲 ).
如果使用 景深 的方式去处理, 会有很大渲染消耗, 因为需要用到深度图, 渲染批次几乎直接就是翻倍, 而且不太好控制背景, 和主角处于同一深度的做不了效果.
如果使用 CommandBuffer, 这个就很简单而且效率高. 主相机渲染除 主角 之外的所有对象, 然后对主相机进行 后处理 , 然后在用 CommandBuffer 渲染主角
参考 : https://blog.csdn.net/puppet_master/article/details/72669977