Unity--AnimationCurve动画曲线
一、编辑切线
基本操作:
创建关键点:左键双击
删除关键点:
(1)鼠标移动至关键点上,右键->Delete Key。
(2)左键单击关键点,然后按键盘上的delete
一个键有两个切线 - 左侧一个用于进入坡度,另一个用于出口坡度。切线控制键之间的曲线形状。您可以从许多不同的切线类型中进行选择,以控制曲线离开一个键并到达下一个键的方式。右键单击某个键以选择该键的切线类型。
要使动画值在传递键时平滑变化,左右切线必须是共线的。以下切线类型可确保平滑度:
- Clamped Auto:这是默认切线模式。切线自动设置为使曲线顺利通过键。编辑键的位置或时间时,切线会调整以防止曲线“超出”目标值。如果在Clamped Auto模式下手动调整键的切线,则会切换到Free Smooth模式。在下面的示例中,切线自动进入斜率并在移动键时趋于平稳:
- Auto:这是传统切线模式,仍然是与旧项目向后兼容的选项。除非您有特定原因要使用此模式,否则请使用默认的Clamped Auto。当某个键设置为此模式时,将自动设置切线以使曲线顺利通过该键。但是,与Clamped Auto模式相比有两个不同之处:
- 当编辑键的位置或时间时,切线不会自动调整; 它们仅在最初将键设置为此模式时进行调整。
- 当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动画曲线相关推荐
- 自定义曲线_完美动力小课堂:AnimationCurve(动画曲线编辑) 如何使用?
AnimationCurve(动画曲线编辑) 使用简介-支持nuke10及以上版本 在平时制作中偶尔会用到一些曲线,大家在各自的小本本上也会保留一些曲线动画表达式,但是一旦使用时,通常需要改数值比较麻 ...
- Unity 动画曲线-AnimationCurve 实例
Unity 动画曲线-AnimationCurve 实例 以Unity 自带的动画曲线实现一些简单的动画,如往复运动,曲线运动,不规则运动,掉血飘字等. 下面先上代码 using UnityEngin ...
- Unity Dotween插件的运动曲线(Ease)介绍Ease选项Ease效果示例以及C#修改动画曲线功能
前言 我们在制作动画时经常使用这个Dotween插件,在移动.旋转.透明度等等参数的控制都可以使用该插件,而且在这个插件上的控制动画可以设置曲线,内置的曲线有这些: 内置曲线 以InOutSine的曲 ...
- Unity快速入门之四 - Unity模型动画相关
最近要给公司的小伙伴做Unity入门,针对几个常用的知识进行快速入门介绍. Unity快速入门之一 3D基础概念.Camera.Canvas RenderMode的几种方式对比_翕翕堂 Unity快速 ...
- Unity UI 动画 工具
文章目录 前言 一.目标 二.使用 1.编辑面板 2.脚本中使用 最后 前言 对于 Unity 中 UI 的动画来说,我们可以使用多种方式去制作,可以使用 Unity 的 Animation 实现,可 ...
- Unity 2D动画控制器详解
http://www.tairan.com/archives/6939#16 文章目录 开始 过渡 编辑过渡 颜色变化 动画参数 复习一下 CatConga动画 CatDisappear Clip A ...
- Unity的动画图和人形动画初探
这是侑虎科技第504篇文章,感谢作者加菲教主供稿.欢迎转发分享,未经作者授权请勿转载.如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨.(QQ群:793972859) 作者主页:https:// ...
- Android动画曲线库AndroidEasingFunctions
Android动画曲线库AndroidEasingFunctions AndroidEasingFunction是基于Easing Function(缓动函数)的Android动画曲线库.它提供了九大 ...
- Flutter Curves 动画曲线合辑
Curves 动画曲线
- html动画曲线快速结束,CSS3 animation动画
CSS3 animation动画 1.@keyframes 定义关键帧动画 2.animation-name 动画名称 3.animation-duration 动画时间 4.animation-ti ...
最新文章
- 异步编程之Promise(2):探究原理
- Gartner预测:2025年,人工智能将创造200万个新增就业机会
- 在Visual Studio中使用命令行参数进行调试
- LeetCode Bulb Switcher(约数个数为奇数)
- 科技论文的可读性-如何写好科技论文之我见(五)
- C语言指针详解----指针声明定义赋值
- 一个人的Scrum之准备工作
- rnn按时间展开_双向RNN的理解
- Hibernate中inverse属性与cascade属性
- 第一章 计算机网络 6 OSI参考模型 [计算机网络笔记]
- 软件需求分析文档模板_小议管理软件需求分析
- Hudi自带工具DeltaStreamer的实时入湖最佳实践
- 特斯拉股价,真的“血崩”!
- eclipse里source的快捷方法_Eclipse快捷键大全
- 虚拟机黑裙加载硬盘_在Promox VE(PVE)虚拟机安装黑群晖并开启硬盘休眠的方法...
- 《英语语法新思维 基础版1》读书笔记(二)
- 解决:Error during artifact deployment. See server log for details.问题
- Flutter获取焦点
- poe交换机归类有什么?
- aptx android8,支持aptxHD和LDAC!安卓8.0蓝牙音质大爆发
热门文章
- 身份证扫描到一个PDF或图片
- 关于我装黑苹果的那些事儿
- 小米打印机显示服务器出错,关于小米笔记本连接不上网络打印机的处理方法
- 手机android版本2.3.6可以安装哪个版本的音乐播放器,喜马拉雅fm老版本2.3.6下载...
- QT 软键盘实现
- Topmobi接口协议
- Flag Engine(动画系统)学习笔记(八)——动画混合
- win10连接文件服务器记住密码如何删除,win10如何删除局域网共享文件访问密码...
- 2012年10月【美国】自驾游
- Windows命令行学习笔记