我正在研究一个项目,使用统一5.4.在这个项目中,块彼此相邻.
然而,出现了一些恼人的奇怪线条.同样在Android上,这些行比在PC上发生的频率更高.为了便于说明,我添加了图像和视频.请放大图片,看看我所说的线,清楚.
任何人都可以提供一个解决方案来获得这种新生的红色.提前致谢.
文献:
块对齐代码段:
for (int x = 0; x < xSize; x++)
for (int z = 0; z < zSize; z++)
{
Vector3 pos = new Vector3(x, -layerDepth, z);
InstantiateBlock(pos);
}
Run Code Online (Sandbox Code Playgroud)
你有对象接缝!
当物体之间存在物理或感知间隙时会发生这种情况.
造成这种情况的原因有很多.
这可能是因为您将立方体的位置设置为int's但它们具有浮点尺寸.当相机靠近物体时,其症状通常是没有白色接缝,然后由于浮点不精确而逐渐出现.更多.
从大多数相机位置看,大多数这些块看起来都很准确.但是从偶然的不幸位置来看,A位置加上其顶点(0.5,0.5,-0.5)的确切值可能与对象B的位置加上其顶点(-0.5,0.5,-0.5)略有不同.结果是Unity显示了一个微小的间隙,在其中您可以看到立方体A的阴影面.
如果您在纸上考虑以下内容,3 == 1/3 * 3这在数学上是正确的,但是使用浮子,1/3 == 0.333333...然后是3 * 0.333333... == 0.999999...BINGO!物体之间的随机间隙!
那怎么解决?使用浮动来计算对象的位置.new vector3(1,1,1);应该new vector3(1f,1f,1f);- 例如.有关此内容的进一步阅读,请尝试此 SOP.
如果在对象上使用纹理,请尝试将纹理的包裹模式从包裹更改为夹具,或尝试增加纹理填充.
这是阴影中应该真正点亮或不亮的像素的任意模式.
为了防止阴影痤疮,可以将阴影值添加到阴影贴图中的距离,以确保边线上的像素确实通过比较,或确保在渲染到阴影贴图时.来源.
在Unity ...转到你的光源,然后增加Shadow Type > shadow Bias我建议加倍默认值0.05然后继续,直到修复.您不希望将此值设置为max,因为......
不要将偏移值设置得太高,因为游戏对象附近的阴影周围的区域有时会被错误地照亮.这会导致阴影断开,使GameObject看起来好像是在地面上空飞行.
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |