在网页中添加 Live2D 看板娘。兼容 PJAX,支持无刷新加载。
<img src="https://yellow-cdn.veclightyear.com/835a84d5/3e2b1886-596a-46a9-98bd-f12e7adcfbf9.png" width="280"><img src="https://yellow-cdn.veclightyear.com/835a84d5/f7b89683-d9e5-47f8-87a9-76e867739624.png" width="280"><img src="https://yellow-cdn.veclightyear.com/835a84d5/79f42c81-834a-4468-a17d-91a2a0bfba2c.png" width="270">
(注:以上人物模型仅供展示之用,本仓库并不包含任何模型。)
你也可以查看示例网页:
如果你是新手,或者只需要最基础的功能,那么只需将这一行代码加入 html 页面的 head
或 body
中,即可加载看板娘:
<script src="https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script>
添加代码的位置取决于你的网站的构建方式。例如,如果你使用的是 Hexo,那么需要在主题的模板文件中添加以上代码。对于使用各种模板引擎生成的页面,修改方法类似。
如果网站启用了 PJAX,由于看板娘不必每页刷新,需要注意将该脚 本放到 PJAX 刷新区域之外。
但是!我们强烈推荐自己进行配置,让看板娘更加适合你的网站!
如果你有兴趣自己折腾的话,请看下面的详细说明。
你可以对照 autoload.js
的源码查看可选的配置项目。autoload.js
会自动加载三个文件:waifu.css
,live2d.min.js
和 waifu-tips.js
。waifu-tips.js
会创建 initWidget
函数,这就是加载看板娘的主函数。initWidget
函数接收一个 Object 类型的参数,作为看板娘的配置。以下是配置选项:
选项 | 类型 | 默认值 | 说明 |
---|---|---|---|
waifuPath | string | https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/waifu-tips.json | 看板娘资源路径,可自行修改 |
apiPath | string | https://live2d.fghrsh.net/api/ | API 路径,可选参数 |
cdnPath | string | https://fastly.jsdelivr.net/gh/fghrsh/live2d_api/ | CDN 路径,可选参数 |
tools | string[] | 见 autoload.js | 加载的小工具按钮,可选参数 |
其中,apiPath
和 cdnPath
两个参数设置其中一项即可。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 加载,以便在网页中使用。
要自定义有关内容,可以把这个仓库 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
等方式将文件上传到主机的网站的目录下。source
目录)。重新部署博客时,相关文件就会自动上传到对应的路径下。为了避免这些文件被 Hexo 插件错误地修改,可能需要设置 skip_render
。
这样,整个项目就可以通过你的域名访问了。不妨试试能否正常地通过浏览器打开 autoload.js
和 live2d.min.js
等文件,并确认这些文件的内容是完整和正确的。如果一切正常,接下来修改 autoload.js
中的常量 live2d_path
为 live2d-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>
就可以加载了。
<a href="https://www.jsdelivr.com"> <picture> <source media="(prefers-color-scheme: dark)" height="80" srcset="https://raw.githubusercontent.com/jsdelivr/jsdelivr-media/master/white/svg/jsdelivr-logo-horizontal.svg"> <source media="(prefers-color-scheme: light)" height="80" srcset="https://yellow-cdn.veclightyear.com/835a84d5/bb74aa03-3611-4d53-be0c-9ad80257ce49.svg"> <img alt="jsDelivr标志" height="80" src="https://yellow-cdn.veclightyear.com/835a84d5/bb74aa03-3611-4d53-be0c-9ad80257ce49.svg"> </picture> </a>感谢 BrowserStack 允许我们在真实的浏览器中测试此项目。 感谢 BrowserStack 提供让我们能在真实浏览器中进行测试的基础设施!
感谢 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。
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适 用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号