Unity 2D序列帧动画能产生两种动画
众所周知,2D动画有两种,Sprite动画和Image动画
1.我们通过全选图片然后拖拉到Hierarchy面板的组件上所产生的动画就是Sprite动画,它会在该组件上自动添加一个SpriteRender的组件Unity 生成序列帧动画的两种方式的异同
2.通过Windows->Animation ,然后选定Image将图片全选加入,所产生的动画就是Image动画,注意Sprite动画也可以通过该方式产生
Unity 生成序列帧动画的两种方式的异同
Unity 生成序列帧动画的两种方式的异同

Sprite动画和Image动画有什么区别呢?

渲染上:
Image 通过UGUI的Image和CanvasRenderer组件组件来渲染
Sprite 通过SpriteRenderer组件来渲染
两者在视觉上没有任何区别(都使用默认材质时)。它们默认的渲染也都是在Transparent Geometry队列中。

使用上:
Image需要位于某个Canvas下才能显示出来。场景中的Sprite可以像普通的3D游戏物体一样对待,通过Transform组件进行移动等操作,而Image则使用RectTransform进行布局,以便通过Canvas统一管理。由于RectTransform可以设置大小、对齐方式等,Image可以说更加方便一点,这也是很多人选择使用Image的原因。

在引擎的处理上:
将Wireframe选项打开然后在场景中观察,就可以清楚地发现,Image为一个矩形的Sprite生成两个三角形拼成的矩形几何体,而Sprite则会根据显示内容,裁剪掉元素中的大部分透明区域,最终生成的几何体可能会有比较复杂的顶点结构。
Unity 生成序列帧动画的两种方式的异同
Unity 生成序列帧动画的两种方式的异同

由渲染管线的基本流程进行推断:
1.Sprite由于顶点数据更加复杂,在进行顶点计算时会比Image效率更低;
2.Sprite会比Image执行较多的顶点着色器运算;
3.Image会比Sprite执行更多的片段着色器运算

相关文章:

  • 2021-12-16
  • 2021-10-29
  • 2021-07-14
  • 2021-12-09
  • 2021-11-05
  • 2018-04-08
  • 2021-12-29
猜你喜欢
  • 2021-05-30
  • 2022-01-08
  • 2021-10-02
  • 2019-03-20
  • 2021-07-27
  • 2021-07-01
  • 2021-09-25
相关资源
相似解决方案