SCS_FinalColorLDR可以捕获最终的颜色,但是没有透明度通道信息,渲染出来是一个黑色的背景
SCS_SceneColorHDR可以获取到透明信息,但是不是最终渲染的颜色, 可以用以下方法渲染透明背景
1 先用SCS_SceneColorHDR获取A(需要255-A),0的就表示背景,记录所在的x,y,然后用SCS_FinalColorLDR获取最终颜色,对应的x,y地方设置rgba=0。不过这种方法需要捕获两次,如果RenderTexture尺寸过大(例如3200x3200) 速度会很慢。
2 创建一个后处理材质,RGB用PostProcessInput0节点,A用场景深度节点,例如深度>10000 表示背景,透明度设为0,否则为1
效果图
(还有一个问题就是如果渲染512的尺寸,细节会丢失很多,做法是先渲染2048尺寸,然后缩小到512)
UE透明背景渲染技巧
本文介绍使用UE进行透明背景渲染的方法。一种方案是结合SCS_SceneColorHDR与SCS_FinalColorLDR,通过记录透明像素位置来实现;另一种是利用后处理材质,通过场景深度节点调整透明度。
779





