搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

livliv-dev/player

多媒体与设计

在网页中渲染带口型同步和摄像头面部追踪的 2.5D 角色。

958
100
TypeScript
Apache-2.0
创建于 2 天前

项目介绍

LivLiv Player 是一个面向网页、直播叠加层和应用场景的 WebGL2 角色渲染器。它用同一套 API 播放 LivLiv 模型包、VRM 虚拟形象和 PNGTuber 图片,并可按需接入麦克风、音频或视频驱动的口型同步,以及浏览器内的摄像头面部追踪。核心部分号称无第三方依赖、gzip 后约 30 KB,语音和追踪模块只在需要时加载。

仓库自带 21 个可直接加载的角色,并记录了 .livliv 包格式。它不使用 Live2D 软件,也不读取 .moc3/.cmo3 文件,因此现有 Live2D 资产不是受支持的输入。

快速使用

最快的体验方式是打开在线示例。本地运行需要先安装依赖并构建,然后用任意静态服务器托管仓库目录,访问 /example/demo.html;加上 ?model=../characters/<id>/ 可以切换角色,PNGTuber 和 VRM 演示分别在 example/png.html 和 example/vrm.html。

代码接入时,导入 Player,传入 canvas,再加载包含 model.json 和贴图的角色目录,或一个 .livliv 文件:

import { Player } from '@livliv/player'

const player = new Player(document.querySelector('canvas'))
await player.load('characters/k01/')
player.setExpression('smile')
player.act('nod')
player.params.mouthOpen = 0.6

口型同步和面部追踪是独立模块:语音模块无需额外包,面部追踪需要 @mediapipe/tasks-vision。播放 VRM 需要 three 和 @pixiv/three-vrm;播放 PNGTuber 需要闭口/张口图片,可选闭眼版本。选项、参数、表情、动作和详细限制见 API 文档。

目前包尚未发布到 npm,需要从仓库构建后导入 dist/index.js。

使用约束与许可

浏览器要求 WebGL2 和 ES2023:桌面与移动端需 Chrome/Edge 97+、Firefox 104+、Safari 15.4+。面部追踪在浏览器内运行 MediaPipe,按文档说明摄像头画面留在设备上;播放器本身不调用 AI 服务。

代码使用 Apache-2.0,但自带角色不受该许可证覆盖:LivLiv 制作的角色仅限带署名的个人非商业项目,不可售卖、商用或用于训练 AI 模型。Kujira、Kujira Q 和 Pen 来自其他创作者,条款单独列在 characters/CREDITS.md。LivLiv 的 AI 生成角色还带有角标,公开展示时应说明由 AI 制作。

HotRepo 点评

该项目在 2026-11-05 进入新项目榜,当时 191 Star、24 Fork,统计窗口内新增 82 Star;采样到的 Star 数约两小时内从 109 升到 191。观察窗口很短,这些数字说明的是一轮早期增长,而不是持续采用。仓库展示的技术内容比较具体:渲染器 API、独立的语音/追踪/身体模块、格式文档和浏览器测试。主要采用障碍在分发方式——包尚未上 npm,目前需要从源码构建。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。