Project Icon

live2d-widget

可交互式Live2D网页看板娘插件

live2d-widget是一个开源项目,用于在网页中添加交互式Live2D看板娘。该项目支持无刷新加载,兼容PJAX,提供一行代码快速集成和高度自定义选项。看板娘具有切换模型、更换服装等多种互动功能,可为网站增添趣味性。适合希望为网站添加动态元素的开发者使用,能够提升用户体验和网站吸引力。

Live2D 小部件

英文

特性

在网页中添加 Live2D 看板娘。兼容 PJAX,支持无刷新加载。

(注:以上人物模型仅供展示之用,本仓库并不包含任何模型。)

你也可以查看示例网页:

使用

如果你是新手,或者只需要最基础的功能,那么只需将这一行代码加入 html 页面的 headbody 中,即可加载看板娘:

<script src="https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script>

添加代码的位置取决于你的网站的构建方式。例如,如果你使用的是 Hexo,那么需要在主题的模板文件中添加以上代码。对于使用各种模板引擎生成的页面,修改方法类似。
如果网站启用了 PJAX,由于看板娘不必每页刷新,需要注意将该脚本放到 PJAX 刷新区域之外。

但是!我们强烈推荐自己进行配置,让看板娘更加适合你的网站!
如果你有兴趣自己折腾的话,请看下面的详细说明。

配置

你可以对照 autoload.js 的源码查看可选的配置项目。autoload.js 会自动加载三个文件:waifu.csslive2d.min.jswaifu-tips.jswaifu-tips.js 会创建 initWidget 函数,这就是加载看板娘的主函数。initWidget 函数接收一个 Object 类型的参数,作为看板娘的配置。以下是配置选项:

选项类型默认值说明
waifuPathstringhttps://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/waifu-tips.json看板娘资源路径,可自行修改
apiPathstringhttps://live2d.fghrsh.net/api/API 路径,可选参数
cdnPathstringhttps://fastly.jsdelivr.net/gh/fghrsh/live2d_api/CDN 路径,可选参数
toolsstring[]autoload.js加载的小工具按钮,可选参数

其中,apiPathcdnPath 两个参数设置其中一项即可。apiPath 是后端 API 的 URL,可以自行搭建,并增加模型(需要修改的内容比较多,此处不再赘述),可以参考 live2d_api。而 cdnPath 则是通过 jsDelivr 这样的 CDN 服务加载资源,更加稳定。

自定义

如果以上「配置」部分提供的选项还不足以满足你的需求,那么你可以自己进行修改。本仓库的目录结构如下:

  • src/waifu-tips.js 包含了按钮和对话框的逻辑;
  • waifu-tips.js 是由 src/waifu-tips.js 自动打包生成的,不建议直接修改;
  • waifu-tips.json 中定义了触发条件(selector,CSS 选择器)和触发时显示的文字(text);
  • waifu.css 是看板娘的样式表。

waifu-tips.json 中默认的 CSS 选择器规则是对 Hexo 的 NexT 主题 有效的,为了适用于你自己的网页,可能需要自行修改,或增加新内容。
警告:waifu-tips.json 中的内容可能不适合所有年龄段,或不宜在工作期间访问。在使用时,请自行确保它们是合适的。

要在本地部署本项目的开发测试环境,你需要安装 Node.js 和 npm,然后执行以下命令:

git clone https://github.com/stevenjoezhang/live2d-widget.git
npm install
npm run build

如果有任何疑问,欢迎提 Issue。如果有任何修改建议,欢迎提 Pull Request。

部署

在本地完成了修改后,你可以将修改后的项目部署在服务器上,或者通过 CDN 加载,以便在网页中使用。

使用 CDN

要自定义有关内容,可以把这个仓库 Fork 一份,然后把修改后的内容通过 git push 到你的仓库中。这时,使用方法对应地变为

<script src="https://fastly.jsdelivr.net/gh/username/live2d-widget@latest/autoload.js"></script>

将此处的 username 替换为你的 GitHub 用户名。为了使 CDN 的内容正常刷新,需要创建新的 git tag 并推送至 GitHub 仓库中,否则此处的 @latest 仍然指向更新前的文件。此外 CDN 本身存在缓存,因此改动可能需要一定的时间生效。相关文档:

自托管

你也可以直接把这些文件放到服务器上,而不是通过 CDN 加载。

  • 如果你能够通过 ssh 连接你的主机,请把 Fork 并修改后的代码仓库克隆到服务器上。
  • 如果你的主机无法用 ssh 连接(例如一般的虚拟主机),请在本地修改好代码后,通过 ftp 等方式将文件上传到主机的网站的目录下。
  • 如果你是通过 Hexo 等工具部署的静态博客,请把本项目的代码放在博客源文件目录下(例如 source 目录)。重新部署博客时,相关文件就会自动上传到对应的路径下。为了避免这些文件被 Hexo 插件错误地修改,可能需要设置 skip_render。 这样,整个项目就可以通过你的域名访问了。不妨试试能否正常地通过浏览器打开 autoload.jslive2d.min.js 等文件,并确认这些文件的内容是完整和正确的。

如果一切正常,接下来修改 autoload.js 中的常量 live2d_pathlive2d-widget 这一目录的 URL 即可。例如,如果你能够通过

https://example.com/path/to/live2d-widget/live2d.min.js

访问到 live2d.min.js,那么就把 live2d_path 的值修改为

https://example.com/path/to/live2d-widget/

路径末尾的 / 一定要加上。

完成后,在你要添加看板娘的界面加入

<script src="https://example.com/path/to/live2d-widget/autoload.js"></script>

就可以加载了。

鸣谢

BrowserStack标志

感谢 BrowserStack 允许我们在真实的浏览器中测试此项目。 感谢 BrowserStack 提供让我们能在真实浏览器中进行测试的基础设施!

jsDelivr标志

感谢 jsDelivr 提供的 CDN 服务。 感谢 jsDelivr 提供公共 CDN 服务。

代码自这篇博文魔改而来: https://www.fghrsh.net/post/123.html

感谢 一言 提供的语句接口。

点击看板娘的纸飞机按钮时,会出现一个彩蛋,这来自于 WebsiteAsteroids

更多

更多内容可以参考: https://nocilol.me/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02 https://github.com/xiazeyu/live2d-widget.js https://github.com/summerscar/live2dDemo

关于后端 API 模型: https://github.com/xiazeyu/live2d-widget-models https://github.com/xiaoski/live2d_models_collection

除此之外,还有桌面版本: https://github.com/amorist/platelet https://github.com/akiroz/Live2D-Widget https://github.com/zenghongtu/PPet https://github.com/LikeNeko/L2dPetForMac

以及 Wallpaper Engine: https://github.com/guansss/nep-live2d

许可证

根据 GNU 通用公共许可证 v3 发布 http://www.gnu.org/licenses/gpl-3.0.html

本仓库并不包含任何模型,用作展示的所有 Live2D 模型、图片、动作数据等版权均属于其原作者,仅供研究学习,不得用于商业用途。

Live2D 官方网站: https://www.live2d.com/en/ https://live2d.github.io

Live2D Cubism Core 是根据 Live2D 专有软件许可协议提供的。 https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html Live2D Cubism Components 是根据 Live2D 开放软件许可协议提供的。 http://www.live2d.com/eula/live2d-open-software-license-agreement_en.html

这些条款确实禁止修改,但在 live2d.min.js 中进行混淆不会被视为非法修改。

https://community.live2d.com/discussion/140/webgl-developer-licence-and-javascript-question

更新日志

2018年10月31日,由 fghrsh 提供的原 API 停用,请更新至新地址。参考文章: https://www.fghrsh.net/post/170.html

2020年1月1日起,本项目不再依赖于 jQuery。

2022年11月1日起,本项目不再需要用户单独加载 Font Awesome。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号