Unity3D:canvas 上的 Sprite 渲染器与图像渲染器问题
Unity3D: Sprite renderer vs image renderer issues on canvas
我在我的游戏中使用精灵作为动画菜单。
我尝试了两种方法:
- 图像渲染器:用动画中的精灵切片替换每帧图像window
- Sprite 渲染器:方法相同
我正在播放没有循环的 sprite 动画,然后在 z 轴上旋转变换。
问题在于,对于图像,屏幕 Space 叠加效果很好,但变换的旋转导致精灵看起来有故障和粗糙。然而,使用精灵渲染器时,屏幕 Space 必须放在相机中,并且精灵会放置在世界上其他资产之间。
示例:http://postimg.org/image/436q9jvax/
有没有办法要么使用图像修复旋转的粗糙度,要么强制将相机屏幕 Space 置于顶部?我对第二个选项唯一关心的是与多个设备的响应能力有关。
感谢您制作好的样本。菜单与世界相交的修复方法是为 GUI 层使用单独的相机。粗糙的动画可能是精灵渲染中的像素完美设置(只是猜测)。
我没有足够的声誉点数来写这篇评论。
最简单的解决方法是将“排序层”应用到 canvas 并启用精灵渲染器以使其保持在顶部。
不过,我最终还是采纳了@beuzel 关于独立相机的想法,并在 canvas 上选择了具有物理特性的 2D 精灵而不是 3D 渲染动画。
我在我的游戏中使用精灵作为动画菜单。 我尝试了两种方法:
- 图像渲染器:用动画中的精灵切片替换每帧图像window
- Sprite 渲染器:方法相同
我正在播放没有循环的 sprite 动画,然后在 z 轴上旋转变换。
问题在于,对于图像,屏幕 Space 叠加效果很好,但变换的旋转导致精灵看起来有故障和粗糙。然而,使用精灵渲染器时,屏幕 Space 必须放在相机中,并且精灵会放置在世界上其他资产之间。
示例:http://postimg.org/image/436q9jvax/
有没有办法要么使用图像修复旋转的粗糙度,要么强制将相机屏幕 Space 置于顶部?我对第二个选项唯一关心的是与多个设备的响应能力有关。
感谢您制作好的样本。菜单与世界相交的修复方法是为 GUI 层使用单独的相机。粗糙的动画可能是精灵渲染中的像素完美设置(只是猜测)。
我没有足够的声誉点数来写这篇评论。
最简单的解决方法是将“排序层”应用到 canvas 并启用精灵渲染器以使其保持在顶部。
不过,我最终还是采纳了@beuzel 关于独立相机的想法,并在 canvas 上选择了具有物理特性的 2D 精灵而不是 3D 渲染动画。