在After Effects中创建一个自定义UI滑块,有边界,使用Clamp()函数。
展示你的动画是如何制作的,可以给你的作品带来很好的专业感觉。 作为奖励,如果你想更好地理解After Effects的表达方式, clamp()表达方式可以是一个很好的开始。 真的很容易理解这个函数在After Effects中的操作,通过学习它,你可以轻松地掌握你需要的语言移动的基础前进。
现在,让我们开始谈正事!
首先,让我们建立环境来设置一个简单的滑块装备。 一旦我们在组合面板中设置了滑块,我们就可以开始添加表达式来使用户界面发挥作用。 在组合面板中设置一个滑块将帮助你在进入动画阶段之前测试你的装备层的外观。
对于这个操纵的滑块,我们将使用两种不同类型的表达式。 我们将学习如何使用 线性表达 以及如何使用 钳制表达 .
![](/wp-content/uploads/history/456/vv7xv89iwz.gif)
设置CLAMP()函数
让我们首先为滑块的移动元素设置钳制功能。 我们的目标是让我们的例子中的圆圈不比它下面的线移动得更远。 把线想象成轨道,我们希望圆圈保持在轨道上。
将你的滑动元素向左移动到你想要的位置。 看一下X位置的值,并记下这个值。 然后将你的滑动元素一直向右移动,也记下这个值。 另外,也继续写下Y位置。
现在,让我们开始写表达式。 定义我们的第一个变量 "x",然后输入 "clamp() "函数。 After Effects将在括号中寻找三条信息。 首先,它应该从哪个输入口读取信息。 其次,允许的最小值。 最后,允许的最大值。
x = clamp(input,min,max)。
通过拖动pick-whip到position属性的X值来设置数组中的第一个值。 这是After Effects要读取的输入。
![](/wp-content/uploads/history/456/vv7xv89iwz-1.gif)
接下来,输入你之前写下的X坐标。 首先,最左边的数值,后面是逗号。 然后,最右边的X位置。 现在应该有三个数值填在括号之间。 最后,在这一行输入一个分号( ;) 来告诉After Effects你已经完成了。
x = clamp(transform.position[0],400,800);
在Effects已经指导了我们如何使用X位置,接下来我们要定义Y位置应该如何工作。 进入下一行,输入y = (在这里插入标记的Y位置)来锁定Y位置,使其不会向上或向下移动。
x = clamp(transform.position[0], 400, 800);
y = 800;
最后,也是最重要的一点,我们要把这个表达式包起来,告诉After Effects现在的X和Y是什么。 尽管表达式可以被读取,但它会寻找两个值来填充X和Y的位置值。 这是因为它开始有两个值,现在需要你帮助包起来,并指出这两个值是什么。 所以,记住这些让我们告诉After Effects使用这些变量。
x = clamp(transform.position[0], 400, 800);
y = 800;
[x,y];
// 或者下面的方法也可以
x = clamp(value[0], 400, 800);
y = 800;
[x,y];
完成了!如果你去构图窗口,你现在应该能够抓住滑动元素并来回拖动它。 确保Y位置不会上下移动,X位置应该停止在你在clamp()函数中提供的最小和最大值。
![](/wp-content/uploads/history/456/vv7xv89iwz-2.gif)