首页 > 其他分享 >【Rive】眼睛互动动画

【Rive】眼睛互动动画

时间:2024-12-24 21:53:53浏览次数:8  
标签:Rive 动画 眼睛 Blink Large Idle 互动

1 前言

​ 本文基于 Rive 社区开放的眼睛动画,进一步加工处理,实现更有趣的眼睛互动动画。

​ 原始资源见 → Eye Joysticks Demo,效果如下。

img

​ 原始资源只有一只眼睛,并且没有事件交互,动画比较单一。本文在该资源的基础上进行了以下修改。

  • 绘制两只眼睛;
  • 无事件时,眼睛在微眯和张开之间循环动画;
  • 移动鼠标(或手指)时,眼睛看向鼠标(或手指)位置;
  • 鼠标(或手指)移至眼睛附近时,眼睛聚焦,眼睛和瞳孔逐渐变小;鼠标(或手指)远离眼睛时,眼睛和瞳孔逐渐恢复原来大小;
  • 单击背景时,眨下眼(逐渐闭眼,然后逐渐张开,再逐渐微眯,再张开);
  • 单击背景或鼠标(或手指)离开背景区域时,眼睛恢复到中间位置。

2 眼睛动画

​ 本节只展示 Rive Editor 中的案例实现步骤,Rive 在 Android 中的环境配置详见 → Rive在Android上的简单应用。本节完整资源详见 → Android中基于Rive实现眼睛互动动画

1)对象层级结构

img

2)时间线、输入变量、监听器

img

​ 说明:Scale_Small、Trans 里只有一帧。

3)状态机

img

​ 说明:Blink_Idle_Large→Blink_Large_Idle、Blink_Large_Idle→Blink_Idle_Large、Blink→Blink_Large_Idle 的 Exit Time 都设置为 100%,表示左边的动画执行完后才能扭转到右边的状态,不能被打断;Blink_Idle_Large→Scale_Small、Blink_Large_Idle→Scale_Small、Scale_Small→Blink_Idle_Large、Blink→Blink_Large_Idle 的过渡时长(Duration)分别为 500ms、500ms、300ms、200ms;None→Trans(Trans)、None→Trans(Blink) 的过渡时长(Duration)分别为 800ms、350ms。

4)插值器变换

​ Blink 时间线中,在眼睛张开到最大后补了一些关键帧:渐变到微眯,再渐变到最大,在张开到最大和微眯时插值器曲线是对称的。假设插值器 A 的贝塞尔参数为 (x1, y1, x2, y2),则对称的插值器为:(1 - x2, 1 - y2, 1 - x1, 1 - y1)。

img

5)运行效果

​ 浅色模式运行效果如下。

img

​ 深色模式运行效果如下。

img

​ 声明:本文转自【Rive】眼睛互动动画

标签:Rive,动画,眼睛,Blink,Large,Idle,互动
From: https://www.cnblogs.com/zhyan8/p/18621017

相关文章

  • 【Rive】骨骼动画
    1骨骼基本概念​1)骨骼简介​骨骼不能渲染显示,只能控制其他图形变换,具有以下特性。绑定图形:可以将图形绑定到骨骼上,使图形随骨骼移动、旋转或缩放。权重(Weights):通过调整顶点权重,可以控制图形在骨骼运动时的变形程度,从而实现平滑的形变效果。IK(反向动力学)约束:通过......
  • 使用css3画一个小火车动画
    创建一个简单的小火车动画涉及几个步骤。首先,我们需要定义火车和轨道的HTML结构。然后,我们将使用CSS3来样式化这些元素,并添加动画效果。以下是一个基本示例,展示如何创建一个小火车在轨道上行驶的动画:HTML结构:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF......
  • 使用CSS3实现电影投影仪动画
    实现一个电影投影仪动画需要涉及多个CSS3的特性,如动画(@keyframes)、渐变(linear-gradient)、阴影(box-shadow)以及转换(transform)等。以下是一个简单的示例,展示了如何创建一个基础的“电影投影仪”动画效果。HTML结构:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UT......
  • 使用CSS3绘制一杯冒热气的咖啡动画
    在前端开发中,使用CSS3来绘制一杯冒热气的咖啡动画是一个有趣且富有挑战性的任务。以下是一个简单的示例,说明如何使用HTML和CSS3来创建这样的动画。首先,我们需要创建HTML结构来表示咖啡杯和热气:<divclass="coffee-cup"><divclass="steam"></div><divclass="steam"></div......
  • 使用CSS3绘制一只卡通小蜜蜂的动画特效
    要使用CSS3来绘制一只卡通小蜜蜂并添加动画特效,你需要利用CSS的各种属性,包括border-radius、transform、animation和@keyframes等。以下是一个简单的示例,展示了如何创建一个小蜜蜂并为其添加飞行动画。HTML<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • 「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
    本篇将带你实现一个虚拟音乐控制台。用户可以通过界面控制音乐的播放、暂停、切换歌曲,并查看当前播放的歌曲信息。页面还支持调整音量和动态显示播放进度,是音乐播放器界面开发的基础功能示例。关键词UI互动应用音乐控制播放控制动态展示状态管理按钮与进度条一、功能......
  • 【Rive】事件回调
    1前言​Android中可以通过RiveAnimationView的addEventListener方法添加动画监听器,用于监听状态动画和过渡动画的开始和结束时机,实现动画开始和结束时的事件回调;也可以监听Rive事件触发的时机,在事件触发时响应回调。//添加事件监听器funaddEventListener(listene......
  • 【Rive】波动文字
    1前言​本文将使用文本修改器(TextModifiers)做文字动画,实现文字波动效果。​按以下步骤可以创建一个ModifierGroup和Range。​部分参数的释义如下。Range:Modifier作用的范围。Falloff:Modifier在最大值时的范围,Falloff一般是Range的子集。Offset......
  • 数学竞赛网站:构建互动学习的网络平台
    2.1MYSQL数据库题目确定了是一个应用程序之后,就开始按部就班的进行设计与分析。本课题是需要数据库作为数据管理工具以及数据载体,从程序功能分析到数据分析,选择合适的关系型数据库是当下所选择的重要环节。关系型数据库可选择余地不多,本身甲骨文公司的两个,微软的两个,IBM的......
  • jQuery+css3制作精美的2024圣诞节倒计时页面动画HTML源码,附源码下载
    源码介绍jQuerycss3制作精美的2024年圣诞节倒计时主题页面,下着雪拉着雪橇的圣诞老人圣诞节倒计时元素动画特效。源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,源码下载jQuery+css3制作精美的20......