在用Unity开发工程中,会遇到需要让一个物体同时播放两种动画的情况,举个简单的例子: 一只小鸟,这只小鸟会拍翅膀,这只小鸟也会按一定的轨迹飞行。 实现这个需求有几种思路:
1. 用动画控制器控制小鸟拍翅膀的动画,编写脚本控制小鸟的飞行轨迹;
2. 在一个动画中同时K上 拍翅膀相关的帧 和 运动轨迹相关的帧;
3. 给这只小鸟加一个父节点,小鸟自身的控制器会控制鸟拍翅膀的动画,其父节点上挂一个控制器,用来控制器运动轨迹;
4. 采用动画混合层的方式,由小鸟自身的动画控制器 直接控制 小鸟拍翅膀及其运动轨迹的动画。
本文将会对第 4 种思路进行简要介绍。
1)新建一个Unity工程,导入相关资源,图中的“Bird”已经挂好动画控制器,并且其“BaseLayer” (第0层)中新建一个 拍翅膀动画 => “Fly”动画。此时,小鸟已经具备拍翅膀的表现了。
接着,我们需要新建一个动画层,来实现其飞行轨迹动画的叠加:
2). 点