【问题标题】:How can I remove the unintended line in Unity generated by tilemap如何删除由 tilemap 生成的 Unity 中的意外行
【发布时间】:2022-12-07 07:26:10
【问题描述】:

我下载并导入了免费的 tilemap esset,但在游戏屏幕中有 vertical lines。错误并没有出现在场景屏幕中,即使我尝试构建它,游戏也可以毫无问题地运行。所以,这似乎不是致命错误,但它会在制作和测试游戏时打扰我。

我检查了这个 tilemap 的每单位像素、过滤模式和压缩,它们设置正确。我也禁用了抗锯齿(它部分起作用,删除了水平线)。

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    虽然这应该解决你看到的伪影/撕裂问题,使用 Sprite Atlas 也是一个好习惯,即使你没有看到这个问题。

    Sprite Atlas 以这样一种方式打包 sprite,即它们有一点填充可以阻止纹理渗出,而纹理渗出有时会导致不需要的水平和垂直线出现在 sprite 块之间。

    Sprite Atlas 工作流程可以详细阅读here

    从该文档中,3 个基本步骤是:

    1. 创建 Sprite Atlas 资产。
      要创建 Sprite Atlas 资产,请转到 Assets > Create > 2D > Sprite Atlas。 Unity 在 Asset 文件夹中创建 Sprite Atlas,文件扩展名为 *.spriteatlas。

    2. 选择要打包到 Sprite Atlas 中的对象列表。
      Objects for Packing 列表显示 Sprite Atlas 中当前选定的项目。您可以在此列表中放置 Texture2D 和 Sprite 资源。将文件夹直接拖放到列表中,自动将文件夹内的所有有效内容添加到列表中(仅文件夹出现在列表中)。

    3. 启用包含在基于 Sprite Atlases 的构建中以将它们包含在项目中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多