【Unity基础】5.动画曲线

【Unity基础】5.动画曲线

大家好,我是Lampard~~
欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢

(一)曲线编辑

(1) 动画曲线

上周我们创建了一个简单动画,让我们的矩形在第0帧时Y轴从0的位置,移动到30帧时Y轴为3的位置

如果物体是做匀速直线运动,我们就可以得知在第15帧的时候,Y轴的位置是1.5,在第20帧的时候Y轴位置是2,那实际上是不是呢?

很遗憾,虽然第15帧物体的位置确实在1.5,但是第20帧Y轴的位置确是在2.22,和我们预设的匀速运动不符合,那要搞清楚此时物体究竟是在做什么运动,我们就可以引出今天的主角动画曲线了

在我们的动画编辑器的左下方,有一个dopesheet简报默认按钮和curves曲线模式,点击curves我们就可以观察到这个物体随时间的变化在做什么样的运动

从上图我们可以观察到,物体的Y轴(绿色)是做一个曲线变速运动,这就和我们之前的数据验证的结果相符了

(2) 曲线编辑

那如果我们想让物体就做匀速运动要如何处理呢?

很简单,我们观察到运动曲线上有两个点,分别是我们0到30的关键帧,我们只需要选中它->选择both tangents(两侧的切线)->linear(线性),就可以把这个运动曲线设置成直线,物体也就做匀速直线运动了

此时我们再看第20帧的物体Y轴位置,就可以得出等于2的结果

(3) 更多曲线编辑选项

除了Both tangents之外,我们还可以设置left tangents和right tangents,也就是对关键帧的左侧和右侧运动曲线设置不同的值

而除了linear(直线)之外,还有Free(自由曲线),constant(常量不变),和weighted(重力)等

比如这样操作我们就可以重新让物体做曲线运动

而选择constant就可以让物体在某一帧才发生位置变化

(二)动画事件

(1)子节点动画

**现在打算设计一个直升飞机模型,通过控制其机翼的旋转来总结一下我们刚才学到的知识。**首先导入一个直升机模型,可以看到其包含前侧旋转翼和尾部旋转翼

我们按照上次课学习内容,在Animation文件夹创建两个新的动画Top和Back供飞机的两个机翼使用

把它们托到各自的组件上,然后打开动画编辑器,调整其transform组件的rotation属性

我们把尾部动画第0帧的x轴旋转角度设置为0,第30帧时候设置为360,那么就可以使飞机尾部螺旋桨在30帧之内旋转一周

但我们看到其一卡一卡的,很明显并不是我们想要的螺旋桨转动效果,我们应该打开动画曲线编辑,使之进行匀速运动

顶部的旋转动画也照葫芦画瓢设置一下就可以了,最后看看最终效果:

(2)动画回调事件

u3d的动画回调事件可以设定在跑到第几帧的时候,执行相应的回调函数,具体操作方式是:

创建一个C#脚本挂在动画挂载的物体上

编辑回调函数,比如说,我想飞机的尾翼跑到第20帧的时候,就停止转动

cs 复制代码
    void StopRotation()
    {
        Animation ani = GetComponent<Animation>();
        ani.Stop("Back");
    }

然后在动画编辑器中,选择想到执行该回调的帧,右键Add Animition Event,选择我们的回调方法(如果没有找到,需要验证下c#脚本是不是忘记挂到物体上了哟)

**好啦今天就到这里,感谢阅读!!!

点赞,关注!!!**

相关推荐
玖玥拾6 小时前
C# 语言进阶(十四)Unity UI界面开发 + 网络消息联动
服务器·开发语言·网络·ui·unity·c#·游戏引擎
野区捕龙为宠8 小时前
Unity 持久化数据
unity·游戏引擎·lucene
郝学胜-神的一滴10 小时前
[简化版 GAMES 101] 计算机图形学 17:纹理技术从基础原理到多场景实战应用
c++·unity·游戏引擎·图形渲染·three.js·opengl·unreal
_ZHOURUI_H_1 天前
MyFramework: 同样是 Unity 游戏开发框架,和 HTFramework 的设计取向有什么不同?(下)
unity·游戏引擎·游戏开发·游戏ui·手游开发
丁小未2 天前
基于MVVM框架的XUUI 扩展的UI管理系统教程
unity·mvvm·ui框架·xuui·ui管理器
丁小未3 天前
基于MVVM框架的XUUI HelloWorld 新手教程
unity·性能优化·c#·游戏引擎
丁小未3 天前
基于MVVM框架的XUUI MoreComplex案例
unity·c#
EQ-雪梨蛋花汤3 天前
【Unity笔记】VR 一体机画面锯齿、模型边缘闪烁、接缝抖动排查:MSAA、Mipmap、Render Scale、Z-Fighting 全流程记录
笔记·unity·vr
松树戈3 天前
【Godot4精进之路】03~Godot编辑器常用界面介绍
编辑器·游戏引擎·godot
YigAin3 天前
Unity Spine 资源出现白边的解决办法
unity·游戏引擎·spine