AEJoy —— 表达式之无缝循环摆/扭动【JS】

举报
ShaderJoy 发表于 2021/11/19 23:34:14 2021/11/19
【摘要】 效果图 通过一点数学技巧,我们可以让 wiggle() 无缝循环 白色物体的循环路径是通过混合蓝色和红色物体的路径创建的 想法 毫无疑问,wiggle() 是为项目添加随机性的一种非常方便...

效果图

通过一点数学技巧,我们可以让 wiggle() 无缝循环

ue45.gif

白色物体的循环路径是通过混合蓝色和红色物体的路径创建的

ue46.gif

想法

毫无疑问,wiggle() 是为项目添加随机性的一种非常方便和通用的工具。有时候,如果能够让摆动运动循环起来,那将是非常有用的。在这里,我们将通过使用一些巧妙的数学运算和利用一个很少使用的 wiggle() 参数来实现这一点。

设计

假设我们想要创建一个三秒的摆动循环。可视化一个图表,显示我们的图层从时间 0 到 3 秒随机移动的路径。如果你看上方第二幅动图,你会看到蓝点描绘出的路径。它从左下角开始,三秒钟后在右边缘的中间附近结束。然后重复。

现在检查红点所描绘的路径。注意,它从右边缘附近开始,但在左下角结束-正是蓝点开始的地方。这听起来很巧合,对吧? 这里有一个小技巧这是让这一切顺利的关键。事实证明,红点和蓝点实际上是在追踪同一条随机的摆动路径。关键在于红点追踪的是时间零点之前的三秒路径。

让我们好好想想。红点正在追踪从 -3 秒到 0 秒之间的路径。蓝点在追踪 0 到 +3 秒之间发生的部分。我们可以通过使用很少使用的 wiggle() 的第五个参数 —— 负 time 来访问 wiggle() 的这些

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/121414025

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。