SC-101笔记(Unity动画系统与2D渲染)

Unity动画系统主要分为精灵动画(Sprite,帧动画)和骨骼动画(Spine)。常见的2D渲染组件一般包括SpriteRenderer和SpriteMask、SpriteEditor。动画系统(精灵动画)包含的组件则主要是Animation和Animator。

SortingLayer

表示当对象重叠时显示的先后顺序。越靠前的先渲染。

SpriteMask

控制一个Sprite只在另一个Sprite的范围内显示。

当场景内存在SpriteMask时,其他的SpriteRenderer可以在MaskRenderer选择和Mask的交互方式:不交互、罩内可见和罩外可见。

Sprite Editor

这个组件可以对2D精灵做出非常多的操作,例如切片,调整间距等等操作。

Animation

Animation通过间断或者连续的关键帧动画来进行管理。animation将不同的图片导入统一动画中会采用间断的关键帧,而对同一图片(精灵)进行操作时会进行连续的过度。在后一种情况下,如果改变了spriteRenderer的多个属性,可以在动画窗口中规定不同属性分别的变化方式。另外,还可以在关键帧处插入事件AnimationEvent,在动画播放到该关键帧时触发一些附加操作。例如,死亡时最后的关键帧销毁该对象并且隐藏精灵。等等。

Animator

Animator管理动画的状态切换和其中的逻辑顺序。Animator的管理方法类似一个状态机,包括Entry,Quit,Any state等等。其中anystate所绑定的逻辑对于任何都生效(例如死亡逻辑,在任何状态下都可能触发),Entry绑定的则是默认情况下的动画,例如移动。通过创建transition过渡;来说明切换的逻辑。可以在transition的检查器中设定切换速度和condition条件。condition条件可以由animation中规定的一些变量触发。这个可以在getcomponent<spriterenderer>.settype()在代码中改变。

总结

综合spriterenderer,spriteeditor和spriteMask,我们可以对对象的显示渲染做一些静态的操作;而通过animation和animator,我们可以对对象的显示和渲染做一些动态操作。这些组件不多,但是基本上占据了2D精灵动画的所有部分。

值得注意的是,由于在播放动画的时候物体碰撞箱会跟随,所以在实际操作中一般将sprite和collider分为两个子物体来操作。(但是这也产生了一些另外的bug且被玩家们熟知)。不论如何,还是分开的操作相对更好一些,它使得碰撞箱不会再被动画所束缚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值