Unity3D:canvas 上的 Sprite 渲染器与图像渲染器问题

Unity3D: Sprite renderer vs image renderer issues on canvas

我在我的游戏中使用精灵作为动画菜单。 我尝试了两种方法:

  1. 图像渲染器:用动画中的精灵切片替换每帧图像window
  2. Sprite 渲染器:方法相同

我正在播放没有循环的 sprite 动画,然后在 z 轴上旋转变换。

问题在于,对于图像,屏幕 Space 叠加效果很好,但变换的旋转导致精灵看起来有故障和粗糙。然而,使用精灵渲染器时,屏幕 Space 必须放在相机中,并且精灵会放置在世界上其他资产之间。

示例:http://postimg.org/image/436q9jvax/

有没有办法要么使用图像修复旋转的粗糙度,要么强制将相机屏幕 Space 置于顶部?我对第二个选项唯一关心的是与多个设备的响应能力有关。

感谢您制作好的样本。菜单与世界相交的修复方法是为 GUI 层使用单独的相机。粗糙的动画可能是精灵渲染中的像素完美设置(只是猜测)。

我没有足够的声誉点数来写这篇评论。

最简单的解决方法是将“排序层”应用到 canvas 并启用精灵渲染器以使其保持在顶部。

不过,我最终还是采纳了@beuzel 关于独立相机的想法,并在 canvas 上选择了具有物理特性的 2D 精灵而不是 3D 渲染动画。

http://postimg.org/image/6qmtiirb9/