七彩极 发表于 2022-5-28 13:54

UE4透明物体排序

一。效果展示
我猜测ue4应该用的是中心位置比较


二。原理刨析   不想看原理的可以看后面有如何实现
1.首先你要知道排序是通过SceneDepth
2.简单地说会比较SceneDepth的大小 小的在前面 后面的就不要了
3.但是就会出现一个问题 后面的像素没了
4.没了之后不透明物体倒是没有啥影响 半透明物体呢 后面是啥颜色
5.所以ue4就直接让半透明物体最后渲染
总结 我先把不透明的都画完了 在画半透明的盖在上面 但是呢半透明和半透明就没办法排序了
那么是什么导致没办法排序的呢? 是没有深度没办法一个像素一个像素的比较


所以咋们要找到别的办法比较透明物体的顺序 到底谁在前面   
三。解决办法实现及效果展示
1.更改渲染顺序


值越大越靠前
但是问题很明显 以之在前面


来源
https://docs.unrealengine.com/en-US/RenderingAndGraphics/Materials/HowTo/Transparency/index.html
2.改变材质模式





确实没有了排序问题但是他两个加载一一起呀这

来源UE4 解决半透明材质显示错误_Deveuper的博客-CSDN博客
3.官方抖动案例非常推荐效果好消耗低
利用抖动产生不透明效果





消耗低效果好

BlaXuan 发表于 2022-5-28 14:02

那如果我需要对一个actor下的child actor component 进行这个半透明渲染排序,应该怎么做呢?我试了下,原来针对于一般组件的render下面只有visible、Hidden in game和use attach parent bound,,,所以我应该怎么把child actor component进行一个排序?或者把他转换成一个和普通组件一样可以排序的组件?

DomDomm 发表于 2022-5-28 14:06

排序是半透明物体的问题。是不是可以尝试一下用半透明呢。或者少部分用半透明。也可以尝试一下taa抖动和半透明配合。如果更规定顺序可以试一下把顺序写死
页: [1]
查看完整版本: UE4透明物体排序