Unity - Timeline 之 Setting gap extrapolation(设置空白内容的外插处理)

目录:Unity - Timeline 知识汇总
原文:https://docs.unity3d.com/Packages/com.unity.timeline@1.2/manual/clp_gap_extrap.html
翻译时Timeline版本:Timeline 1.2.11

Setting gap extrapolation

设置空白内容的外插处理

空白部分内容的外插处理,就是处理Animation轨道中剪辑的前后两边空白内容的数据模拟。

主要意图是为了避免动画剪辑之间空白部分的表现异常的问题。因为动画部分异常表现于两个不同的Transform变换,或是类人动画中的动作差异太大,导致看起来Transform变化或是动作变化太大。

每个动画剪辑都有两个空白内容的外插属性:Pre-Extrapolate前空白外插(左端的外插),控制动画数据播放前的数据模拟。Post-Extrapolate后空白外插(后端的外插),控制动画数据播放完后的数据模拟。

默认的,Timeline会给剪辑外插属性都设置为 Hold。这种设置意思是,动画剪辑Start前的动画数据是使用该剪辑的第一帧来表示的,而动画剪辑End后的动画数据是使用最后一帧来表示的。在动画剪辑的前或后的图标(无限符号)代表着该剪辑有外插模式处理。
Icons indicate the pre-extrapolate and post-extrapolate modes

图标代表着 前外插后外插 的模式

当同一轨道上的两个剪辑有空白内容,那么可以设置靠左边的那个剪辑的 Post-Extrapolate(后外插)。如果左边的剪辑的 Post-Extrapolate 设置为 None,那么可以设置靠右边的剪辑的 Pre-Extrapolate(前外插)属性。动画剪辑的前后图标代表空白内容是否有外插处理。
First track (red box): gap extrapolation from Post-Extrapolate of the left clip. Third track (blue box): gap extrapolation from Pre-Extrapolate of the right clip.

*第一个轨道的空白(红色框那)外插处理是来自左边的剪辑的 Post-Extrapolate(后外插)。第三个轨道的空白(蓝色框那)外插处理是来自右边的剪辑的 Pre-Extrapolate(前外插) *

选择动画剪辑后在Inspector窗口中调整 Pre-ExtrapolatePost-Extrapolate的动画外插属性。
Use Pre-Extrapolate and Post-Extrapolate to set the extrapolation modes for the selected Animation clip

使用 Pre-ExtrapolatePost-Extrapolate来给选中的动画剪辑设置外插模式

Pre-Extrapolate 属性在下面其一情况都会被隐藏掉:

  • 动画剪辑的前一个剪辑设置了 Post-Extrapolate 模式(外插模式不是None得都算是设置了,原文这里没有说明)。
  • 动画剪辑左边(原文没有说明方向)没有空白内容。

选中的剪辑的前面空白内容使用了 Pre-Extrapolate 属性来空白外插处理,有以下选项可选择:

  • None(无):关闭Pre-Extrapolate的外插功能。选中剪辑的前面的空白内容,将使用场景中GameObject本身的transform变换,动作,或状态。选择 None,一般你可以是想创建一个场景中的GameObject与动画剪辑之间的淡入效果。查看 Easing-in and Easing-out Clips(剪辑的淡入淡出) 了解详情。
  • Hold(默认值):选中的动画剪辑前面的空白内容将使用:剪辑的起始端的第一帧的数据来模拟。
  • Loop(循环):选中的动画剪辑前面的空白内容将使用:剪辑的循环帧的数据来模拟,循环的起始偏移内容设置 Clip In 属性即可。
  • Ping Pong(回弹,要是用过Mathf.Pingpong函数的话就会好理解一些):选中的动画剪辑前面的空白内容将使用:剪辑的回弹循环帧的数据来模拟,循环的起始偏移内容设置 Clip In 属性即可。
  • Continue(按资源设置持续:loop==true?循环:Hold持续前或尾帧):选中的动画剪辑的前面的空白内容将使用:hold或是loop的方式,取决于原始资源的设置。例如,如果选中的动画剪辑使用的资源是"Recorded(2)"的源资源,该资源设置了 Loop为true,那么Continue就会使用与Loop一样的效果,否则(就是Recorded(2)的Loop是false)和Hold效果一样。

使用 Post-Extrapolate的属性与Pre-Extrapolate的几乎一样,区别就是:Pre-Extrapolate处理的是剪辑前面(左手边)的空白内容,而 Post-Extrapolate处理的是剪辑的后面(右手边)的空白内容。
(上面Post-Extrapolate的说明,我就不按官方文档的来写了,太冗余了。所以我简单描述一下。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值