在 Unity 5 中,为啥精灵表中的某些精灵在精灵中不可见,但在 UI 图像中可以正常工作?
Posted
技术标签:
【中文标题】在 Unity 5 中,为啥精灵表中的某些精灵在精灵中不可见,但在 UI 图像中可以正常工作?【英文标题】:In Unity5 why some sprites in spritesheets are not visible in sprites but works fine in UI images?在 Unity 5 中,为什么精灵表中的某些精灵在精灵中不可见,但在 UI 图像中可以正常工作? 【发布时间】:2017-05-17 03:59:32 【问题描述】:在 Unity5 中,我使用纹理打包器并制作了几个 spritesheet,但是几个 spritesheet 中的某些图像不适用于 sprite,无论我是通过在项目检查器中拖动 spritesheet 名称下的图像名称来创建它们,还是手动创建一个空的游戏对象并添加一个精灵渲染器然后选择一个有问题的精灵,或者甚至我拖动另一个工作精灵来创建游戏对象,然后将精灵更改为不工作的精灵,场景和游戏窗口中的图像都会消失。
然而,不工作的可以用于 UI 图像组件。
顺便说一句,如果我通过单击精灵组件上精灵栏后面的小圆圈来调出“选择精灵”窗口,则所有不工作的图像都不可见。您可以在以下屏幕截图中看到它:
【问题讨论】:
'TextureType' 可能没有设置为 sprite? 它们被设置为 Sprite(2D 和 UI)。 在统一的精灵编辑器中确保边界和轴正确。当统一有自己的精灵打包器时,为什么还要使用外部打包器? 所有边框和轴心都是正确的。我忘记了为什么我使用第 3 方打包程序。可能是因为我在 Unity 4 中创建这个项目的时候,当时 Unity Packer 还没有出来? 【参考方案1】:首先unity会自动打包精灵,不要自己动手,下面是可以的:
-
从项目中移除损坏的精灵
删除您创建的所有打包纹理
再次将精灵添加为单独的图像文件
选择所有新的 sprite,然后在检查器中将它们设置为 Sprite (2D/UI) 并为它们提供所有相同的打包标签,这将告诉 unity 将它们打包到一个 spritesheet 中
另一个注意事项:如果 UI 图像不是画布的子级,则不会出现。
Unity 文档: Sprite packer
【讨论】:
非常感谢您提供此信息。这是 Unity 5 中的新功能吗?我忘记了为什么我使用第 3 方打包程序。这是一个使用 Unity 4 创建的旧项目。 我认为它从 4.5 及更高版本开始就存在知道事情是否有效 非常感谢,我解决了手头的其他问题后再试试。 更新:我更改了所有 3rd 方图集并使用了统一打包程序,效果很好,但我仍然必须编写自己的管理器来按名称加载精灵。再次感谢您的帮助! 完美,如果您需要任何帮助,请告诉我,或者如果您有其他问题,只需发布一个新问题并将其链接到此处,很高兴为您提供帮助:)以上是关于在 Unity 5 中,为啥精灵表中的某些精灵在精灵中不可见,但在 UI 图像中可以正常工作?的主要内容,如果未能解决你的问题,请参考以下文章