Unity中曲线编辑器AnimationCurve的使用

发表于2019-01-22
评论0 7k浏览
之前讲了几篇使用贝塞尔曲线的文章,都是直接使用的公式,目的是为了更了解贝塞尔曲线,其实unity中已经提供了非常方便的编辑器,这里我们来看一下如何使用:

首先创建一个脚本并声明一个曲线的对象:
public AnimationCurve anim;

把这个脚本挂到游戏物体上,我们就可以在Inspector面板中看到这个对象:

我们双击这个变量后面的黑色部分,就可以打开曲线编辑器了,像这样:

我们双击任何位置可以创建新的关键点,首先创建2个点作为起始点和终止点,然后把2个点分别放到(0,0)和(1,1)的位置,为了数据的准确,我们可以右键点击关键点,选择Edit key,手动输入位置:

之后我们为了制作出更加复杂的曲线,我们可以在曲线上的任意位置双击来添加更多的关键点,每一个关键点会有2个辅助点,和我们之前讲的一样。

现在让我们来编辑一个我们喜欢的曲线,下面这个是我编辑的:

应用

编辑好曲线后我们看一下如何应用,我们上一篇生成渐变图像时使用了贝塞尔曲线,我们直接修改上一篇文章的代码,首先定义一个曲线对象,然后修改GenerateSprite中的方法:
//float bezieratVal = GetBezierat(0, 0.5f, 0.5f, 1, hrate);
float bezieratVal = anim.Evaluate(hrate);

把之前获取我们自己贝塞尔曲线公式的方法注释掉,改成使用曲线编辑器中的曲线,我们只要传入一个hrate即可,让我们来看下效果:

这样我们就可以使用更复杂的曲线制作出更漂亮的效果了。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: