Unity 解决Z-fighting

产生问题的原因:

3d游戏中当2个片元距离近裁减平面 w 落在同一个区间的时候,他们的深度是相等的,游戏中会出现画面闪烁;

解决办法:

网上给的解决方案一般是设置深度偏移;
由于硬件都只能支持一定的深度格式,也就是说,Depth bits 是一定的,假为 D.而顶点的投影深度则毫无限制,他可以是 near_clip —> far_clip 的任意一个浮点数.因此

dw/D = (far_clip – near_clip)/near_clip;

在unity中具体修改方法是在场景中找到对应的相机,设置Clipping Planes的Near 在场景允许的范围前越大越好.

微软给的解决方案是修改far_clip,方法是一样的微软链接

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44054505/article/details/111668334
今日推荐