基于 Vue.js 的开源全栈框架,用于构建生产级 Web 应用和网站。
jeremy-prt/bloub
用 SVG 和 Vue 复刻 x.ai 机器人头像,一个黑色图形在 14 种状态间变形,眼睛独立动画。
- Star
- 1,834
- Fork
- 221
- 未关闭 Issue
- 7
- 最近提交
- 2个月前
这是什么?
bloub 用一组 SVG 图形复刻 x.ai 机器人头像:一个黑色实心主体在 14 种状态之间变形,另外两个白色眼睛图形各自独立运动。项目基于 Vue 3、Vite、TypeScript 和 Tailwind 4 构建,动画部分不依赖任何动画库。
项目内置一个简易编辑器,可以把状态排列成时间线并设置每个状态的停留时长;还提供身体形状、颜色和静止表情的自定义面板。导出支持 SVG、PNG、动画 GIF,时间线还可导出 MP4。静态格式无需额外库,视频编码器仅在首次使用时加载。
`src/bot/` 中的动画引擎不依赖框架或时钟,同一时间点采样总是得到相同画面,便于生成静态图和编写测试。图形中的数值来自对参考视频的测量,项目文档中also说明了提取方法。
核心功能
- 01无需动画库,即可让一个 SVG 主体在 14 种状态间变形。
- 02两个白色眼睛图形独立动画,叠加在主体上。
- 03提供 8 种身体形状、12 种颜色和 16 种静止表情。
- 04内置时间线编辑器,可排列状态并设置停留时长。
- 05支持导出 SVG、PNG、动画 GIF,以及时间线的 MP4。
- 06任意时间点的渲染结果确定,可用于测试和缩略图。
适用场景
- 在 Vue 应用中加入动态机器人头像,无需引入动画库。
- 学习如何用纯 SVG 实现基于测量数据的形状变形。
- 生成动画 GIF 或 MP4 头像片段,用于演示或社交媒体。
- 为头像状态制作静态展示图,便于设计评审。
快速上手
- 1
使用 pnpm 安装依赖
pnpm install - 2
启动开发服务器,然后打开 localhost:5190
pnpm dev
使用前须知
- 该项目是对 x.ai 机器人头像的视觉模仿,与 x.ai 无关联,也未获其认可。
- 代码采用 MIT 许可,但所模仿的设计不在该许可范围内。
标签
常见问题
- bloub 是什么?
- 用 SVG 和 Vue 复刻 x.ai 机器人头像,一个黑色图形在 14 种状态间变形,眼睛独立动画。 bloub 用一组 SVG 图形复刻 x.ai 机器人头像:一个黑色实心主体在 14 种状态之间变形,另外两个白色眼睛图形各自独立运动。项目基于 Vue 3、Vite、TypeScript 和 Tailwind 4 构建,动画部分不依赖任何动画库。
- bloub 可以免费使用吗?用的什么许可证?
- bloub 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- bloub 还在维护吗?
- 半年内有更新。bloub 最近一次提交是在 2026年8月17日。
- bloub 适合用来做什么?
- 在 Vue 应用中加入动态机器人头像,无需引入动画库。 学习如何用纯 SVG 实现基于测量数据的形状变形。 生成动画 GIF 或 MP4 头像片段,用于演示或社交媒体。 为头像状态制作静态展示图,便于设计评审。
- bloub 怎么安装和运行?
- 使用 pnpm 安装依赖: pnpm install 启动开发服务器,然后打开 localhost:5190: pnpm dev
- 在哪里获取 bloub?
- 源代码和安装说明在 GitHub 上:https://github.com/jeremy-prt/bloub
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
6.1万5809TypeScriptMIT更新于 11小时前
面向 Web 应用的异步状态管理与数据获取库,支持 React、Vue、Svelte 和 Solid。
5万4222TypeScriptMIT更新于 11小时前
面向 React 与 Next.js 的开源动效组件库,提供 215 个以上可定制的动画组件与背景。
5万2464JavaScriptOther更新于 前天
基于 Material Design 的 Vue 组件框架,提供响应式的精致 UI 组件,用于构建 Web 应用。
4.1万7112TypeScriptOther更新于 14小时前
基于 ProseMirror 的无界面富文本编辑器框架,可与多种前端框架配合,通过扩展灵活定制。
3.9万3171TypeScriptMIT更新于 17小时前
一套代码多端运行的跨端跨框架方案,可用 React/Vue 开发微信等小程序、H5 和 React Native 应用。
3.8万4867TypeScriptOther更新于 昨天