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

Posted

技术标签:

【中文标题】Unity3D:画布上的 Sprite 渲染器与图像渲染器问题【英文标题】:Unity3D: Sprite renderer vs image renderer issues on canvas 【发布时间】:2015-11-09 19:36:44 【问题描述】:

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

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

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

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

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

有没有办法使用图像修复旋转的粗糙度或强制将相机屏幕空间放在顶部?我对第二个选项的唯一担心是与多个设备的响应能力有关。

【问题讨论】:

【参考方案1】:

最简单的解决方法是将“对图层排序”应用到画布上,同时开启精灵渲染器以使其保持在顶部。

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于Unity3D:画布上的 Sprite 渲染器与图像渲染器问题的主要内容,如果未能解决你的问题,请参考以下文章

Unity3d游戏开发浅谈UGUI中的Canvas以及三种画布渲染模式

Unity3d的Sprite Packer用法介绍

Unity3D官方案例 - 2DGame - 帽子接球

Unity:在 UI 画布图像的着色器中访问精灵二级纹理

Sprite Sheet - 在旧 sprite 之上绘制新 sprite

Unity3D制作小地图