网站搭建是什么专业,网站建设合同要注意什么,万网网站建设购买过程,广告设计专业毕业设计【Unity基础】7.动画状态参数 大家好#xff0c;我是Lampard~~ 欢迎来到Unity基础系列博客#xff0c;所学知识来自B站阿发老师~感谢 #xff08;一#xff09;创建动画状态
(1) 创建动画状态 不好意思各位~最近工作比较忙#xff0c;稍微耽误了这两周的博客。话… 【Unity基础】7.动画状态参数 大家好我是Lampard~~ 欢迎来到Unity基础系列博客所学知识来自B站阿发老师~感谢 一创建动画状态
(1) 创建动画状态 不好意思各位~最近工作比较忙稍微耽误了这两周的博客。话不多说我们继续学习unity的动画状态机现在我们是有一台原地转动螺旋桨的飞机模型 接下来我们先创建两个动画状态一个命名为Move代表飞机向前飞行另一个命名为Fly代表飞机向上飞行 (2) 给动画状态添加动作Motion 我们需要给动画状态增加两个简单的motion我们按照之前学习的内容创建两个简单动画控制模型飞机的position属性随着时间进行变化即可 我们把Fly状态和Move状态之间加一个联系然后点击播放看看现在的效果飞机执行完FlyAni后进入了Move的状态向前进 3ExitTime 那为什么在播放完Fly状态后会进入Move状态呢是因为有Fly有一个指向Move联系的原因吗 不完全是存在联系代表着Fly状态可以过度到Move状态但是不代表可以直接就进入到该状态。起了这个效果主要是我们状态里面的Exittime属性起了作用 我们取消勾选飞机播放完Fly状态后就不会进入Move状态 调整Exit time的数值则可以控制多少秒或者圈后才进入到下一状态比如调个3看看 二动画状态参数
1创建动画状态参数 在动画编辑器节目面有Layer和Parameters两个按钮点击 Parameters就可以给动画状态创建控制参数有Intfloatbool等我们创建一个布尔类型的来控制其处在Fly还是Move状态 我们想要通过控制这个参数的状态来控制模型从Fly状态到Move状态以及Move状态到Fly状态的过度那么下一步我们自然需要把这个参数关联到这两个状态的transtion之间去
2关联状态参数
选中它们的联系右下方有一个condition的属性点击加号就可以找到我们刚才创建的参数了 我们把IsFly字段设置为false时候的时候状态将会从Fly过度到Move同样我们给Move到Fly的联系也加上这个参数此时就需要把它设置为true代表是从Move过度到Fly 3调整参数 在做好上面的工作后我们就可以看看效果了 当我们IsFly处在未选中时模型会执行完Move状态当我们在编译器中把IsFly调整为true时就会过度到Fly状态 三状态机API
1获取状态机组件 我们可以在编辑器中调试效果但是如果需要在代码里控制这个动画状态参数的变化该怎么办呢很简单我们只需要先获取这个动画状态机组件然后再通过组件对象访问IsFly参数并调整就是了
Animator ani GetComponentAnimator();
2设置IsFly参数 在获取到组件之后我们可以尝试调整其参数状态机提供了一个SetBool的接口给我们我们可以用它调整IsFly参数 比如代码这样写就可以让我们在按着F键的时候播放Fly状态动画松手这回到Move 看看效果~如果没生效看看脚本挂到模型上去没有还有就是有没有选中Game窗口 好啦今天先到这里下周进行更复杂一些的动画编辑操作~ 点赞关注