一、编辑切线

基本操作:

创建关键点:左键双击

删除关键点:

(1)鼠标移动至关键点上,右键->Delete Key。

(2)左键单击关键点,然后按键盘上的delete

一个键有两个切线 - 左侧一个用于进入坡度,另一个用于出口坡度。切线控制键之间的曲线形状。您可以从许多不同的切线类型中进行选择,以控制曲线离开一个键并到达下一个键的方式。右键单击某个键以选择该键的切线类型。

要使动画值在传递键时平滑变化,左右切线必须是共线的。以下切线类型可确保平滑度:

  • Clamped Auto:这是默认切线模式。切线自动设置为使曲线顺利通过键。编辑键的位置或时间时,切线会调整以防止曲线“超出”目标值。如果在Clamped Auto模式下手动调整键的切线,则会切换到Free Smooth模式。在下面的示例中,切线自动进入斜率并在移动键时趋于平稳:

  • Auto:这是传统切线模式,仍然是与旧项目向后兼容的选项。除非您有特定原因要使用此模式,否则请使用默认的Clamped Auto。当某个键设置为此模式时,将自动设置切线以使曲线顺利通过该键。但是,与Clamped Auto模式相比有两个不同之处:

    1. 当编辑键的位置或时间时,切线不会自动调整; 它们仅在最初将键设置为此模式时进行调整。
    2. 当Unity计算切线时,它不会考虑避免键的目标值“过冲”。

  • Free Smooth:拖动切线控制柄以自由设置切线。它们被锁定为共线以确保平滑。

  • Flat:切线设置为水平(这是自由平滑的特殊情况)。

有时您可能不希望曲线在通过键时是平滑的。要在曲线中创建急剧变化,请选择 Broken 切线模式。

使用Broken的切线时,可以单独设置左右切线,也可以一起设置左右切线。左右切线中的每一个都可以设置为以下类型之一:

  • Broken - Free:拖动切线控制柄以自由设置切线。

  • Broken - Linear:切线指向相邻键。要制作线性曲线段,请将两端的切线都设置为Linear。在下面的示例中,所有三个键都设置为Broken - Linear,以实现从键到键的直线。

  • Broken - Constant:曲线在两个键之间保持恒定值。左键的值确定曲线段的值。

Broken - Weighted:根据句柄的长度设置曲线切线。

当设置曲线后,起点和终点,会出现一个下拉按钮,出现三种方式:

Loop:循环

Ping Pong:曲线和源曲线上下翻转后的曲线循环。

Clamp:一直为端点的值。

当左边选择Loop循环,右边设置Clamp:

二、在代码中使用曲线

AnimationCurve包括:(1)键序列 (2)左右循环模式

一:键序列

创建键序列:Keyframe[] ks = new Keyframe[3];

曲线中加入键序列:AnimationCurve curve = new AnimationCurve(ks);

获取曲线中的键序列:Keyframe key = curve[2];或者 Keyframe key = curve.keys[2];

添加单键:curve.Addkey(time,value)

删除单键:curve.RemoveKey(index)

二:左右循环

anim.preWrapMode = WrapMode.Loop;

anim.postWrapMode = WrapMode.Once;

三:键

Keyframe kf = new Keyframe(time,value);

设置入切线:kf.inTangent = 45;

设置出切线:kf.outTangent = 45;

using UnityEngine;public class AnimationCurveTest : MonoBehaviour
{public AnimationCurve curve;void Start(){// 代码控制曲线,也可以在Curve控制器中生成曲线Keyframe[] ks = new Keyframe[3];ks[0] = new Keyframe(0, 0);ks[0].inTangent = 0;ks[1] = new Keyframe(4, 0);ks[1].inTangent = 45;ks[2] = new Keyframe(8, 0);ks[2].inTangent = 90;curve = new AnimationCurve(ks);}void Update(){// 使用曲线,调用curve.Evaluatetransform.position = new Vector3(Time.time, -curve.Evaluate(Time.time) * 0.5f, 0);}
}

Unity--AnimationCurve动画曲线相关推荐

  1. 自定义曲线_完美动力小课堂:AnimationCurve(动画曲线编辑) 如何使用?

    AnimationCurve(动画曲线编辑) 使用简介-支持nuke10及以上版本 在平时制作中偶尔会用到一些曲线,大家在各自的小本本上也会保留一些曲线动画表达式,但是一旦使用时,通常需要改数值比较麻 ...

  2. Unity 动画曲线-AnimationCurve 实例

    Unity 动画曲线-AnimationCurve 实例 以Unity 自带的动画曲线实现一些简单的动画,如往复运动,曲线运动,不规则运动,掉血飘字等. 下面先上代码 using UnityEngin ...

  3. Unity Dotween插件的运动曲线(Ease)介绍Ease选项Ease效果示例以及C#修改动画曲线功能

    前言 我们在制作动画时经常使用这个Dotween插件,在移动.旋转.透明度等等参数的控制都可以使用该插件,而且在这个插件上的控制动画可以设置曲线,内置的曲线有这些: 内置曲线 以InOutSine的曲 ...

  4. Unity快速入门之四 - Unity模型动画相关

    最近要给公司的小伙伴做Unity入门,针对几个常用的知识进行快速入门介绍. Unity快速入门之一 3D基础概念.Camera.Canvas RenderMode的几种方式对比_翕翕堂 Unity快速 ...

  5. Unity UI 动画 工具

    文章目录 前言 一.目标 二.使用 1.编辑面板 2.脚本中使用 最后 前言 对于 Unity 中 UI 的动画来说,我们可以使用多种方式去制作,可以使用 Unity 的 Animation 实现,可 ...

  6. Unity 2D动画控制器详解

    http://www.tairan.com/archives/6939#16 文章目录 开始 过渡 编辑过渡 颜色变化 动画参数 复习一下 CatConga动画 CatDisappear Clip A ...

  7. Unity的动画图和人形动画初探

    这是侑虎科技第504篇文章,感谢作者加菲教主供稿.欢迎转发分享,未经作者授权请勿转载.如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨.(QQ群:793972859) 作者主页:https:// ...

  8. Android动画曲线库AndroidEasingFunctions

    Android动画曲线库AndroidEasingFunctions AndroidEasingFunction是基于Easing Function(缓动函数)的Android动画曲线库.它提供了九大 ...

  9. Flutter Curves 动画曲线合辑

    Curves 动画曲线

  10. html动画曲线快速结束,CSS3 animation动画

    CSS3 animation动画 1.@keyframes 定义关键帧动画 2.animation-name 动画名称 3.animation-duration 动画时间 4.animation-ti ...

最新文章

  1. 异步编程之Promise(2):探究原理
  2. Gartner预测:2025年,人工智能将创造200万个新增就业机会
  3. 在Visual Studio中使用命令行参数进行调试
  4. LeetCode Bulb Switcher(约数个数为奇数)
  5. 科技论文的可读性-如何写好科技论文之我见(五)
  6. C语言指针详解----指针声明定义赋值
  7. 一个人的Scrum之准备工作
  8. rnn按时间展开_双向RNN的理解
  9. Hibernate中inverse属性与cascade属性
  10. 第一章 计算机网络 6 OSI参考模型 [计算机网络笔记]
  11. 软件需求分析文档模板_小议管理软件需求分析
  12. Hudi自带工具DeltaStreamer的实时入湖最佳实践
  13. 特斯拉股价,真的“血崩”!
  14. eclipse里source的快捷方法_Eclipse快捷键大全
  15. 虚拟机黑裙加载硬盘_在Promox VE(PVE)虚拟机安装黑群晖并开启硬盘休眠的方法...
  16. 《英语语法新思维 基础版1》读书笔记(二)
  17. 解决:Error during artifact deployment. See server log for details.问题
  18. Flutter获取焦点
  19. poe交换机归类有什么?
  20. aptx android8,支持aptxHD和LDAC!安卓8.0蓝牙音质大爆发

热门文章

  1. 身份证扫描到一个PDF或图片
  2. 关于我装黑苹果的那些事儿
  3. 小米打印机显示服务器出错,关于小米笔记本连接不上网络打印机的处理方法
  4. 手机android版本2.3.6可以安装哪个版本的音乐播放器,喜马拉雅fm老版本2.3.6下载...
  5. QT 软键盘实现
  6. Topmobi接口协议
  7. Flag Engine(动画系统)学习笔记(八)——动画混合
  8. win10连接文件服务器记住密码如何删除,win10如何删除局域网共享文件访问密码...
  9. 2012年10月【美国】自驾游
  10. Windows命令行学习笔记