unity中曲线编辑器AnimationCurve的使用

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zgjllf1011/article/details/79262601

之前讲了几篇使用贝塞尔曲线的文章,都是直接使用的公式,目的是为了更了解贝塞尔曲线,其实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即可,让我们来看下效果:


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

展开阅读全文

没有更多推荐了,返回首页