0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

掌控物体运动艺术:图扑 Easing 函数实践应用

图扑-数字孪生 来源:图扑-数字孪生 作者:图扑-数字孪生 2024-10-09 15:33 次阅读



现如今,前端开发除了构建功能性的网站和应用程序外,还需要创建具有吸引力且尤为流畅交互的用户界面,其中动画技术在其中发挥着至关重要的作用。在数字孪生领域,动画的应用显得尤为重要。数字孪生技术通过精确模拟现实世界中的对象、过程和系统,对动画的需求远远超过传统前端开发。

在这种环境中,动画不仅仅是为了美观,更是用于实现系统与现实的同步、演示复杂过程和数据可视化的关键手段。

HT 动画介绍

在足够短的时间内快速连续地改变物体的某个属性,人的眼睛会感知到物体在平滑移动,这种利用人类视觉持续性产生的效果就是动画。图扑自研 HT for Web 产品中提供了多种创建动画方式,其中很常见的是使用 ht.Default.startAnim 创建动画

ht.Default.startAnim 支持两种动画模型:Frame-Based 和 Time-Based。这两种类型的动画所需的参数各不相同:

Frame-Based 帧动画具有固定的帧数,即 action 被调用的次数,创建动画时需传入一下参数:

frames:动画的帧数。

Interval:动画帧间隔毫秒数。‍‍

easing:动画缓动函数,默认为 ht.Default.animEasing。‍

finishFunc:动画完成后的回调函数。‍

action:必须提供 action 函数,用于实现动画过程。第一个参数代表通过 easing 函数运算后的值,第二个参数代表当前动画进度(0~1)。

wKgaomb48LGAACFeADfacXy5ff0780.gif



wKgZomb48LKAcxGmABwj8jD2vF0676.gif



Time-Based 周期动画,动画帧数(action 的调用次数)取决于系统环境,创建动画需要传入的参数:

duration:动画周期的毫秒数,默认使用 ht.Default.animDuration。

easing:动画的缓动函数,默认使用 ht.Default.animEasing。

finishFunc:动画结束时的回调函数。

action:必须提供 action 函数,用于实现动画过程。

wKgaomb48LOAZPwNAIMQ0Iu8Dgw311.gif



wKgZomb48LOARHEfAHhcO47vNAQ215.gif



以小球落地过程为例,只需在动画过程中不断调整小球的位置属性,就能实现小球落地的动画效果:

wKgaomb48LSAXkywAABJGWK764w334.jpg



wKgZomb48LWABTnVAAJ2N3MbU-c617.gif



在上图中,小球的落地动画效果已实现,但动画看起来仍显得有些生硬。这是因为在现实中,小球落地是加速运动的,并且当小球接触地面后,受力变化会导致回弹。因此,我们还需要在动画中控制小球的速度和运动趋势,以便更真实地模拟这一过程。

那么如何在动画中控制速度呢?

这就需要引用下面的 easing 函数使用。

关于 Easing 函数

Easing(缓动函数)是用于调整动画速度的函数,它们定义了动画在开始、进行中和结束时的速度变化。这些函数允许动画以非线性方式运行,使动画效果更自然、流畅和有吸引力。缓动函数在坐标轴中的表现可以看作是一个以时间(t)为横轴、值为纵轴的图表。以下附图展示了一些常用的 easing 函数,从图中可以清晰地看到不同 easing 的变化趋势。

wKgaomb48LaAbL3TAABJALbRzKw116.jpg



了解了 easing 函数的作用后,我们可以通过调整它来实现小球落地时的加速运动以及接触地面后的回弹效果。

wKgZomb48LaAasmhAABkCKXYXWE299.jpg



wKgaomb48LaAWlaoAAI6ix0Dnso795.gif



在实际项目中,物体的运动通常较为复杂,因此我们需要根据不同的运动类型选择合适的 easing 函数。以下示例展示了在场景内的节点进行不同运动时,不同 easing 函数所产生的效果。

大家也可以该通过链接进行操作感受,通过切换不同的 easing 函数将呈现出不一样的动画效果。示例展示了多个动画的连续播放效果。我们可以在动画的 finishFunc 回调结束时,调用下一个动画,从而实现连续的动画效果。

wKgZomb48LeAM10IAAAsGrF7c_c222.jpg



常听人说 Easing 是动画的灵魂,就如同生命的节奏。有些人厚积薄发,有些人平稳一生,而也有些人起起伏伏,经历着高山低谷的跌宕起伏。无论过程如何多样精彩,终点都是一致的——正如动画中无论怎样变化的 Easing 曲线,最终都通向同一个终点帧。动画和人生一样,丰富的过渡和变化,赋予它们独特的美感和深意。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 三维可视化
    +关注

    关注

    0

    文章

    270

    浏览量

    9463
  • 数字孪生
    +关注

    关注

    4

    文章

    1327

    浏览量

    12261
收藏 人收藏

    评论

    相关推荐

    恭喜!软件荣获 2023 年度福建省科学技术进步奖

    软件林意炜团队以《面向工业互联网的 2D 和 3D 数字孪生可视化引擎技术与产业化应用》内容荣获厦门市科学技术进步奖三等奖。
    的头像 发表于 12-24 16:02 138次阅读
    恭喜!<b class='flag-5'>图</b><b class='flag-5'>扑</b>软件荣获 2023 年度福建省科学技术进步奖

    高压放大器在水下翼软体机器人研究中的应用

    实验名称:水下翼软体机器人的实验平台搭建 实验目的: 良好的运动性能是水下软体机器人的基本功能要求。而实验是检验设计是否合理、实验样机是否达到功能要求的重要手段。为了验证设计的可行性,通过对水下
    的头像 发表于 12-04 13:51 121次阅读
    高压放大器在水下<b class='flag-5'>扑</b>翼软体机器人研究中的应用

    4G模组加解密艺术:通用函数的深度解读

    今天是对加解密通用函数的深度解读,我将详细讲解,建议收藏,不可错过。
    的头像 发表于 11-12 09:58 258次阅读
    4G模组加解密<b class='flag-5'>艺术</b>:通用<b class='flag-5'>函数</b>的深度解读

    模拟功放听到有的声音,怎么处理?

    模拟功放的收入端是一个射频芯片出来的数字信号进入DAC,然后输出到模拟功放中,听到有的声音,应该是地环路不好,想问一下,这样的情况下需要把 哪些地尽量连到一起,还有这种情况DAC输出的音频信号的电流是怎么流向?多谢!
    发表于 11-06 07:57

    权威认证 “软件数字孪生低代码平台”获中国信通院检测认证

    2024 年 10 月 31 日,在首届数字孪生技术与产业发展大会上,中国信息通信研究院颁布了第四批数字孪生低代码测评结果。厦门软件科技有限公司自主研发的“数字孪生低代码平台”产品,顺利通过 90 项严格测评,荣获中国信通院检测认证证书。
    的头像 发表于 11-05 11:32 291次阅读

    燧原科技联合主办“智绘艺术家之诗画点军”文生挑战赛圆满结束

    燧原科技携手OpenI启智社区联合主办的"智绘艺术家之诗画点军"文生挑战赛日前圆满落幕。
    的头像 发表于 09-02 10:15 550次阅读

    什么是运动控制器?它有哪些作用?

    随着科技的飞速发展和工业自动化的不断深入,运动控制器作为实现高精度、高效率机械运动控制的关键设备,受到了广泛关注。本文将对运动控制器的定义、作用及其在工业自动化中的应用进行详细介绍,以期为相关领域的研究和
    的头像 发表于 06-03 15:04 1222次阅读

    基于VPLC711的曲面外观检测XYR运动控制解决方案

    比较输出PSO: 二维硬件位置比较输出PSO,控制线扫相机进行高速等间距采,让视觉拍照与产品的运动轨迹精准同步,保证被检物体在圆弧和拐角处也能进行恒速拍摄,高质量成像,避免图像叠加和减少畸变
    发表于 04-16 17:58

    未来工厂大脑:组态软件在智能制造中的应用

    的大屏组态、UI 组态、工业组态、三维组态为打造精细化监控策略提供了支持,融合数字建模、数字孪生、仿真模拟、智能物流等技术,轻松构建低代码、零代码物联网 IoT 平台,辅助传统工厂向智能工厂转型。
    的头像 发表于 04-10 11:03 545次阅读
    未来工厂大脑:<b class='flag-5'>图</b><b class='flag-5'>扑</b>组态软件在智能制造中的应用

    利用6轴姿态模块来计算,物体运动轨迹能不能实现?

    仅仅利用6轴姿态模块来计算,物体运动轨迹能不能实现? 本人采用stm32f103采集姿态模块数据,姿态模块采用的是维特jy901s,为什么积分计算距离之后误差非常大。 我还发现姿态模块在静止的时候也会有加速度产生,我该如何消除这个误差呢,感谢各位大佬
    发表于 03-29 11:34

    函数指针与回调函数的应用实例

    通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数函数指针可以像一般函数一样,用于调用函数、传递参数。
    的头像 发表于 03-07 11:13 407次阅读
    <b class='flag-5'>函数</b>指针与回调<b class='flag-5'>函数</b>的应用实例

    数字孪生技术在航空航天方面的应用

    "数字孪生"这一概念最早就是在航空航天领域使用,目的在于处理航天器的健康维护和保护问题。实现对民航机场、民航飞机、火箭发射、科技展馆的数字孪生展示。
    的头像 发表于 02-27 14:10 667次阅读
    <b class='flag-5'>图</b><b class='flag-5'>扑</b>数字孪生技术在航空航天方面的应用

    数字孪生“光储充”一体化智慧充电站

    HT 储能充电站数字孪生监控系统的应用案例,强调了一屏全景可视化在优化运营管理中的关键作用。作为连接电动汽车与新能源的关键纽带,不仅关系到充电效率和用户体验,也对整个能源系统的稳定性和可再生能源的利用产生深远影响。
    的头像 发表于 02-21 10:54 613次阅读
    <b class='flag-5'>图</b><b class='flag-5'>扑</b>数字孪生“光储充”一体化智慧充电站

    HT UI 5.0,前端组件是认真的!

    为顺应数字时代的不断发展, HT UI 5.0 在原有功能强大的界面组件库的基础上进行了全面升级,融入了更先进的技术、创新的设计理念以及更加智能的功能。
    的头像 发表于 01-30 10:17 519次阅读
    HT UI 5.0,前端组件<b class='flag-5'>图</b><b class='flag-5'>扑</b>是认真的!

    重磅!软件获评国家级专精特新“小巨人”企业

    2023 年 7 月,工业和信息化部审核并公布了第五批国家级专精特新“小巨人”企业,软件成功入选,荣膺国家级专精特新“小巨人”企业称号。
    的头像 发表于 01-08 10:25 595次阅读
    重磅!<b class='flag-5'>图</b><b class='flag-5'>扑</b>软件获评国家级专精特新“小巨人”企业