Unity3D:我的 2D 游戏瓷砖之间奇怪的 1 像素白线

Posted

技术标签:

【中文标题】Unity3D:我的 2D 游戏瓷砖之间奇怪的 1 像素白线【英文标题】:Unity3D: Strange 1 pix white line between tiles on my 2D game 【发布时间】:2013-03-19 01:42:59 【问题描述】:

我的游戏有一个平铺的 2d 地图。这是场景截图:

我发现当我垂直移动相机时,随机瓷砖之间随机出现奇怪的白线,见:

不知道为什么……

PS:这是一款像素风格的2d游戏,所以我的贴图滤镜模式是“Point”。

PS:我在https://dl.dropbox.com/u/53858613/Web/Web.html上传了这个测试场景,按住鼠标左键,相机会向下移动,然后你会随机看到白线。

【问题讨论】:

【参考方案1】:

将材质着色器更改为更适合 2D 的东西。比如 sprite/default。

我做了一个快速测试项目,将着色器从“漫反射”更改为“精灵/默认”解决了这个问题。

【讨论】:

【参考方案2】:

为我解决的问题是将我的 2D spritesheet 的压缩设置为指向而不是双线性

【讨论】:

【参考方案3】:

我没有在我的机器上看到你的示例项目的这个问题。 看起来还不错。

1) 确保实际图像中没有白线。

2) 确保解决方案不是问题。

3) 我不是 100% 确定,但在天空盒中,黑线也会发生同样的情况。如果可能,尝试将纹理的纹理模式更改为 Clamp。这可能会解决问题。

希望这会有所帮助, -Smileynator

【讨论】:

相机移动时没有看到白线? 确实,我的机器上没有看到任何东西。如果夹子不起作用,我很抱歉,但我不得不让你失望:( 我的项目也有同样的问题,尽管我使用的是带有 SpriteRenderers 的对象,而不是映射到网格的纹理。在这里运行你的例子,我有同样的白线。我目前正在研究它,这似乎是某种浮点精度问题。尝试改变计算纹理映射的方式。【参考方案4】:

根据this Tilemap tutorial by Brackeys,尝试在Edit>Project Settings>Quality>Anti Aliasing下关闭antialiasing。

【讨论】:

以上是关于Unity3D:我的 2D 游戏瓷砖之间奇怪的 1 像素白线的主要内容,如果未能解决你的问题,请参考以下文章

《Unity3D/2D游戏开发从0到1》正式出版发行

如何在unity3d中将2d对象导入场景3d

如何评价cocos creator,与unity比的优劣势

关于《Unity3D/2D游戏开发从0到1》书籍再版说明

c#如何将2D数组拆分为较小的2D数组(块)列表?

使用Unity3d实现2d游戏,有几种方式